Merge pull request #934 from dpacbach/ctest-fix

CMake: include(CTest) only when building tests.
This commit is contained in:
Gabi Melman 2018-12-02 13:49:50 +02:00 committed by GitHub
commit 2d50202b2d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 1 deletions

View File

@ -104,6 +104,7 @@ script:
-DCMAKE_CXX_STANDARD=$CPP \ -DCMAKE_CXX_STANDARD=$CPP \
-DSPDLOG_BUILD_EXAMPLES=ON \ -DSPDLOG_BUILD_EXAMPLES=ON \
-DSPDLOG_BUILD_BENCH=OFF \ -DSPDLOG_BUILD_BENCH=OFF \
-DBUILD_TESTING=ON \
-DSPDLOG_SANITIZE_ADDRESS=$ASAN \ -DSPDLOG_SANITIZE_ADDRESS=$ASAN \
-DSPDLOG_SANITIZE_THREAD=$TSAN -DSPDLOG_SANITIZE_THREAD=$TSAN
- make VERBOSE=1 -j2 - make VERBOSE=1 -j2

View File

@ -5,7 +5,6 @@
cmake_minimum_required(VERSION 3.1) cmake_minimum_required(VERSION 3.1)
project(spdlog VERSION 1.3.0 LANGUAGES CXX) project(spdlog VERSION 1.3.0 LANGUAGES CXX)
include(CTest)
include(CMakeDependentOption) include(CMakeDependentOption)
include(GNUInstallDirs) include(GNUInstallDirs)
@ -54,10 +53,22 @@ endif()
option(SPDLOG_BUILD_EXAMPLES "Build examples" ${SPDLOG_MASTER_PROJECT}) option(SPDLOG_BUILD_EXAMPLES "Build examples" ${SPDLOG_MASTER_PROJECT})
option(SPDLOG_BUILD_BENCH "Build benchmarks" ${SPDLOG_MASTER_PROJECT}) option(SPDLOG_BUILD_BENCH "Build benchmarks" ${SPDLOG_MASTER_PROJECT})
# Logic for enabling tests: If the user does not explicitly
# specify the value of the SPDLOG_BUILD_TESTING variable then the
# logic is simpler to reason about: that is, testing will be
# built if and only if BUILD_TESTING is ON and we are a Master
# Project. On the other hand, if the user overrides the value of
# SPDLOG_BUILD_TESTING then it can get a bit more tricky due to
# caching.
cmake_dependent_option(SPDLOG_BUILD_TESTING cmake_dependent_option(SPDLOG_BUILD_TESTING
"Build spdlog tests" ${SPDLOG_MASTER_PROJECT} "Build spdlog tests" ${SPDLOG_MASTER_PROJECT}
"BUILD_TESTING" OFF "BUILD_TESTING" OFF
) )
if(SPDLOG_BUILD_TESTING)
# Include CTest conditionally since it will enable BUILD_TESTING.
include(CTest)
endif()
target_include_directories( target_include_directories(
spdlog spdlog