53 lines
1.2 KiB
CMake
53 lines
1.2 KiB
CMake
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}
|
||
) |