按文件夹组织CMake测试的解决方法如下:
cmake_minimum_required(VERSION 3.10)
project(MyProject)
# 设置源代码文件
set(SOURCES
src/main.cpp
src/foo.cpp
src/bar.cpp
)
# 添加可执行文件
add_executable(MyProject ${SOURCES})
# 设置测试代码文件
set(TEST_SOURCES
test/test_foo.cpp
test/test_bar.cpp
)
# 添加测试可执行文件
add_executable(TestProject ${TEST_SOURCES})
# 链接测试库到测试可执行文件
target_link_libraries(TestProject PUBLIC MyProjectLib)
cd build
cmake ..
make
ctest
这样,CMake将会根据根目录下的CMakeLists.txt文件来组织项目和测试,并将生成的构建文件和可执行文件存放在build文件夹中。