cpp-mcp/test/CMakeLists.txt

53 lines
1.2 KiB
CMake
Raw Normal View History

2025-03-08 23:44:34 +08:00
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}
)