ในฐานะที่เป็นคำตอบของ Oleg ผมเชื่อว่าตัวแปรที่ถูกต้องเพื่อเป็นชุด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
)