2012-01-13 4 views
5

Вот мои текущие настройки для вывода:Как не добавлять Release или Debug для вывода пути?

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") 

Но по какой-то причине я не хочу (МСВС) гасить файлы в папки bin/Release или Debug в моей папке бен. Могу ли я это понять, используя CMake?

спасибо

ответ

9

similar question было предложено несколько месяцев назад, когда я советовал использовать target properties и также называют another answer. Для MSVC вы можете полностью указать расположение исполняемых файлов, библиотек, архивов и т. Д. Для каждой конфигурации.

E.g. используя что-то вроде:

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}, является ли это в Debug или Release конф.

Смежные вопросы