CMake में Debug और Release बिल्ड के बीच क्या अंतर है और उन्हें सही तरीके से कैसे कॉन्फ़िगर करें?
नमस्ते! मैंने अभी-अभी अपने C++ प्रोजेक्ट्स के लिए CMake सीखना शुरू किया है और मैं Debug और Release कॉन्फ़िगरेशन के बीच अंतर समझ नहीं पा रहा हूँ। Visual Studio में मैं बिल्ड मोड चुनने का आदी हूँ, जबकि CMake में इसके लिए `CMAKE_BUILD_TYPE` का उपयोग किया जाता है।
मैंने एक सरल CMakeLists.txt लिखा है:
```cmake
cmake_minimum_required(VERSION 3.10)
project(MyProject)
add_executable(myapp main.cpp)
```
और मैं इसे इस तरह बिल्ड कर रहा हूँ:
```bash
mkdir build && cd build
cmake ..
cmake --build .
```
लेकिन मैं `-DCMAKE_BUILD_TYPE=Debug` या `Release` निर्दिष्ट नहीं कर रहा हूँ। तब क्या होता है? डिफ़ॉल्ट बिल्ड कौन सा है? और सबसे महत्वपूर्ण बात - Debug (डीबग जानकारी के साथ, बिना ऑप्टिमाइज़ेशन के) और Release (ऑप्टिमाइज़ेशन के साथ, बिना डीबग जानकारी के) के लिए अलग-अलग कंपाइलेशन फ़्लैग्स को सही तरीके से कैसे सेट करें?
मैंने सुना है कि CMake में बिल्ट-इन वेरिएबल्स हैं