Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

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