mirror of
https://github.com/mhx/dwarfs.git
synced 2025-09-15 15:26:19 -04:00
Add PREFER_SYSTEM_GTEST cmake option (fixes github #42)
This commit is contained in:
parent
4f8c470c59
commit
eb1fd9ecd7
@ -33,6 +33,7 @@ option(ENABLE_COVERAGE "enable code coverage" OFF)
|
|||||||
option(USE_JEMALLOC "build with jemalloc" ON)
|
option(USE_JEMALLOC "build with jemalloc" ON)
|
||||||
option(PREFER_SYSTEM_ZSTD "use system zstd if available" OFF)
|
option(PREFER_SYSTEM_ZSTD "use system zstd if available" OFF)
|
||||||
option(PREFER_SYSTEM_XXHASH "use system xxHash if available" OFF)
|
option(PREFER_SYSTEM_XXHASH "use system xxHash if available" OFF)
|
||||||
|
option(PREFER_SYSTEM_GTEST "use system gtest if available" OFF)
|
||||||
option(STATIC_BUILD_DO_NOT_USE "try static build (experimental)" OFF)
|
option(STATIC_BUILD_DO_NOT_USE "try static build (experimental)" OFF)
|
||||||
|
|
||||||
set(default_build_type "Release")
|
set(default_build_type "Release")
|
||||||
@ -155,6 +156,7 @@ set(ZSTD_LIBRARY_DEBUG
|
|||||||
CACHE FILEPATH "don't build folly with zstd" FORCE)
|
CACHE FILEPATH "don't build folly with zstd" FORCE)
|
||||||
|
|
||||||
if(WITH_TESTS)
|
if(WITH_TESTS)
|
||||||
|
if(NOT PREFER_SYSTEM_GTEST)
|
||||||
# Download and unpack googletest at configure time
|
# Download and unpack googletest at configure time
|
||||||
configure_file(CMakeLists.txt.gtest googletest-download/CMakeLists.txt)
|
configure_file(CMakeLists.txt.gtest googletest-download/CMakeLists.txt)
|
||||||
execute_process(
|
execute_process(
|
||||||
@ -172,16 +174,18 @@ if(WITH_TESTS)
|
|||||||
message(FATAL_ERROR "Build step for googletest failed: ${result}")
|
message(FATAL_ERROR "Build step for googletest failed: ${result}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Prevent overriding the parent project's compiler/linker settings on Windows
|
# Prevent overriding the parent project's compiler/linker settings on
|
||||||
|
# Windows
|
||||||
set(gtest_force_shared_crt
|
set(gtest_force_shared_crt
|
||||||
ON
|
ON
|
||||||
CACHE BOOL "" FORCE)
|
CACHE BOOL "" FORCE)
|
||||||
|
|
||||||
# Add googletest directly to our build. This defines the gtest and gtest_main
|
# Add googletest directly to our build. This defines the gtest and
|
||||||
# targets.
|
# gtest_main targets.
|
||||||
add_subdirectory(
|
add_subdirectory(
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/googletest-src
|
${CMAKE_CURRENT_BINARY_DIR}/googletest-src
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/googletest-build EXCLUDE_FROM_ALL)
|
${CMAKE_CURRENT_BINARY_DIR}/googletest-build EXCLUDE_FROM_ALL)
|
||||||
|
endif()
|
||||||
|
|
||||||
enable_testing()
|
enable_testing()
|
||||||
include(GoogleTest)
|
include(GoogleTest)
|
||||||
@ -303,9 +307,9 @@ if(WITH_TESTS)
|
|||||||
add_executable(dwarfs_compat_test test/dwarfs_compat.cpp)
|
add_executable(dwarfs_compat_test test/dwarfs_compat.cpp)
|
||||||
add_executable(dwarfs_badfs_test test/dwarfs_badfs.cpp)
|
add_executable(dwarfs_badfs_test test/dwarfs_badfs.cpp)
|
||||||
|
|
||||||
target_link_libraries(dwarfs_test test_helpers gtest_main)
|
target_link_libraries(dwarfs_test test_helpers gtest gtest_main)
|
||||||
target_link_libraries(dwarfs_compat_test gtest_main)
|
target_link_libraries(dwarfs_compat_test gtest gtest_main)
|
||||||
target_link_libraries(dwarfs_badfs_test gtest_main)
|
target_link_libraries(dwarfs_badfs_test gtest gtest_main)
|
||||||
|
|
||||||
list(APPEND BINARY_TARGETS dwarfs_test dwarfs_compat_test dwarfs_badfs_test)
|
list(APPEND BINARY_TARGETS dwarfs_test dwarfs_compat_test dwarfs_badfs_test)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user