Skip to content
This repository has been archived by the owner on Jul 16, 2024. It is now read-only.

Commit

Permalink
Fix download of GoogleTest
Browse files Browse the repository at this point in the history
The instructions for downloading GoogleTest from within CMake
have changed and the old instructions no longer work, breaking
our build.  This commit updates the CMakefile to use the new
instructions and fixes the GoogleTest version we use to 1.11.0.

Signed-off-by: Mark Ryan <[email protected]>
  • Loading branch information
Mark Ryan committed Dec 16, 2021
1 parent be0b937 commit b3b2361
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 45 deletions.
38 changes: 8 additions & 30 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,37 +9,15 @@ OPTION(ENABLE_WERROR "Build with -Werror" OFF)

set (CMAKE_CXX_STANDARD 11)

# Download and unpack googletest at configure time
configure_file(CMakeLists.txt.in googletest-download/CMakeLists.txt)
execute_process(COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
RESULT_VARIABLE result
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download )
if(result)
message(FATAL_ERROR "CMake step for googletest failed: ${result}")
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
include(FetchContent)
FetchContent_Declare(
googletest
# GoogleTest 1.11.0
URL https://github.com/google/googletest/archive/refs/tags/release-1.11.0.zip
)
# For Windows: Prevent overriding the parent project's compiler/linker settings
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)

# The gtest/gtest_main targets carry header search path
# dependencies automatically when using CMake 2.8.11 or
# later. Otherwise we have to add them here ourselves.
if (CMAKE_VERSION VERSION_LESS 2.8.11)
include_directories("${gtest_SOURCE_DIR}/include")
endif()
FetchContent_MakeAvailable(googletest)

if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Release CACHE STRING "Build type" FORCE)
Expand Down
15 changes: 0 additions & 15 deletions CMakeLists.txt.in

This file was deleted.

0 comments on commit b3b2361

Please sign in to comment.