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.
The default is to use the system one if found. If the
WXWIN environment variable is set and points to a valid
wxWidgets tree, that will be used. Otherwise, it will
search the platform specific locations.
You can use a local library instead with:
cmake -Duse_system_wxwigets=no ...
In this case it will look for the WXWIN environment variable
and use that or it will download the Audacity specific wxWidgets
source. In both cases, wxWidgets will be built as part of the
Audacity project.