Как и в ответе Олега, я считаю, что правильная переменная для установки - CMAKE_RUNTIME_OUTPUT_DIRECTORY . Мы используем следующее в нашем корне CMakeLists.txt:
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
Вы также можете указать выходные каталоги для каждой цели:
set_target_properties( targets...
PROPERTIES
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
)
В обоих случаях вы можете добавить _[CONFIG]
к имени переменной / свойств , чтобы сделать выходной каталог применить к конфигурации конкретной (стандартные значения для конфигурации являются DEBUG
, RELEASE
, MINSIZEREL
и RELWITHDEBINFO
).