... or, what I saw in my Mac builds: there wasn't a hang, but there was
incorrect behavior on alternate attempts to export presets. Sometimes, instead
of (correctly) giving a file overwrite warning, there was instead a message
box about failure to open a non-existent file path, which had the last path
component duplicated.
...bug began at 52ff705b0dff568512b6c6016936b78311c56a69
Fixing this in a way that does not make a dependency cycle between ProjectWindow
and TrackPanel
This corrects linking of the wxWidgets libraries when there's multiple
copies and the desired one is later in the search path. This can affect
any non-Windows system that doesn't have it's wxWidgets in "standard"
libraries (like our wxWidgets builds on the Mac).
The wrong wxWidgets libraries can be picked up by the linker if other
"-L" arguments appear before the wxWidgets specific on. This can happen
if you have something like Homebrew installed and CMake finds one of the
libraries (like libogg) installed. It will put a "-L/usr/local/lib" in
the linker arguments before the "-L/usr/local/x86_64" wxWidgets flag,
and if there happens to be wxWidgets libs in /usr/local/lib, the linker
will pull the wxWidgets libs from /usr/local/lib...not what was wanted.
Adding "apt-get update" to hopefully fix the Linux build. I thought
Github would "fix" the image, but it doesn't hurt to have the update
in there anyway.
And fix the Mac Info.plist version.
Forgot to actually exclude mod-null and mod-nyq-bench from the
build.
Fixed a few typos.
And removed "zip" from the package install on Ubuntu since it's
not needed anymore.
Restore the wxDEBUG_LEVEL defines for the module builds. It is
currently required (see explanation in CMakeLists.txt)
Add explanantion of why wxWidgets_USE_REL_AND_DBG=NO is needed
for the Github Windows build.
Further restrict the disabling dynamic loading for Windows and Mac
of the Lame and FFmpeg libs. Some corrections need to be made in
ExportMP3.cpp (and probably some for FFmpeg as well).
And don't build mod-nyq-bench or mod-null by default until they
can be fixed. (They fail to build.)
Visual Studio NuGet package handling was redone to correct a
chicken and egg situation. (See the nuget_package() function
in audacity/CMakeLists.txt.
Due to the change in NuGet handling, was finally able to make
the Audacity target dependent on several other targets. This
ensures the destination directory is populated correctly.
Library handling for system packages reworked to ensure the
correct libraries are used and to "workaround" an issue where
the libraries weren't being included in the link command...no
idea why. New way is better anyway.
Don't allow a system library for SBSMS since it seems we have
a unique (Audacity-only???) version.
Don't define wxDEBUG_LEVEL. It's not needed and causes duplicate
symbol warnings.
A couple of small changes to config files to remove libmad and
libsndfile warnings.
Do not include serdi.c and sordi.c in the LV2 build.
Fix handling of static Lame and linked FFmpeg libs.
Use cmake file() instead of gcc/awk to extract version information
from Audacity.h for the Mac Info.plist.
Use "cmake -E tar" to zip artifacts in github action.