Cmake: использовать add_custom_command для копирования двоичного файла в определенное место не удалось, когда местоположение не существует

Я пытаюсь скопировать все двоичные файлы, созданные 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?

Спасибо!

10
задан hush-hush 25 May 2011 в 06:42
поделиться