Avatar ·

Quelle est la différence entre les builds Debug et Release dans CMake et comment les configurer correctement ?

Bonjour ! Je viens de commencer à me familiariser avec CMake pour mes projets C++ et je n'arrive pas à comprendre la différence entre les configurations Debug et Release. Dans Visual Studio, j'avais l'habitude de choisir le mode de build, alors que dans CMake, on utilise `CMAKE_BUILD_TYPE`. J'ai écrit un simple CMakeLists.txt : ```cmake cmake_minimum_required(VERSION 3.10) project(MyProject) add_executable(myapp main.cpp) ``` Et je build comme ceci : ```bash mkdir build && cd build cmake .. cmake --build . ``` Mais je ne spécifie pas `-DCMAKE_BUILD_TYPE=Debug` ou `Release`. Que se passe-t-il alors ? Quel est le build par défaut ? Et surtout, comment configurer correctement différents flags de compilation pour Debug (avec informations de débogage, sans optimisations) et Release (avec optimisations, sans informations de débogage) ? J'ai entendu dire que CMake a des variables intégrées comme `CMAKE_CXX_FLAGS_DEBUG` et `CMAKE_CXX_FLAGS_RELEASE`, mais je ne comprends pas comment les utiliser. Je suis également intéressé par la façon de faire en sorte que les assert soient activés en mode Debug et désactivés en mode Release. Et