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)