From b5a9abe8eb0ebafd1969745d4cb5b7713df6cd50 Mon Sep 17 00:00:00 2001 From: lcdtyph Date: Fri, 23 Aug 2019 16:53:25 +0800 Subject: [PATCH] Disable tests if cxxopts is used via add_subdirectory --- CMakeLists.txt | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1b524f7..6492ef5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -34,9 +34,17 @@ project(cxxopts VERSION "${VERSION}" LANGUAGES CXX) enable_testing() -option(CXXOPTS_BUILD_EXAMPLES "Set to ON to build examples" ON) -option(CXXOPTS_BUILD_TESTS "Set to ON to build tests" ON) -option(CXXOPTS_ENABLE_INSTALL "Generate the install target" ON) +if (NOT DEFINED CXXOPTS_MASTER_PROJECT) + if (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR) + set(CXXOPTS_MASTER_PROJECT ON) + else() + set(CXXOPTS_MASTER_PROJECT OFF) + endif() +endif() + +option(CXXOPTS_BUILD_EXAMPLES "Set to ON to build examples" ${CXXOPTS_MASTER_PROJECT}) +option(CXXOPTS_BUILD_TESTS "Set to ON to build tests" ${CXXOPTS_MASTER_PROJECT}) +option(CXXOPTS_ENABLE_INSTALL "Generate the install target" ${CXXOPTS_MASTER_PROJECT}) # request c++11 without gnu extension for the whole project and enable more warnings if (CXXOPTS_CXX_STANDARD)