cmake: optionally use gtest
This commit is contained in:
parent
45fdc922de
commit
be25d94c21
@ -21,6 +21,7 @@ option (BUILD_SHARED_LIBS "Build shared libraries" OFF)
|
|||||||
option (PRINT_UNSYMBOLIZED_STACK_TRACES
|
option (PRINT_UNSYMBOLIZED_STACK_TRACES
|
||||||
"Print file offsets in traces instead of symbolizing" OFF)
|
"Print file offsets in traces instead of symbolizing" OFF)
|
||||||
option (WITH_GFLAGS "Use gflags" ON)
|
option (WITH_GFLAGS "Use gflags" ON)
|
||||||
|
option (WITH_GTEST "Use googletest" ON)
|
||||||
option (WITH_PKGCONFIG "Enable pkg-config support" ON)
|
option (WITH_PKGCONFIG "Enable pkg-config support" ON)
|
||||||
option (WITH_SYMBOLIZE "Enable symbolize module" ON)
|
option (WITH_SYMBOLIZE "Enable symbolize module" ON)
|
||||||
option (WITH_THREADS "Enable multithreading support" ON)
|
option (WITH_THREADS "Enable multithreading support" ON)
|
||||||
@ -31,6 +32,10 @@ if (NOT WITH_UNWIND)
|
|||||||
set (CMAKE_DISABLE_FIND_PACKAGE_Unwind ON)
|
set (CMAKE_DISABLE_FIND_PACKAGE_Unwind ON)
|
||||||
endif (NOT WITH_UNWIND)
|
endif (NOT WITH_UNWIND)
|
||||||
|
|
||||||
|
if (NOT WITH_GTEST)
|
||||||
|
set (CMAKE_DISABLE_FIND_PACKAGE_GTest ON)
|
||||||
|
endif (NOT WITH_GTEST)
|
||||||
|
|
||||||
if (NOT WITH_THREADS)
|
if (NOT WITH_THREADS)
|
||||||
set (CMAKE_DISABLE_FIND_PACKAGE_Threads ON)
|
set (CMAKE_DISABLE_FIND_PACKAGE_Threads ON)
|
||||||
endif (NOT WITH_THREADS)
|
endif (NOT WITH_THREADS)
|
||||||
@ -63,6 +68,12 @@ include (GNUInstallDirs)
|
|||||||
set (CMAKE_DEBUG_POSTFIX d)
|
set (CMAKE_DEBUG_POSTFIX d)
|
||||||
set (CMAKE_THREAD_PREFER_PTHREAD 1)
|
set (CMAKE_THREAD_PREFER_PTHREAD 1)
|
||||||
|
|
||||||
|
find_package (GTest)
|
||||||
|
|
||||||
|
if (GTest_FOUND)
|
||||||
|
set (HAVE_LIB_GTEST 1)
|
||||||
|
endif (GTest_FOUND)
|
||||||
|
|
||||||
if (WITH_GFLAGS)
|
if (WITH_GFLAGS)
|
||||||
find_package (gflags 2.2.0)
|
find_package (gflags 2.2.0)
|
||||||
|
|
||||||
@ -615,17 +626,23 @@ set_target_properties (glog PROPERTIES DEFINE_SYMBOL GOOGLE_GLOG_IS_A_DLL)
|
|||||||
# Unit testing
|
# Unit testing
|
||||||
|
|
||||||
if (BUILD_TESTING)
|
if (BUILD_TESTING)
|
||||||
|
set (_GLOG_TEST_LIBS glog::glog)
|
||||||
|
|
||||||
|
if (HAVE_LIB_GTEST)
|
||||||
|
list (APPEND _GLOG_TEST_LIBS GTest::GTest)
|
||||||
|
endif (HAVE_LIB_GTEST)
|
||||||
|
|
||||||
add_executable (logging_unittest
|
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_TEST_LIBS})
|
||||||
|
|
||||||
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_TEST_LIBS})
|
||||||
|
|
||||||
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
|
||||||
@ -657,35 +674,35 @@ if (BUILD_TESTING)
|
|||||||
src/symbolize_unittest.cc
|
src/symbolize_unittest.cc
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries (symbolize_unittest PRIVATE glog)
|
target_link_libraries (symbolize_unittest PRIVATE ${_GLOG_TEST_LIBS})
|
||||||
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_TEST_LIBS})
|
||||||
|
|
||||||
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_TEST_LIBS})
|
||||||
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_TEST_LIBS})
|
||||||
|
|
||||||
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_TEST_LIBS})
|
||||||
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)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user