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
विन्यास का निर्माण।
आप टूलकिन फ़ाइल को निर्दिष्ट करके झंडे को संशोधित / जोड़ सकते हैं जिसमें आप जोड़ सकते हैं 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 ..
इसके बजाय भी कर सकते हैं , इसलिए सीमेक अंतःक्रियात्मक रूप से चलेगा, आपसे पूछेगा कि आप किस प्रकार का निर्माण चाहते हैं (कोई नहीं, रिलीज़, डीबग, मिनसलाइज़ेल, रिलिथिथेइनफो)।