ด้วย CMake ก็ขอแนะนำโดยทั่วไปจะทำ"ออกจากแหล่งที่มา" สร้าง สร้างของคุณCMakeLists.txt
ในรากของโครงการของคุณ จากรากของโครงการของคุณ:
mkdir Release
cd Release
cmake -DCMAKE_BUILD_TYPE=Release ..
make
และสำหรับDebug
(อีกครั้งจากรากของโครงการของคุณ):
mkdir Debug
cd Debug
cmake -DCMAKE_BUILD_TYPE=Debug ..
make
Release
/ Debug
จะเพิ่มค่าสถานะที่เหมาะสมสำหรับคอมไพเลอร์ของคุณ นอกจากนี้ยังมีRelWithDebInfo
และMinSizeRel
สร้างการกำหนดค่า
คุณสามารถแก้ไข / เพิ่มการตั้งค่าสถานะโดยการระบุไฟล์ toolchainที่คุณสามารถเพิ่มCMAKE_C_FLAGS_DEBUG
และCMAKE_C_FLAGS_RELEASE
ตัวแปรเช่น:
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wall")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Wall")
ดูCMAKE_BUILD_TYPEสำหรับรายละเอียดเพิ่มเติม
สำหรับคำถามที่สามของคุณฉันไม่แน่ใจว่าคุณถามอะไร CMake ควรตรวจจับและใช้คอมไพเลอร์ที่เหมาะสมกับไฟล์ต้นฉบับของคุณโดยอัตโนมัติ
cmake -i ..
แทนได้ดังนั้น cmake จะทำงานแบบโต้ตอบโดยถามว่าคุณต้องการสร้างบิลด์ประเภทใด (None, Release, Debug, MinSizeRel, RelWithDebInfo)