Skip to content

#7 Make test app and installation of headers optional#12

Open
Mr-Question wants to merge 1 commit intomaddouri:masterfrom
Mr-Question:ref7
Open

#7 Make test app and installation of headers optional#12
Mr-Question wants to merge 1 commit intomaddouri:masterfrom
Mr-Question:ref7

Conversation

@Mr-Question
Copy link

Added CMake variables DYNALO_INSTALL_API and DYNALO_BUILD_TEST to
enable/disable usage of test app and installation of auxiliary files.

Added CMake variables DYNALO_INSTALL_API and DYNALO_BUILD_TEST to
enable/disable usage of test app and installation of auxiliary files.
@saxbophone
Copy link

saxbophone commented Oct 7, 2021

set (DYNALO_INSTALL_API OFF CACHE BOOL "Installs headers and CMake helpers")

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().

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants