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