mirror of
https://github.com/cookiengineer/audacity
synced 2025-04-30 15:49:41 +02:00
... It will be used as a target link library of some lower level Audacity libraries, to be separated from the executable. These libraries will have link time dependency only on the wxBase subset of non-monolithic wxWidgets builds. More, they are restricted to use only a proper subset of wxBase functionality: they are prevented, at compile time, not only from using any graphical user interface, but also from using the main event loop or global application object -- though these things are also in wxBase. They may still use things like strings, files, threads, atomics, and other utilities that may have modern C++ standard library equivalents. It would be preferable to use those, but it is not a priority to make those rewrites.
CMake requires that its CMakeList.txt files follow the directory structure of the projects. However, for Audacity this would cause collision with existing CMakeList.txt files that e.g. expat and libsoxr already provide. Our solution is to have this proxy directory for lib-src to hold our version of the CMakeList.txt files. We did try bundling several libraries under one CMakeList.txt without using subdirectories. However, we were then fighting CMake too much - and did not have a clean separation of information between sub projects.