所以我正在做一个源代码构建,并希望我的二进制文件位于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
答案 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
)