Add an option for AVX to allow support for a broader range of hardware.
Both AVX2 and AVX512 take precedence over this option.
Signed-off-by: Avery King <gperson@disroot.org>
The notable exception will be 32-bit Windows builds with MSVC, because
(for some reason) it's not documented. (It may work but I'm not testing
that right now).
Signed-off-by: Avery King <gperson@disroot.org>
- Don't check for obsolete MMX and SSE instructions
- Properly add the correct SSE flag to all targets' compile options.
Signed-off-by: Avery King <gperson@disroot.org>
For some reason, libraries were previously built to this folder and then
copied over. I feel it's more beneficial if we get rid of this folder to
help clean up the build directory of unnecessary folders.
Signed-off-by: Avery King <gperson@disroot.org>
CMAKE_RUNTIME_OUTPUT_DIRECTORY is now in a subfolder named after the
current build configuration in the build folder (e.g.,
'/path/to/build/Debug/' if the current build config is Debug). This also
fixes Ninja on Windows.
Signed-off-by: Avery King <gperson@disroot.org>
config.h is now used on all platforms rather than three separate
configwin.h, configmac.h, and configunix.h
Signed-off-by: Avery King <gperson@disroot.org>
Correct all indentation in CMakeLists.txt and src/CMakeLists.txt to use
4 spaces. This is our preferred style for new contributions.
This also fixes some indentation inconsistencies, making these files
easier to work with.
Signed-off-by: Avery King <gperson@disroot.org>
This commit gets the following features to build:
- MP2 export support
- MP3 support
- Opus support
- WavPack support
- VST 2 support
VST 3 support is disabled for now until I can figure out the VST 3 SDK
situation.
Various new CMake find modules were added, predominantly from Mixxx (as
expected) but also from libsndfile too.
LAME loading remnants were also removed. We always build Tenacity
against LAME. I could've also removed PortMixer code in this commit but
chose not to because I want to save it for a later commit.
Signed-off-by: Avery King <avery98@pm.me>
Some of our basic changes remained, but a lot of work still needs to be
done. At least it builds though!
I have a few notes off the top of my head writing this:
- Our build system was kept and modified to work with the new codebase.
Similarly, the codebase was modified to work with our build system.
- We don't support Audacity's full wxBase restrictions, so I just
replaced it with wxWidgets::wxWidgets for now. (See above).
- There are still networking features, which are to be removed in the
next commit.
- pffft was added as a library in lib-src, and I wrote a new
CMakeLists.txt for it.
- I modified WrapAllegro.h to use our allegro.h shim instead.
Signed-off-by: Avery King <avery98@pm.me>
* Replace -DPACKAGE_MANUAL with -DMANUAL_PATH to allow packagers and
other builders to specify any path they want for the manual.
* Fix general manual packaging.
Signed-off-by: Avery King <avery98@pm.me>
TENACITY_MODLEVEL is the 4th version number in our version. However, we
don't intend to use anything beyond 3 digits in our version numbers, so
remove this version number and replace any use of it with 0.
Signed-off-by: Avery King <avery98@pm.me>
wxAdvanced is now an empty library in CMake and only exists for backwards compatibility. It should be safe to remove it without impact.
Signed-off-by: generic-pers0n <avery98@pm.me>
Nuget was used to get Python and gettext if they weren't found at build
time on Windows. However, these dependencies should be installed
manually by builders wherever possible. If gettext is not found, our own
msgfmt.py script will be used instead.
Signed-off-by: Avery King <avery98@pm.me>
CMAKE_OSX_ARCHITECTURES is meant for the user to set, not the project.
Therefore, do not set it.
Co-authored-by: Ryan Carsten Schmidt
Signed-off-by: Avery King <avery98@pm.me>
Builds may be slightly faster now that CMake no longer has to check for unused
headers.
There's probably more that should've been removed since we don't use their
result in any way, but I've kept them for now since there are mentions of these
headers throughout the code.
Signed-off-by: Avery King <avery98@pm.me>
Alternative was to increase cmake required version to 3.22. It could be successful, but that is a larger change that I wanted to avoid with no understanding.
Even with this method, the specific error message disappeared, and still found the FLAC* libraries. So why did it trigger before for this specific statement? Because of the plus signs?
Just making the minimal changes.
- Add a new FindJsonCpp CMake module that helps us find JsonCpp for us.
- Correct CMake target names.
- Fix incorect header paths in lib-theme.
Signed-off-by: Avery King <avery98@pm.me>
- Add a new library responsible for opening theme packages. This library
is still very much a work in progress as of now.
- Add jsoncpp and libzip as dependencies.
- Add a new option to load theme packages in Preferences > Theme. On
success, this shows a dialog box explaining everythinhg succeeded.
Signed-off-by: Avery King <avery98@pm.me>
If CMAKE_APPLE_SILICON_PROCESSOR is set to 'arm64', use the
arm64-osx-dynamic triplet. Otherwise, use the x64-osx-dynamic triplet.
Signed-off-by: Avery King <avery98@pm.me>
- Switch from x64-osx-10.12min to x64-osx-dynamic on Intel macOS
- Specify arm64-osx-dynamic triplet for macOS ARM
Signed-off-by: Avery King <avery98@pm.me>