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.
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 …
Ich habe ein kleines Projekt mit einem Makefile, das ich in CMake konvertieren möchte, hauptsächlich, um Erfahrungen mit CMake zu sammeln. Für die Zwecke dieses Beispiels enthält das Projekt eine Quelldatei (C ++, obwohl ich die Sprache nicht für besonders relevant halte) und eine statische Bibliotheksdatei, die ich von einer …
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 …
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.
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?
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 …
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 …
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?
Mein CMakeLists.txtenthält diese Zeile: file(GLOB lib_srcs Half/half.cpp Iex/*.cpp IlmThread/*.cpp Imath/*.cpp IlmImf/*.cpp) und der IlmImfOrdner enthält b44ExpLogTable.cpp, die ich vom Build ausschließen muss. Wie erreicht man das?
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 …
Gibt es eine Möglichkeit, eine Variable in einem CMake-Skript auf die Ausgabe eines Shell-Befehls festzulegen? So etwas SET(FOO COMMAND "echo bar")würde mir in den Sinn kommen
Ich bin neu in der Programmierung. Können Sie mir bitte bei der Installation von cmake helfen? Ich habe getippt brew install cmake. Was soll ich als nächstes tun?
Ich habe einige Konfigurationsdateien (xml, ini, ...) im configVerzeichnis neben den Quelldateien. Wie kann ich bei jedem Projekt alle Dateien im Konfigurationsverzeichnis in das Erstellungsverzeichnis (neben der ausführbaren Datei) kopieren?
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 …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.