Я пытаюсь скопировать все двоичные файлы, созданные cmake, в определенный каталог. Я не хочу использовать EXECUTABLE_OUTPUT_PATH, сохраняя их в дереве построения, чтобы упростить разработку.
Поэтому я использую 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" не ' t существует (копия не удалась), но папка «bin» создается сразу после этого. Так что при второй сборке копия работает. Или возможно иметь два EXECUTABLE_OUTPUT_PATH с cmake?
Спасибо!