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.



5
Ist es besser, Quelldateien mit GLOB oder jede Datei einzeln in CMake anzugeben?
CMake bietet verschiedene Möglichkeiten, um die Quelldateien für ein Ziel anzugeben. Eine ist die Verwendung von Globbing ( Dokumentation ), zum Beispiel: FILE(GLOB MY_SRCS dir/*) Eine andere Methode besteht darin, jede Datei einzeln anzugeben. Welcher Weg wird bevorzugt? Globbing scheint einfach zu sein, aber ich habe gehört, dass es einige …
157 cmake 

3
Wie genau funktioniert CMake?
Ich frage das nicht nur für mich. Ich hoffe, diese Frage ist eine Referenz für die vielen Neulinge, die mich mögen, und fand es äußerst verwirrend, was genau hinter den Kulissen vor sich ging, wenn es um eine so kleine CMakeLists.txtDatei ging cmake_minimum_required (VERSION 2.6) project(Tutorial) add_executable(Tutorial tutorial.cpp) und so …
156 cmake 

4
Wie kann ich in CMake testen, ob der Compiler Clang ist?
Wir haben eine Reihe von plattformübergreifenden CMake-Build-Skripten und unterstützen das Erstellen mit Visual C ++ und GCC . Wir probieren Clang aus , aber ich kann nicht herausfinden, wie ich mit unserem CMake-Skript testen kann, ob der Compiler Clang ist oder nicht. Was soll ich testen, um festzustellen, ob der …
151 c++  c  cmake  clang 



4
Wie erstelle ich eine gemeinsam genutzte Bibliothek mit cmake?
Ich habe eine Bibliothek geschrieben, die ich mit einem selbstgeschriebenen Makefile kompiliert habe, aber jetzt möchte ich zu cmake wechseln. Der Baum sieht folgendermaßen aus (ich habe alle irrelevanten Dateien entfernt): . ├── include │ ├── animation.h │ ├── buffers.h │ ├── ... │ ├── vertex.h │ └── world.h └── …

2
CMake: Projektstruktur mit Unit-Tests
Ich versuche, mein Projekt so zu strukturieren, dass es die Produktionsquellen (im srcUnterordner) und Tests (im testUnterordner) enthält. Ich benutze CMake, um dies zu erstellen. Als minimales Beispiel habe ich die folgenden Dateien: CMakeLists.txt: cmake_minimum_required (VERSION 2.8) project (TEST) add_subdirectory (src) add_subdirectory (test) src / CMakeLists.txt: add_executable (demo main.cpp sqr.cpp) …


3
Was ist der Unterschied zwischen include_directories und target_include_directories in CMake?
Ich habe eine Verzeichnisstruktur für meinen C ++ - Code, die folgendermaßen aussieht: | |->include |->src Ich schreibe eine CMakeLists.txt-Datei für meinen Code. Ich möchte den Unterschied zwischen include_directoriesund target_include_directoriesin verstehen CMake. Was ist der Unterschied zwischen ihrer Verwendung und dem Pfad, den ich verwenden soll, um meinen Include-Dateipfad hinzuzufügen?
134 c++  cmake 


4
CMake Link zur externen Bibliothek
Wie kann CMake dazu gebracht werden, eine ausführbare Datei mit einer externen gemeinsam genutzten Bibliothek zu verknüpfen, die nicht im selben CMake-Projekt erstellt wurde? Nur zu tun target_link_libraries(GLBall ${CMAKE_BINARY_DIR}/res/mylib.so)gibt den Fehler make[2]: *** No rule to make target `res/mylib.so', needed by `GLBall'. Stop. make[1]: *** [CMakeFiles/GLBall.dir/all] Error 2 make: *** …
125 cmake 

10
So beginnen Sie mit GTest und CMake zu arbeiten
Vor kurzem wurde mir die Verwendung von CMake zum Kompilieren meiner C ++ - Projekte verkauft, und ich möchte jetzt einige Komponententests für meinen Code schreiben. Ich habe mich entschieden, das Google Test-Dienstprogramm zu verwenden, um dies zu unterstützen, benötige jedoch Hilfe beim Einstieg. Den ganzen Tag habe ich verschiedene …

4
C ++ Projektorganisation (mit gtest, cmake und doxygen)
Ich bin neu in der Programmierung im Allgemeinen und habe beschlossen, zunächst eine einfache Vektorklasse in C ++ zu erstellen. Ich möchte jedoch von Anfang an gute Gewohnheiten lernen, anstatt später zu versuchen, meinen Workflow zu ändern. Ich habe derzeit nur zwei Dateien vector3.hppund vector3.cpp. Dieses Projekt wird langsam wachsen …
123 c++  cmake  doxygen  googletest 

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.