Як і у відповіді Олега, я вважаю, що правильною змінною для встановлення є 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
).