如何使用CMake将测试可执行文件放入单独的文件夹中?

时间:2016-09-30 15:04:32

标签: cmake

所以我正在做一个源代码构建,并希望我的二进制文件位于bin文件夹中。我使用以下命令

set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/bin)

但是,如果实际上只是编译测试的所有可执行文件(通过add_test添加)最终都会在bin/test中,那就太棒了。什么是一个很好的解决方案来实现这个目标?

我的项目结构,其中unit_test_src中的每个测试文件夹都有自己的CMakeLists.txt文件:

root
|
---- src
|    ...
|
---- unit_test_src
|    ...
|
---- bin
|    |
|    ---- test
|
CMakeLists.txt

1 个答案:

答案 0 :(得分:1)

CMAKE_RUNTIME_OUTPUT_DIRECTORY是一个全球财产。您可以使用RUNTIME_OUTPUT_DIRECTORY使用set_target_properties设置目标目录:

set_target_properties(
    test1 test2 ...
    PROPERTIES
    RUNTIME_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/test
)