Don't overwrite CMake configuration types if yyjson is used as a dependency #142
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.
Hi!
I've noticed that the CMake script overwrites the value of
CMAKE_CONFIGURATION_TYPES
for multi-config CMake generators. That effectively locks the configuration list to Debug and Release for CMake projects that addyyjson
as a dependency withadd_subdirectory
(either directly, withFetchContent
or by any other means). In my case I would like to keep the default value ofCMAKE_CONFIGURATION_TYPES
which has more configurationsThe fix is to avoid changing
CMAKE_BUILD_TYPE
orCMAKE_CONFIGURATION_TYPES
if yyjson is not the root CMake project. As far as I can see those variables are meant to be set only when building the library itself (but let me know if that's not correct)Tested by generating and compiling
yyjson
with Visual Studio on Windows, both Debug and Release (Visual Studio 2022, CMake 3.25.1)Let me know if you have another solution in mind