Update CMakeLists.txt to allow static libraries to be built #2252
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR primarily updates the CMakeLists.txt files to support building of static libraries as well as shared. This is needed for targets such as Emscripten, but could be used on others too. Linux/Windows builds will still build shared libraries. There are a few more complicated files that aren't included in this patch, that will be included in a later patch.
A global property named STATIC_PLUGINS_PROPERTY is used to keep a list of all plugins.
For Qt6, qt_add_plugin is used instead of add_library. This requires PRIVATE to be added to target_link_libraries.
Also adds BUILD_BENCH, BUILD_SHARED_LIBS, ENABLE_AARONIARTSA and ENABLE_METIS options.