From c95d790547b7b8f34306a3b814ad4445fcc93e2c Mon Sep 17 00:00:00 2001 From: Andrei Ovsiankin Date: Fri, 20 Apr 2018 15:00:34 +0300 Subject: [PATCH] Added cmake option for disabling tests (#51) * Added cmake option for disabling tests * Renamed cmake option for tests * comment fixed * Misprint --- CMakeLists.txt | 45 ++++++++++++++++++++++++--------------------- 1 file changed, 24 insertions(+), 21 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 00dd80f..d79fe77 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -25,6 +25,7 @@ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib) # Build output checks option(CPPKAFKA_BUILD_SHARED "Build cppkafka as a shared library." ON) +option(CPPKAFKA_DISABLE_TESTS "Disable build of cppkafka tests." OFF) if(CPPKAFKA_BUILD_SHARED) message(STATUS "Build will generate a shared library. " "Use CPPKAFKA_BUILD_SHARED=0 to perform a static build") @@ -60,30 +61,32 @@ if(DOXYGEN_FOUND) ) endif(DOXYGEN_FOUND) -set(GOOGLETEST_ROOT ${CMAKE_SOURCE_DIR}/third_party/googletest) -if(EXISTS "${GOOGLETEST_ROOT}/CMakeLists.txt") - set(GOOGLETEST_INCLUDE ${GOOGLETEST_ROOT}/googletest/include) - set(GOOGLETEST_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/googletest) - set(GOOGLETEST_LIBRARY ${GOOGLETEST_BINARY_DIR}/googletest) +if(NOT CPPKAFKA_DISABLE_TESTS) + set(GOOGLETEST_ROOT ${CMAKE_SOURCE_DIR}/third_party/googletest) + if(EXISTS "${GOOGLETEST_ROOT}/CMakeLists.txt") + set(GOOGLETEST_INCLUDE ${GOOGLETEST_ROOT}/googletest/include) + set(GOOGLETEST_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/googletest) + set(GOOGLETEST_LIBRARY ${GOOGLETEST_BINARY_DIR}/googletest) - include(ExternalProject) + include(ExternalProject) - ExternalProject_Add( - googletest - DOWNLOAD_COMMAND "" - SOURCE_DIR ${GOOGLETEST_ROOT} - BINARY_DIR ${GOOGLETEST_BINARY_DIR} - CMAKE_CACHE_ARGS "-DBUILD_GTEST:bool=ON" "-DBUILD_GMOCK:bool=OFF" - "-Dgtest_force_shared_crt:bool=ON" - INSTALL_COMMAND "" - ) + ExternalProject_Add( + googletest + DOWNLOAD_COMMAND "" + SOURCE_DIR ${GOOGLETEST_ROOT} + BINARY_DIR ${GOOGLETEST_BINARY_DIR} + CMAKE_CACHE_ARGS "-DBUILD_GTEST:bool=ON" "-DBUILD_GMOCK:bool=OFF" + "-Dgtest_force_shared_crt:bool=ON" + INSTALL_COMMAND "" + ) - enable_testing() - add_subdirectory(tests) - # Make sure we build googletest before anything else - add_dependencies(cppkafka googletest) -else() - message(STATUS "Disabling tests") + enable_testing() + add_subdirectory(tests) + # Make sure we build googletest before anything else + add_dependencies(cppkafka googletest) + else() + message(STATUS "Disabling tests because submodule googletest isn't pulled out") + endif() endif() if(NOT TARGET uninstall)