From f22a30398ff1f73d51c934fcba10cce9813f4590 Mon Sep 17 00:00:00 2001 From: Tian jianyong <11429339@qq.com> Date: Fri, 20 Dec 2024 14:12:34 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=20CMakeLists.txt=20=E5=92=8C?= =?UTF-8?q?=E6=89=93=E5=8C=85=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CMakeLists.txt | 42 ++++++++++++++++++++++++++++++------------ 1 file changed, 30 insertions(+), 12 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 875ca09..9923b8e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -89,12 +89,18 @@ target_link_libraries(${PROJECT_NAME} PRIVATE ${PROJECT_NAME}_lib) # 添加测试 if(EXISTS "${CMAKE_SOURCE_DIR}/tests") - FetchContent_Declare( - googletest - GIT_REPOSITORY https://github.com/google/googletest.git - GIT_TAG v1.15.2 - ) - FetchContent_MakeAvailable(googletest) + if(APPLE) + # macOS 使用 FetchContent 下载 googletest + FetchContent_Declare( + googletest + GIT_REPOSITORY https://github.com/google/googletest.git + GIT_TAG v1.15.2 + ) + FetchContent_MakeAvailable(googletest) + else() + # CentOS 使用系统安装的 gtest + find_package(GTest REQUIRED) + endif() enable_testing() # 测试源文件列表 @@ -110,12 +116,24 @@ if(EXISTS "${CMAKE_SOURCE_DIR}/tests") # 创建测试可执行文件 add_executable(unit_tests ${TEST_SOURCES}) - target_link_libraries(unit_tests - PRIVATE - ${PROJECT_NAME}_lib - GTest::gtest_main - GTest::gmock_main - ) + if(APPLE) + target_link_libraries(unit_tests + PRIVATE + ${PROJECT_NAME}_lib + GTest::gtest_main + GTest::gmock_main + ) + else() + target_link_libraries(unit_tests + PRIVATE + ${PROJECT_NAME}_lib + gtest + gtest_main + gmock + gmock_main + pthread + ) + endif() # 添加测试 include(GoogleTest)