Debug vs Release in CMAKE
In einem GCC-kompilierte Projekt,
- wie laufen
cmake
für jeden target-Typ (debug/release)? - wie Sie angeben, debug-und release C/C++ flags mit
cmake
? - wie um auszudrücken, dass das Hauptprogramm kompiliert werden mit
g++
und eine verschachtelte Bibliothek mitgcc
?
InformationsquelleAutor der Frage Cartesius00 | 2011-10-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mit cmake, es ist in der Regel empfohlen, eine "aus der Quelle" bauen. Erstellen Sie Ihre
CMakeLists.txt
im Stammverzeichnis Ihres Projekts. Dann aus der Wurzel von Ihrem Projekt:Und für
Debug
(wieder aus der Wurzel von Ihrem Projekt):Release
/Debug
hinzufügen werden die entsprechenden flags für den compiler. Es gibt auchRelWithDebInfo
undMinSizeRel
build-Konfigurationen.Können Sie ändern/hinzufügen der flags in Ihrem
CMakeLists.txt
überCMAKE_C_FLAGS_DEBUG
undCMAKE_C_FLAGS_RELEASE
Variablen, z.B.:Sehen CMAKE_BUILD_TYPE für mehr details.
Als für deine 3. Frage, ich bin mir nicht sicher, was Sie Fragen genau. CMake sollte automatisch erkannt werden und die entsprechenden compiler für verschiedene source-Dateien.
InformationsquelleAutor der Antwort kb1ooo
Für debug/release-flags finden Sie in der
CMAKE_BUILD_TYPE
variable (übergeben Sie es alscmake -DCMAKE_BUILD_TYPE=value
). Es übernimmt Werte, wieRelease
,Debug
usw.http://cmake.org/Wiki/CMake_Useful_Variables#Compilers_and_Tools
cmake verwendet die Endung zu wählen, die compiler, so einfach einen Namen für Ihre Dateien .c.
Können Sie überschreiben diese mit verschiedenen Einstellungen:
Beispiel:
Zusammenstellen würde .c Dateien, die mit g++. Der link oben zeigt auch, wie Sie einen speziellen compiler für C/C++.
InformationsquelleAutor der Antwort duncan
//CMakeLists.txt : release
//CMakeLists.txt : debug
InformationsquelleAutor der Antwort sailfish009