Как не добавить Release или Debug к выходному пути? - PullRequest
5 голосов
/ 13 января 2012

Вот мои текущие настройки для вывода:

set( EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_SOURCE_DIR}/bin")
set( LIBRARY_OUTPUT_PATH "${CMAKE_CURRENT_SOURCE_DIR}/bin")
set( RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/bin")

Но по какой-то причине я не хочу (MSVS) помещать файлы в папки bin / Release или Debug в папке bin.Можно ли как-то реализовать это с помощью CMake?

спасибо

1 Ответ

9 голосов
/ 15 января 2012

A аналогичный вопрос был задан несколько месяцев назад, где я посоветовал использовать целевые свойства , а также сослался на другой ответ . Для MSVC вы можете полностью указать расположение исполняемых файлов, библиотек, архивов и т. Д. Для каждой конфигурации.

например. используя что-то вроде:

if ( MSVC )
    set_target_properties( ${targetname} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${youroutputdirectory} )
    set_target_properties( ${targetname} PROPERTIES LIBRARY_OUTPUT_DIRECTORY_DEBUG ${youroutputdirectory} )
    set_target_properties( ${targetname} PROPERTIES LIBRARY_OUTPUT_DIRECTORY_RELEASE ${youroutputdirectory} )
    # etc for the other available configuration types (MinSizeRel, RelWithDebInfo)
endif ( MSVC )

, который поместит все ваши библиотеки в один выходной каталог $ {youroutputdirectory}, независимо от того, находится ли он в конфигурации отладки или выпуска.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...