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.

10
CMake kann die Linkersprache mit C ++ nicht bestimmen
Ich versuche, ein cmake hello world-Programm unter Windows 7 x64 mit Visual Studio 2010 und Cygwin auszuführen, kann aber anscheinend auch nicht funktionieren. Meine Verzeichnisstruktur ist wie folgt: HelloWorld -- CMakeLists.txt -- src/ -- -- CMakeLists.txt -- -- main.cpp -- build/ Ich mache ein cd buildgefolgt von einem cmake ..und …
89 c++  c  cmake 


8
Wie verwende ich CCache mit CMake?
Ich möchte Folgendes tun: Wenn CCache in PATH vorhanden ist, verwenden Sie "ccache g ++" zum Kompilieren, andernfalls verwenden Sie g ++. Ich habe versucht, ein kleines my-cmake-Skript zu schreiben, das Folgendes enthält CC="ccache gcc" CXX="ccache g++" cmake $* aber es scheint nicht zu funktionieren (das Ausführen von make verwendet …
88 c++  unix  cmake  ccache 

9
CMake & CTest: make test erstellt keine Tests
Ich versuche CTest in CMake, um einige meiner Tests automatisch mit make testtarget auszuführen . Das Problem ist, dass CMake nicht "versteht", dass der Test, den ich ausführen möchte, erstellt werden muss, da er Teil des Projekts ist. Daher suche ich nach einer Möglichkeit, diese Abhängigkeit explizit anzugeben.

10
Cmake findet Boost nicht
Ich versuche, ein Projekt mit CMake zu konfigurieren, aber es findet keine Boost-Bibliotheken, obwohl sie sich im angegebenen Ordner befinden. Ich habe angegeben Boost_INCLUDE_DIR, Boost_LIBRARYDIRund BOOST_ROOT, aber ich erhalte immer noch eine Fehlermeldung, dass CMake Boost nicht finden kann. Was könnte der Grund für einen solchen Fehler sein?
85 boost  cmake 

5
Funktion vs. Makro in CMake
Das offizielle Dokument von CMake 2.8.12 sagt übermacro Wenn es aufgerufen wird, werden die im Makro aufgezeichneten Befehle zuerst geändert, indem formale Parameter ($ {arg1}) durch die übergebenen Argumente ersetzt und dann als normale Befehle aufgerufen werden. und über function Beim Aufrufen werden die in der Funktion aufgezeichneten Befehle zuerst …
85 cmake 

4
Legen Sie die Optionen CFLAGS und CXXFLAGS mit CMake fest
Ich möchte nur Code debuggen, der unter Linux ausgeführt wird, und ich benötige einen Debug-Build ( -O0 -ggdb). Also habe ich diese Dinge zu meinem hinzugefügt CMakeLists.txt: set(CMAKE_BUILD_TYPE DEBUG) set(CMAKE_C_FLAGS "-O0 -ggdb") set(CMAKE_C_FLAGS_DEBUG "-O0 -ggdb") set(CMAKE_C_FLAGS_RELEASE "-O0 -ggdb") set(CMAKE_CXX_FLAGS "-O0 -ggdb") set(CMAKE_CXX_FLAGS_DEBUG "-O0 -ggdb") set(CMAKE_CXX_FLAGS_RELEASE "-O0 -ggdb") Als ich versuchte …
85 cmake  cflags 

1
Was ist die moderne Methode zum Setzen allgemeiner Kompilierungsflags in CMake?
CMake bietet mehrere Mechanismen, um Flags an den Compiler zu senden: CMAKE_<LANG>_FLAGS_<CONFIG> Variablen add_compile_options Befehl set_target_properties Befehl Gibt es eine Methode, die im modernen Gebrauch der anderen vorgezogen wird? Wenn ja warum? Wie kann diese Methode auch mit mehreren Konfigurationssystemen wie MSVC verwendet werden?
84 cmake 



6
Was ist der richtige Weg, um "pkg-config" von "cmake" zu verwenden?
Wenn ich mich im Internet umsehe, habe ich eine Menge Code wie diesen gesehen: include(FindPkgConfig) pkg_search_module(SDL2 REQUIRED sdl2) target_include_directories(app SYSTEM PUBLIC ${SDL2_INCLUDE_DIRS} target_link_libraries(app ${SDL2_LIBRARIES}) Dies scheint jedoch der falsche Weg zu sein, da nur die Include-Verzeichnisse und -Bibliotheken verwendet werden, aber definierte Definitionen, Bibliothekspfade und andere Flags, die von zurückgegeben …
81 cmake  pkg-config 




3
CMAKE_BUILD_TYPE wird in CMakeLists.txt nicht verwendet
Ich habe Probleme, meine Standard-Build-Konfiguration auf "Release" zu setzen. In meiner Datei CMakeLists.txt setze ich CMAKE_BUILD_TYPE am Anfang der Datei mit: #enable Release ALWAYS, configure vars set(CMAKE_BUILD_TYPE Release) set(EXECUTABLE_NAME "ParticleSimulator") set(VERSION_MAJOR 0) set(VERSION_MINOR 2) Beim Erstellen meines Projekts und Öffnen der Lösung wird jedoch immer der Debug-Modus angezeigt, der nicht …

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.