我的整个项目使用
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin")
Run Code Online (Sandbox Code Playgroud)
将所有运行时二进制文件放置在该bin目录中。
但是我需要将一些 dll 放在名为“scripts”的子目录中,我尝试使用以下代码为特定目标设置变量:
set_target_properties(my_script_dll PROPERTIES
CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/scripts"
)
Run Code Online (Sandbox Code Playgroud)
但它不起作用,dll仍然放在bin.
有没有办法仅为特定目标设置输出目录?
我通过使用解决了它:
set_target_properties(my_script_dll PROPERTIES
RUNTIME_OUTPUT_DIRECTORY_DEBUG "${CMAKE_BINARY_DIR}/bin/Debug/scripts"
RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_BINARY_DIR}/bin/Release/scripts"
RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO "${CMAKE_BINARY_DIR}/bin/RelWithDebInfo/scripts"
RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL "${CMAKE_BINARY_DIR}/bin/MinSizeRel/scripts"
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4867 次 |
| 最近记录: |