我試圖將cmake生成的所有二進制文件複製到特定目錄。我不想使用EXECUTABLE_OUTPUT_PATH,將它們保留在構建樹中使開發更容易。Cmake:當位置不存在時,使用add_custom_command將二進制文件複製到特定位置失敗
所以我用add_custom_command添加後生成副本
# set the final binary dir
set(PROJECT_BINARY_DIR ${PROJECT_SOURCE_DIR}/bin)
# get name and location of binary, namecan change with os (cf. ".exe" suffix on windows)
GET_TARGET_PROPERTY(EXAMPLE_BIN_NAME example LOCATION)
# copy bin to binary folder
ADD_CUSTOM_COMMAND(TARGET example
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy ${EXAMPLE_BIN_NAME} ${PROJECT_BINARY_DIR}/.
)
的問題是,在第一次構建的「bin」文件夾不存在(副本失敗),但「bin」文件夾剛剛創建。因此,在第二個版本中,複製工作。
有沒有辦法讓自定義命令創建bin文件夾,然後複製二進制文件? 或者有可能有兩個EXECUTABLE_OUTPUT_PATH與cmake?
謝謝!
見https://stackoverflow.com/questions/6594796/how-do-i-make- cmake-output-into-bin-dir – 2017-05-30 13:57:35