cmake_minimum_required(VERSION 3.10) # 设置测试项目 set(TEST_PROJECT_NAME "mcp_tests") project(${TEST_PROJECT_NAME}) # 设置C++标准 set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) # 使用本地的Google Test set(GTEST_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/googletest) add_subdirectory(${GTEST_ROOT} googletest-build) # 对于旧版本的CMake,需要设置这个选项 set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) # 包含头文件目录 include_directories(${CMAKE_SOURCE_DIR}/include) include_directories(${CMAKE_SOURCE_DIR}/common) include_directories(${GTEST_ROOT}/googletest/include) include_directories(${GTEST_ROOT}/googlemock/include) # 添加测试源文件 set(TEST_SOURCES test_mcp_message.cpp test_mcp_tool.cpp test_mcp_resource.cpp test_mcp_client.cpp test_mcp_server.cpp ) # 创建测试可执行文件 add_executable(${TEST_PROJECT_NAME} ${TEST_SOURCES}) # 链接Google Test和MCP库 target_link_libraries(${TEST_PROJECT_NAME} PRIVATE gtest gtest_main gmock gmock_main mcp Threads::Threads ) # 启用测试 enable_testing() # 添加测试 add_test( NAME ${TEST_PROJECT_NAME} COMMAND ${TEST_PROJECT_NAME} )