cpp-mcp/test/CMakeLists.txt

53 lines
1.2 KiB
CMake
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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}
)