mirror of
https://github.com/mhx/dwarfs.git
synced 2025-09-15 15:26:19 -04:00
Use FetchContent to build googletest
This commit is contained in:
parent
711b0f2e8d
commit
77f390694f
@ -331,34 +331,14 @@ set(ZSTD_LIBRARY_DEBUG
|
|||||||
|
|
||||||
if(WITH_TESTS)
|
if(WITH_TESTS)
|
||||||
if(NOT PREFER_SYSTEM_GTEST)
|
if(NOT PREFER_SYSTEM_GTEST)
|
||||||
# Download and unpack googletest at configure time
|
include(FetchContent)
|
||||||
configure_file(CMakeLists.txt.gtest googletest-download/CMakeLists.txt)
|
FetchContent_Declare(
|
||||||
execute_process(
|
googletest
|
||||||
COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
|
URL https://github.com/google/googletest/archive/refs/tags/v1.13.0.zip
|
||||||
RESULT_VARIABLE result
|
)
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download)
|
# For Windows: Prevent overriding the parent project's compiler/linker settings
|
||||||
if(result)
|
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
|
||||||
message(FATAL_ERROR "CMake step for googletest failed: ${result}")
|
FetchContent_MakeAvailable(googletest)
|
||||||
endif()
|
|
||||||
execute_process(
|
|
||||||
COMMAND ${CMAKE_COMMAND} --build .
|
|
||||||
RESULT_VARIABLE result
|
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download)
|
|
||||||
if(result)
|
|
||||||
message(FATAL_ERROR "Build step for googletest failed: ${result}")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Prevent overriding the parent project's compiler/linker settings on
|
|
||||||
# Windows
|
|
||||||
set(gtest_force_shared_crt
|
|
||||||
ON
|
|
||||||
CACHE BOOL "" FORCE)
|
|
||||||
|
|
||||||
# Add googletest directly to our build. This defines the gtest and
|
|
||||||
# gtest_main targets.
|
|
||||||
add_subdirectory(
|
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/googletest-src
|
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/googletest-build EXCLUDE_FROM_ALL SYSTEM)
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
enable_testing()
|
enable_testing()
|
||||||
|
@ -1,21 +0,0 @@
|
|||||||
cmake_minimum_required(VERSION 2.8.11)
|
|
||||||
|
|
||||||
project(googletest-download NONE)
|
|
||||||
|
|
||||||
include(ExternalProject)
|
|
||||||
|
|
||||||
ExternalProject_Add(
|
|
||||||
googletest
|
|
||||||
GIT_REPOSITORY ${GOOGLETEST_GIT_REPO}
|
|
||||||
GIT_TAG main
|
|
||||||
PREFIX "${CMAKE_CURRENT_BINARY_DIR}/googletest"
|
|
||||||
SOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}/googletest-src"
|
|
||||||
BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/googletest-build"
|
|
||||||
CMAKE_ARGS -DCMAKE_C_COMPILER_LAUNCHER=${CMAKE_C_COMPILER_LAUNCHER}
|
|
||||||
-DCMAKE_CXX_COMPILER_LAUNCHER=${CMAKE_CXX_COMPILER_LAUNCHER}
|
|
||||||
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
|
|
||||||
CONFIGURE_COMMAND ""
|
|
||||||
BUILD_COMMAND ""
|
|
||||||
INSTALL_COMMAND ""
|
|
||||||
TEST_COMMAND ""
|
|
||||||
)
|
|
Loading…
x
Reference in New Issue
Block a user