Ich habe spezielle Konfiguration für Debug und Release-Optionen (unterschiedlich für MSVC und für GCC). Angenommen, wir erzeugen ein Standardprojekt über cmake ..
. Erzeugt CMake immer Konfigurationen für alle möglichen Projektkonfigurationen (Debug und Release) oder bekommt man immer nur einen Satz Konfigurationsoptionen?Generiert CMake immer Konfigurationen für alle möglichen Projektkonfigurationen?
1
A
Antwort
3
Wie @cplusplusrat kommentiert hat, dies auf dem Generator hängt/Build-Umgebung:
- Für Multi-Konfigurations-Umgebungen wie MSVC oder XCode, ja.
- Für Umgebungen mit einer Konfiguration wie GCC, nein.
Und der Standard für Single-Konfiguration Umgebungen ist weder Debug
noch Release
(siehe here oder here).
So habe ich immer eine CMAKE_BUILD_TYPE
für Single-Konfiguration-Umgebungen als Standard definiert. Sie könnten dies auch z.B. in Build-Skripte aufrufen CMake:
mingw_build.cmd
@ECHO off
SETLOCAL ENABLEDELAYEDEXPANSION
:: usage:
:: mingw_build.cmd <target> <config>
:: <target> - target to be built (default: all)
:: <config> - configuration to be used for build (default: Debug)
if NOT "%1" == "" (set CMAKE_TARGET=%1) else (set CMAKE_TARGET=all)
if NOT "%2" == "" (set CMAKE_BUILD_TYPE=%2) else (set CMAKE_BUILD_TYPE=Debug)
SET CMAKE_BINARY_DIR=%CMAKE_BUILD_TYPE%
IF NOT EXIST "%CMAKE_BINARY_DIR%\Makefile" (
cmake -H"." -B"%CMAKE_BINARY_DIR%" -DCMAKE_BUILD_TYPE=%CMAKE_BUILD_TYPE% -G"MinGW Makefiles"
)
cmake --build %CMAKE_BINARY_DIR% --target %CMAKE_TARGET%
ENDLOCAL
vs_x64_build.cmd
@ECHO off
SETLOCAL ENABLEDELAYEDEXPANSION
:: usage:
:: vs_x64_build.cmd <target> <config>
:: <target> - target to be built (default: ALL_BUILD)
:: <config> - configuration to be used for build (default: Debug)
if NOT "%1" == "" (SET CMAKE_TARGET=%1) else (SET CMAKE_TARGET=ALL_BUILD)
if NOT "%2" == "" (set CMAKE_BUILD_TYPE=%2) else (set CMAKE_BUILD_TYPE=Debug)
SET CMAKE_BINARY_DIR=x64
IF NOT EXIST "%CMAKE_BINARY_DIR%\*.sln" (
cmake -H"." -B"%CMAKE_BINARY_DIR%" -G"Visual Studio 14 2015 Win64"
)
cmake --build "%CMAKE_BINARY_DIR%" --target "%CMAKE_TARGET%" --config "%CMAKE_BUILD_TYPE%"
ENDLOCAL
Verwandte Themen
- 1. CMake Eclipse Build-Konfigurationen
- 2. Verwalten von Projektkonfigurationen in VS 2010
- 3. Wie generiert man alle möglichen Zeichenfolgen in Python?
- 4. Alle möglichen Wertekombinationen erhalten
- 5. Generieren Sie alle möglichen Ersetzungen
- 6. Laravel - Eine Ansicht für alle möglichen Fehler
- 7. Funktion für alle möglichen Optionen zu finden
- 8. Alle möglichen Exit-Codes für cp
- 9. Was sind alle möglichen Werte für SQLException.getSQLState?
- 10. Was sind alle möglichen Schlüssel für database.yml
- 11. alle möglichen Phasen Kombination
- 12. NHibernate generiert Update-Anweisung für alle Spalten
- 13. JavaScript alle möglichen Zeichen nach Zeichenfolge
- 14. Makefile - Build alle möglichen Ziele
- 15. Wie generiert man .msi Installer mit cmake?
- 16. Bedeutung von jedem Zeug von CMake generiert
- 17. Wie generiert man alle möglichen Vektorkombinationen, ohne auf Ordnung zu achten?
- 18. PHP-Ausgabe alle möglichen Zahlenkombinationen
- 19. Erhalten Sie alle möglichen verfügbaren Währungen
- 20. Alle möglichen Permutationen aller möglichen Größen in Java
- 21. Getting R Häufigkeit zählt für alle möglichen Antworten
- 22. Generieren Sie alle möglichen Permutationen einer Klasse
- 23. Wie man alle möglichen Kombinationen von zwei Münzen mit drei Möglichkeiten (oben, unten und dazwischen) generiert
- 24. Finde alle möglichen Wege durch ein Labyrinth
- 25. Regex, um alle möglichen Übereinstimmungen für ein Muster in C#
- 26. Erstellen Sie alle möglichen Korrelationsmatrizen für 3 Variablen
- 27. Was sind alle möglichen Rückrufparameter für Mungo Dokument # Update?
- 28. Alle möglichen Umfang Optionen in Passport für Facebook und Google
- 29. Python zählt alle möglichen Kombinationen für eine Tabelle
- 30. Alle möglichen Zeichen für eine Zahl als String darstellt, Integer.java
Ich denke, es auf Ihrem Generator abhängt. Es macht sicherlich alle Konfigurationen für Visual Studio. Ich bin mir bei den anderen Generatoren nicht so sicher. – cplusplusrat