cmake ignoriert -D CMAKE_BUILD_TYPE = Debug

8

Ich versuche gerade, ein Cmake-Projekt im Debug-Modus zu erstellen, um Behauptungen zu aktivieren. Ich habe folgende Versionen ausprobiert:

%Vor%

Leider hat keiner von ihnen den gewünschten Effekt - dass CMAKE_BUILD_TYPE auf Debug gesetzt ist (und deshalb wird das NDEBUG -Flag nicht an gcc übergeben).

Zusätzlich habe ich variable_watch(CMAKE_BUILD_TYPE) zu meinem Haupt CMakeLists.txt hinzugefügt, um zu überprüfen, ob der Wert irgendwo überschrieben wird. Aber die erste Ausgabe ist ein READ_ACCESS in meinem Hauptteil Zusätzlich habe ich variable_watch(CMAKE_BUILD_TYPE) zu meinem Haupt CMakeLists.txt hinzugefügt und der Wert dort ist bereits Release .

Hat jemand eine Idee, warum CMake die Konfiguration ignoriert?

Ich benutze cmake Version 2.8.7.

Vielen Dank im Voraus für jede Hilfe!

    
ma0ho 28.05.2014, 09:25
quelle

2 Antworten

10

Ok, fgrep -R "CMAKE_BUILD_TYPE" hat endlich das Problem für mich gefunden. In einigen CMakeLists.txt -Dateien habe ich so etwas gefunden:

%Vor%

Das überschreibt alle benutzerdefinierten Parameter (wegen FORCE ).

Was für mich funktioniert ist:

%Vor%

Danke für Ihre Hinweise!

    
ma0ho 28.05.2014, 15:58
quelle
0

Ich nehme an, dass etwas mit Ihrer Konfiguration nicht stimmt ..

Ich habe hier ein vollständiges, einfaches Beispiel geschrieben: Ссылка

%Vor%

Wenn Sie cmake mit

ausführen %Vor%

Es gibt die folgende Ausgabe:

%Vor%

Es zeigt, dass CMAKE_BUILD_TYPE über die Befehlszeile festgelegt wird und in der CMakeLists.txt-Konfiguration erkannt wird.

Was passiert, wenn Sie es mit Ihrer Version von CMake auf Ihrem System ausführen?

    
wojciii 28.05.2014 15:22
quelle

Tags und Links