Als «cmake» getaggte Fragen

CMake ist ein plattformübergreifender Open-Source-Generator für Build-Systeme. Es generiert Dateien für Build-Systeme wie native Makefiles, Ninja-Build- und Projektdateien für mehrere integrierte Entwicklungsumgebungen.


3
CMake und Suche nach anderen Projekten und deren Abhängigkeiten
Stellen Sie sich das folgende Szenario vor: Projekt A ist eine gemeinsam genutzte Bibliothek mit mehreren Abhängigkeiten (LibA, LibB und LibC). Projekt B ist eine ausführbare Datei, die von Projekt A abhängig ist und daher zum Erstellen alle Abhängigkeiten von Projekt A benötigt. Darüber hinaus werden beide Projekte mit CMake …
76 cmake 

1
cmake variable scope, add_subdirectory
Ich habe eine CMakeLists.txt in meinem Projektstamm und eine in meinem / src-Ordner. Die im Ordner / src enthält nur eine Variable mit den CPP-Dateien ( set (SOURCEFILES main.cpp foo.cpp)) und in der Stammdatei CMakeLists.txt, die ich add_subdirectory(src)und später mache add_executable(MyApp ${SOURCEFILES}). Aber cmake gibt mir den Fehler add_executable wird …
75 scope  cmake 


2
Was sind ALL_BUILD und ZERO_CHECK und brauche ich sie?
Ich habe eine einfache CMakeLists.txt erstellt: cmake_minimum_required(VERSION 2.8) project (HelloWorld) add_executable (HelloWorld main.cpp) Wenn ich jedoch ein VS2012- oder VS2010-Projekt aus CMake generiere, erhalte ich diese 2 zusätzlichen Einträge - ALL_BUILD und ZERO_CHECK. Ich verstehe ihren Zweck nicht, brauche ich sie?

16
CMAKE_MAKE_PROGRAM nicht gefunden
Ich habe mit CMake das Ende meines Seils erreicht; es hat so viel Potenzial, aber ich kann es nicht dazu bringen, die grundlegenden Systemwerkzeuge (dh make) zu finden, um zu funktionieren. Symptome CMake und die CMake-GUI erzeugen Folgendes (nach dem Löschen der Datei CMakeCache.txt): Processing top-level CMakelists.txt for project swb …
72 makefile  cmake  mingw 


3
Wie erstelle ich x86 und / oder x64 unter Windows über die Befehlszeile mit CMAKE?
Eine Möglichkeit, cmake dazu zu bringen, x86 unter Windows mit Visual Studio zu erstellen, ist folgende: Starten Sie die Visual Studio-Eingabeaufforderung für x86 Führen Sie cmake aus: cmake -G "NMake Makefiles" \path_to_source\ nmake Eine Möglichkeit, cmake dazu zu bringen, x64 unter Windows mit Visual Studio zu erstellen, ist folgende: Starten …

3
Hinzufügen mehrerer ausführbarer Dateien in CMake
Mein Code in einem C ++ - Projekt ist wie folgt organisiert Ich habe mehrere .cppund .hDateien, die meine Klassen enthalten Ich habe mehrere .cxxDateien, die gegen die .cppDateien und einige externe Bibliotheken kompiliert werden müssen . Jetzt hat jede der .cxxDateien eine main()Methode, daher muss ich für jede dieser …
70 c++  build  cmake  executable 

5
Kompilieren Sie mit / MT anstelle von / MD mit CMake
Ich verwende CMake unter Windows mit dem Windows SDK und NMake Makefiles. Standardmäßig wird es mit dem /MDCompiler-Schalter kompiliert . Wie kann ich es ändern, um es /MTstattdessen mit dem Switch zu kompilieren ?
69 cmake 

1
Konfigurieren Sie CMake in Windows so, dass Clang über die Befehlszeile verwendet wird, um moderne OpenMP-Unterstützung zu erhalten
Ich habe ein kleines Testprojekt , das OpenMP für Parallelisierung verwendet. Mein Ziel ist es, es so zu kompilieren, dass es produziert .dllund .libfür Bibliotheken (da mein reales Projekt Links zu externen Bibliotheken enthält, die mit diesen Typen verteilt werden), mit Unterstützung für OpenMP 4.5 oder neuer, und dies über …

1
CMake: Wie kann man feststellen, woher die transitive Abhängigkeit kommt?
Ich bin gerade dabei, ein altes CMake-Setup neu zu schreiben, um moderne Funktionen wie die automatische Weitergabe von Abhängigkeiten zu verwenden. (dh mit Dingen wie target_include_directories(<target> PUBLIC <dir>)anstelle von include_directories(<dir>).) Derzeit verarbeiten wir alle Projektabhängigkeitsinformationen manuell, indem wir eine Reihe globaler Verzeichniseigenschaften festlegen. Bei meinen Tests habe ich einige Beispiele …
10 cmake 
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.