Wie erstellen Sie mehrere Konfigurationen auf einmal mit CMake?
E. g. wie soll ich bauen, release-und debug-version zur gleichen Zeit? Ich denke, die Antwort nutzen-cache-Variablen und eine Art "Sammlung" von Ihnen.
Ist es die gängige Methode, um get configuration-params aus dem cache params, isn ' it ? Wenn die Antwort ja ist, wie soll ich mehrere "Sammlungen" von Ihnen in eine beste Weg ?
Vielen Dank!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du nicht angeben, die Plattform, die Sie sprechen. Die Makefiles basierende Generatoren wird nur eine Konfiguration erstellen zu einem Zeitpunkt, und der normale Weg, um erstellen Sie mehrere Konfigurationen verwenden, trennen, bauen, Bäume, z.B. eine für die 64-bit-Linux auf Intel-Prozessoren, einen für 32-bit-Windows, etc. Die meisten CMake-Projekte beraten, die out-of-source-builds, und vorausgesetzt, Sie schrieb Ihre CMakeLists-Dateien korrekt hätte man ~/src/YourProject, und ~/build/YourProject-Release ~/build/YourProject-Debug.
Dies ist der empfohlene Weg, es zu tun, vorausgesetzt, Ihre Quelle Baum hat keine CMakeCache.txt etc drin. Sie können dann cmake -DCMAKE_BUILD_TYPE:STRING=Debug ~/src/YourProject in das debug-Verzeichnis, und ähnliches gilt für das release. Dies hat den Vorteil, dass Sie zeigen können, abhängig Projekte bei der entsprechenden Konfiguration.
Den Boost, CMake Projekt hat auch erforscht Gebäude, alle Konfigurationen in der selben build-tree mit Bibliothek name mangling zu unterscheiden. Dies kann sein, lohnt ein Blick auf, wenn Sie bauen müssen alle Konfigurationen in der selben build-tree.
(für andere Googler)
Vorsichtig sein, nicht verwirrend build-Typen und build-Konfigurationen.
Wenn Sie wirklich meinen "build-Typen" wie debug und release und wollen, bauen Sie in der gleichen Zeit, dann Cmake-FAQ eine Antwort gibt : Wie kann ich mehrere Verkehrsträger ohne Wechsel
Grundsätzlich umfasst die Verwendung von mehreren out-of-source-builds.