cmake: allow to disable building unit tests
This commit introduces a CMake `BUILD_TESTING` boolean option that allows to disable unit tests. This is especially useful in superbuilds where typically only the main library is built. By default, this option is enabled.
This commit is contained in:
parent
7cff62028c
commit
60375e0bd4
@ -31,8 +31,6 @@ option (WITH_THREADS "Enable multithreading support" ON)
|
|||||||
|
|
||||||
list (APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
|
list (APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
|
||||||
|
|
||||||
include (CMakePackageConfigHelpers)
|
|
||||||
include (CPack)
|
|
||||||
include (CheckCSourceCompiles)
|
include (CheckCSourceCompiles)
|
||||||
include (CheckCXXCompilerFlag)
|
include (CheckCXXCompilerFlag)
|
||||||
include (CheckCXXSourceCompiles)
|
include (CheckCXXSourceCompiles)
|
||||||
@ -43,6 +41,9 @@ include (CheckLibraryExists)
|
|||||||
include (CheckStructHasMember)
|
include (CheckStructHasMember)
|
||||||
include (CheckSymbolExists)
|
include (CheckSymbolExists)
|
||||||
include (CheckTypeSize)
|
include (CheckTypeSize)
|
||||||
|
include (CMakePackageConfigHelpers)
|
||||||
|
include (CPack)
|
||||||
|
include (CTest)
|
||||||
include (DetermineGflagsNamespace)
|
include (DetermineGflagsNamespace)
|
||||||
|
|
||||||
set (CMAKE_THREAD_PREFER_PTHREAD 1)
|
set (CMAKE_THREAD_PREFER_PTHREAD 1)
|
||||||
@ -460,95 +461,97 @@ endif (UNIX OR (APPLE AND HAVE_DLADDR))
|
|||||||
|
|
||||||
# Unit testing
|
# Unit testing
|
||||||
|
|
||||||
add_executable (logging_unittest
|
if (BUILD_TESTING)
|
||||||
|
add_executable (logging_unittest
|
||||||
src/logging_unittest.cc
|
src/logging_unittest.cc
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries (logging_unittest PRIVATE glog)
|
target_link_libraries (logging_unittest PRIVATE glog)
|
||||||
|
|
||||||
add_executable (stl_logging_unittest
|
add_executable (stl_logging_unittest
|
||||||
src/stl_logging_unittest.cc
|
src/stl_logging_unittest.cc
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries (stl_logging_unittest PRIVATE glog)
|
target_link_libraries (stl_logging_unittest PRIVATE glog)
|
||||||
|
|
||||||
if (HAVE_NO_DEPRECATED)
|
if (HAVE_NO_DEPRECATED)
|
||||||
set_property (TARGET stl_logging_unittest APPEND PROPERTY COMPILE_OPTIONS
|
set_property (TARGET stl_logging_unittest APPEND PROPERTY COMPILE_OPTIONS
|
||||||
-Wno-deprecated)
|
-Wno-deprecated)
|
||||||
endif (HAVE_NO_DEPRECATED)
|
endif (HAVE_NO_DEPRECATED)
|
||||||
|
|
||||||
if (HAVE_UNORDERED_MAP AND HAVE_UNORDERED_SET)
|
if (HAVE_UNORDERED_MAP AND HAVE_UNORDERED_SET)
|
||||||
target_compile_definitions (stl_logging_unittest PRIVATE
|
target_compile_definitions (stl_logging_unittest PRIVATE
|
||||||
GLOG_STL_LOGGING_FOR_UNORDERED)
|
GLOG_STL_LOGGING_FOR_UNORDERED)
|
||||||
endif (HAVE_UNORDERED_MAP AND HAVE_UNORDERED_SET)
|
endif (HAVE_UNORDERED_MAP AND HAVE_UNORDERED_SET)
|
||||||
|
|
||||||
if (HAVE_TR1_UNORDERED_MAP AND HAVE_TR1_UNORDERED_SET)
|
if (HAVE_TR1_UNORDERED_MAP AND HAVE_TR1_UNORDERED_SET)
|
||||||
target_compile_definitions (stl_logging_unittest PRIVATE
|
target_compile_definitions (stl_logging_unittest PRIVATE
|
||||||
GLOG_STL_LOGGING_FOR_TR1_UNORDERED)
|
GLOG_STL_LOGGING_FOR_TR1_UNORDERED)
|
||||||
endif (HAVE_TR1_UNORDERED_MAP AND HAVE_TR1_UNORDERED_SET)
|
endif (HAVE_TR1_UNORDERED_MAP AND HAVE_TR1_UNORDERED_SET)
|
||||||
|
|
||||||
if (HAVE_EXT_HASH_MAP AND HAVE_EXT_HASH_SET)
|
if (HAVE_EXT_HASH_MAP AND HAVE_EXT_HASH_SET)
|
||||||
target_compile_definitions (stl_logging_unittest PRIVATE
|
target_compile_definitions (stl_logging_unittest PRIVATE
|
||||||
GLOG_STL_LOGGING_FOR_EXT_HASH)
|
GLOG_STL_LOGGING_FOR_EXT_HASH)
|
||||||
endif (HAVE_EXT_HASH_MAP AND HAVE_EXT_HASH_SET)
|
endif (HAVE_EXT_HASH_MAP AND HAVE_EXT_HASH_SET)
|
||||||
|
|
||||||
if (HAVE_EXT_SLIST)
|
if (HAVE_EXT_SLIST)
|
||||||
target_compile_definitions (stl_logging_unittest PRIVATE
|
target_compile_definitions (stl_logging_unittest PRIVATE
|
||||||
GLOG_STL_LOGGING_FOR_EXT_SLIST)
|
GLOG_STL_LOGGING_FOR_EXT_SLIST)
|
||||||
endif (HAVE_EXT_SLIST)
|
endif (HAVE_EXT_SLIST)
|
||||||
|
|
||||||
if (HAVE_SYMBOLIZE)
|
if (HAVE_SYMBOLIZE)
|
||||||
add_executable (symbolize_unittest
|
add_executable (symbolize_unittest
|
||||||
src/symbolize_unittest.cc
|
src/symbolize_unittest.cc
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries (symbolize_unittest PRIVATE glog)
|
target_link_libraries (symbolize_unittest PRIVATE glog)
|
||||||
endif (HAVE_SYMBOLIZE)
|
endif (HAVE_SYMBOLIZE)
|
||||||
|
|
||||||
add_executable (demangle_unittest
|
add_executable (demangle_unittest
|
||||||
src/demangle_unittest.cc
|
src/demangle_unittest.cc
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries (demangle_unittest PRIVATE glog)
|
target_link_libraries (demangle_unittest PRIVATE glog)
|
||||||
|
|
||||||
if (HAVE_STACKTRACE)
|
if (HAVE_STACKTRACE)
|
||||||
add_executable (stacktrace_unittest
|
add_executable (stacktrace_unittest
|
||||||
src/stacktrace_unittest.cc
|
src/stacktrace_unittest.cc
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries (stacktrace_unittest PRIVATE glog)
|
target_link_libraries (stacktrace_unittest PRIVATE glog)
|
||||||
endif (HAVE_STACKTRACE)
|
endif (HAVE_STACKTRACE)
|
||||||
|
|
||||||
add_executable (utilities_unittest
|
add_executable (utilities_unittest
|
||||||
src/utilities_unittest.cc
|
src/utilities_unittest.cc
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries (utilities_unittest PRIVATE glog)
|
target_link_libraries (utilities_unittest PRIVATE glog)
|
||||||
|
|
||||||
if (HAVE_STACKTRACE AND HAVE_SYMBOLIZE)
|
if (HAVE_STACKTRACE AND HAVE_SYMBOLIZE)
|
||||||
add_executable (signalhandler_unittest
|
add_executable (signalhandler_unittest
|
||||||
src/signalhandler_unittest.cc
|
src/signalhandler_unittest.cc
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries (signalhandler_unittest PRIVATE glog)
|
target_link_libraries (signalhandler_unittest PRIVATE glog)
|
||||||
endif (HAVE_STACKTRACE AND HAVE_SYMBOLIZE)
|
endif (HAVE_STACKTRACE AND HAVE_SYMBOLIZE)
|
||||||
|
|
||||||
add_test (NAME demangle COMMAND demangle_unittest)
|
add_test (NAME demangle COMMAND demangle_unittest)
|
||||||
add_test (NAME logging COMMAND logging_unittest)
|
add_test (NAME logging COMMAND logging_unittest)
|
||||||
|
|
||||||
if (TARGET signalhandler_unittest)
|
if (TARGET signalhandler_unittest)
|
||||||
add_test (NAME signalhandler COMMAND signalhandler_unittest)
|
add_test (NAME signalhandler COMMAND signalhandler_unittest)
|
||||||
endif (TARGET signalhandler_unittest)
|
endif (TARGET signalhandler_unittest)
|
||||||
|
|
||||||
if (TARGET stacktrace_unittest)
|
if (TARGET stacktrace_unittest)
|
||||||
add_test (NAME stacktrace COMMAND stacktrace_unittest)
|
add_test (NAME stacktrace COMMAND stacktrace_unittest)
|
||||||
endif (TARGET stacktrace_unittest)
|
endif (TARGET stacktrace_unittest)
|
||||||
|
|
||||||
add_test (NAME stl_logging COMMAND stl_logging_unittest)
|
add_test (NAME stl_logging COMMAND stl_logging_unittest)
|
||||||
|
|
||||||
if (TARGET symbolize_unittest)
|
if (TARGET symbolize_unittest)
|
||||||
add_test (NAME symbolize COMMAND symbolize_unittest)
|
add_test (NAME symbolize COMMAND symbolize_unittest)
|
||||||
endif (TARGET symbolize_unittest)
|
endif (TARGET symbolize_unittest)
|
||||||
|
endif (BUILD_TESTING)
|
||||||
|
|
||||||
install (TARGETS glog
|
install (TARGETS glog
|
||||||
EXPORT glog-targets
|
EXPORT glog-targets
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user