在 centos 不编译测试代码

This commit is contained in:
Tian jianyong 2024-12-20 17:18:18 +08:00
parent 815fb10301
commit 82e143c8df

View File

@ -98,8 +98,11 @@ target_link_libraries(${PROJECT_NAME}_lib
add_executable(${PROJECT_NAME} src/main.cpp) add_executable(${PROJECT_NAME} src/main.cpp)
target_link_libraries(${PROJECT_NAME} PRIVATE ${PROJECT_NAME}_lib) target_link_libraries(${PROJECT_NAME} PRIVATE ${PROJECT_NAME}_lib)
#
option(BUILD_TESTS "Build test cases" ON)
# #
if(EXISTS "${CMAKE_SOURCE_DIR}/tests") if(BUILD_TESTS AND EXISTS "${CMAKE_SOURCE_DIR}/tests")
if(APPLE) if(APPLE)
# macOS 使 FetchContent googletest # macOS 使 FetchContent googletest
FetchContent_Declare( FetchContent_Declare(
@ -109,11 +112,14 @@ if(EXISTS "${CMAKE_SOURCE_DIR}/tests")
) )
FetchContent_MakeAvailable(googletest) FetchContent_MakeAvailable(googletest)
else() else()
# CentOS 使 gtest # CentOS 使 FetchContent googletest
find_package(GTest 1.8 REQUIRED) FetchContent_Declare(
find_package(Threads REQUIRED) googletest
GIT_REPOSITORY https://github.com/google/googletest.git
GIT_TAG v1.15.2
)
FetchContent_MakeAvailable(googletest)
endif() endif()
enable_testing()
# #
set(TEST_SOURCES set(TEST_SOURCES
@ -128,32 +134,13 @@ if(EXISTS "${CMAKE_SOURCE_DIR}/tests")
# #
add_executable(unit_tests ${TEST_SOURCES}) add_executable(unit_tests ${TEST_SOURCES})
if(APPLE) # macOS CentOS
target_link_libraries(unit_tests target_link_libraries(unit_tests
PRIVATE PRIVATE
${PROJECT_NAME}_lib ${PROJECT_NAME}_lib
GTest::gtest_main GTest::gtest_main
GTest::gmock_main GTest::gmock_main
) )
else()
target_link_libraries(unit_tests
PRIVATE
${PROJECT_NAME}_lib
gtest
gtest_main
gmock
gmock_main
${CMAKE_THREAD_LIBS_INIT}
)
target_include_directories(unit_tests
PRIVATE
${GTEST_INCLUDE_DIRS}
)
endif()
#
include(GoogleTest)
gtest_discover_tests(unit_tests)
endif() endif()
# #