Skip to content

Commit 76ceb08

Browse files
committed
[C] Bump GoogleTest to 1.14.0.
1 parent fec7f53 commit 76ceb08

File tree

5 files changed

+15
-38
lines changed

5 files changed

+15
-38
lines changed

CMakeLists.txt

Lines changed: 10 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,15 @@
1616

1717
cmake_minimum_required(VERSION 3.30 FATAL_ERROR)
1818
cmake_policy(VERSION 3.30)
19+
cmake_policy(SET CMP0003 NEW)
20+
cmake_policy(SET CMP0135 NEW)
1921

2022
file(STRINGS version.txt SBE_VERSION_TXT LIMIT_COUNT 1 REGEX "^[0-9]+(\\.[0-9]+)+")
2123
string(REGEX REPLACE "^([0-9]+(\\.[0-9]+)+).*$" "\\1" SBE_VERSION_NUMERIC "${SBE_VERSION_TXT}")
2224

2325
project("sbe" VERSION "${SBE_VERSION_NUMERIC}")
2426

25-
include(ExternalProject)
27+
include(FetchContent)
2628
include(CheckLibraryExists)
2729

2830
if (${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR})
@@ -63,36 +65,12 @@ if (NOT DEFINED CMAKE_C_EXTENSIONS)
6365
endif ()
6466

6567
if (SBE_TESTS)
66-
set(SBE_THIRDPARTY_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/thirdparty")
67-
68-
ExternalProject_Add(
69-
gtest
70-
URL ${CMAKE_CURRENT_SOURCE_DIR}/cppbuild/googletest-release-1.12.1.zip
71-
URL_MD5 2648d4138129812611cf6b6b4b497a3b
72-
PREFIX "${SBE_THIRDPARTY_BINARY_DIR}/gtest"
73-
CMAKE_ARGS -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER};-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
74-
BUILD_BYPRODUCTS "${SBE_THIRDPARTY_BINARY_DIR}/gtest/src/gtest-build/lib/${CMAKE_CFG_INTDIR}/${CMAKE_STATIC_LIBRARY_PREFIX}gmock${CMAKE_STATIC_LIBRARY_SUFFIX};${SBE_THIRDPARTY_BINARY_DIR}/gtest/src/gtest-build/lib/${CMAKE_CFG_INTDIR}/${CMAKE_STATIC_LIBRARY_PREFIX}gmock_main${CMAKE_STATIC_LIBRARY_SUFFIX}"
75-
INSTALL_COMMAND ""
76-
LOG_CONFIGURE ON
77-
LOG_BUILD ON
78-
)
79-
80-
ExternalProject_Get_Property(gtest source_dir)
81-
set(GTEST_SOURCE_DIR ${source_dir})
82-
ExternalProject_Get_Property(gtest binary_dir)
83-
set(GTEST_BINARY_DIR ${binary_dir})
84-
85-
if (MSVC AND CMAKE_BUILD_TYPE STREQUAL "Debug")
86-
set(GTEST_POSTFIX "d")
87-
else ()
88-
set(GTEST_POSTFIX "")
89-
endif ()
68+
FetchContent_Declare(
69+
gmock
70+
URL ${CMAKE_CURRENT_SOURCE_DIR}/cppbuild/googletest-1.14.0.zip
71+
URL_MD5 b4911e882c51cba34bebfb5df500a650)
9072

91-
set(GTEST_LIBS
92-
${GTEST_BINARY_DIR}/lib/${CMAKE_CFG_INTDIR}/${CMAKE_STATIC_LIBRARY_PREFIX}gmock${CMAKE_STATIC_LIBRARY_SUFFIX}
93-
${GTEST_BINARY_DIR}/lib/${CMAKE_CFG_INTDIR}/${CMAKE_STATIC_LIBRARY_PREFIX}gtest${CMAKE_STATIC_LIBRARY_SUFFIX}
94-
${GTEST_BINARY_DIR}/lib/${CMAKE_CFG_INTDIR}/${CMAKE_STATIC_LIBRARY_PREFIX}gtest_main${CMAKE_STATIC_LIBRARY_SUFFIX}
95-
)
73+
FetchContent_MakeAvailable(gmock)
9674
endif ()
9775

9876
find_package(Threads)
@@ -132,6 +110,8 @@ elseif (MSVC)
132110

133111
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MTd /Od /Zi /MP")
134112
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MT /MP")
113+
set(CMAKE_C_FLAGS_DEBUG "/MTd")
114+
set(CMAKE_C_FLAGS_RELEASE "/MT")
135115

136116
if (C_WARNINGS_AS_ERRORS)
137117
add_compile_options($<$<COMPILE_LANGUAGE:C>:/WX>)

cppbuild/googletest-1.14.0.zip

1.04 MB
Binary file not shown.
-1.03 MB
Binary file not shown.

sbe-tool/src/test/c/CMakeLists.txt

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,15 @@
1616

1717
function(sbe_test name)
1818
add_executable("C${name}" "${name}.cpp")
19+
add_dependencies(C${name} gmock)
1920
target_include_directories("C${name}"
20-
PRIVATE ${GTEST_SOURCE_DIR}/googletest/include
21-
PRIVATE ${C_CODEC_TARGET_DIR}
21+
PRIVATE ${C_CODEC_TARGET_DIR}
2222
)
2323
target_compile_options("C${name}" PRIVATE $<$<CXX_COMPILER_ID:AppleClang>:-Werror>)
2424
target_compile_options("C${name}" PRIVATE $<$<CXX_COMPILER_ID:Clang>:-Werror>)
2525
target_compile_options("C${name}" PRIVATE $<$<CXX_COMPILER_ID:GNU>:-Werror -Wno-maybe-uninitialized>)
26-
target_link_libraries("C${name}" ${GTEST_LIBS} ${CMAKE_THREAD_LIBS_INIT})
26+
target_link_libraries("C${name}" gmock_main ${CMAKE_THREAD_LIBS_INIT})
2727
add_test(NAME C${name} COMMAND C${name} WORKING_DIRECTORY ${C_CODEC_TARGET_DIR})
28-
add_dependencies(C${name} gtest)
2928
if (${ARGC} GREATER 1)
3029
add_dependencies(C${name} ${ARGV1})
3130
endif ()

sbe-tool/src/test/cpp/CMakeLists.txt

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,17 +16,15 @@
1616

1717
function(sbe_test name)
1818
add_executable("${name}" "${name}.cpp")
19+
add_dependencies(${name} gmock)
1920
target_include_directories("${name}"
20-
PRIVATE ${GTEST_SOURCE_DIR}/googletest/include
21-
PRIVATE ${GTEST_SOURCE_DIR}/googlemock/include
2221
PRIVATE ${CXX_CODEC_TARGET_DIR}
2322
)
2423
target_compile_options("${name}" PRIVATE $<$<CXX_COMPILER_ID:AppleClang>:-Werror>)
2524
target_compile_options("${name}" PRIVATE $<$<CXX_COMPILER_ID:Clang>:-Werror>)
2625
target_compile_options("${name}" PRIVATE $<$<CXX_COMPILER_ID:GNU>:-Werror>)
27-
target_link_libraries("${name}" sbe ${GTEST_LIBS} ${CMAKE_THREAD_LIBS_INIT})
26+
target_link_libraries("${name}" sbe gmock_main ${CMAKE_THREAD_LIBS_INIT})
2827
add_test(NAME ${name} COMMAND ${name} WORKING_DIRECTORY ${CXX_CODEC_TARGET_DIR})
29-
add_dependencies(${name} gtest)
3028
if (${ARGC} GREATER 1)
3129
add_dependencies(${name} ${ARGV1})
3230
endif ()

0 commit comments

Comments
 (0)