dynalo
dynalo copied to clipboard
#7 Make test app and installation of headers optional
Added CMake variables DYNALO_INSTALL_API and DYNALO_BUILD_TEST to enable/disable usage of test app and installation of auxiliary files.
https://github.com/maddouri/dynalo/blob/27859bc37cb06ac67b7b8c4508f9efe05d72bc59/CMakeLists.txt#L21
An alternative approach I have seen used elsewhere is to test if this project is being included as a sub-project and enabling/disabling install based on this. Something like:
if(NOT DEFINED PROJECT_NAME)
set(MY_PROJECT_IS_A_SUBPROJECT OFF)
else()
set(MY_PROJECT_IS_A_SUBPROJECT ON)
endif()
project(my-project VERSION 0.0.0 LANGUAGES CXX)
if (NOT MY_PROJECT_IS_A_SUBPROJECT)
install(...)
endif()
I think this is more convenient as it doesn't require explicitly enabling installation when you want it, which looks like what someone would have to do with the changes you've proposed.
Another way you can avoid installing your dependencies when you use them as a subproject is to use CMake's EXCLUDE_FROM_ALL
property when using add_subdirectory()
.