Durchsuchen nach
Kategorie: CMake

CMake und CXX_STANDARD

CMake und CXX_STANDARD

In CMake kann man definieren, mit welchem C++-Standard das Projekt gebaut werden soll. Dazu wird die Eigenschaft CXX_STANDARD für ein bestimmtes Target geändert. Das kann z.B. so geschrieben werden: set_property(TARGET executable_name PROPERTY CXX_STANDARD 11) Das kann man an einem einfachen Beispiel auch sehen. Wenn die Beispiel CMakeLists.txt so aussieht: project(cxx_standard_ex1) set(SOURCES main.cpp) add_executable(${PROJECT_NAME} ${SOURCES}) set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) und die dann mit den Befehlen cmake -G “Unix Makefiles” . make VERBOSE=1 aufgerufen werden, dann sieht man in der Ausgabe,…

Weiterlesen Weiterlesen

(Video) Grundsätzliche Funktionsweise von CMake

(Video) Grundsätzliche Funktionsweise von CMake

Durch Zufall bin ich auf ein deutsches Video gestoßen, dass erklärt, wie die Funktionsweise von CMake unter Linux ist (CMake -> Make -> kompiliertes Projekt). Ein weiterer Punkt, warum es sich lohnt CMake zu verwenden und der im Video aber nicht ganz dargestellt wird ist der, dass man aus einer CMakeLists.txt nicht nur ein Makefile generieren kann, sondern z.B. auch eine Solutionsdatei für Visual Studio und andere Buildsysteme.

CMake-Beispiel mit harfbuzz

CMake-Beispiel mit harfbuzz

In diesem Post möchte ich ein kleines Beispiel zeigen, wie man ein C++-Projekt mit harfbuzz kompiliert. Das alles zeige ich in einem CentOS docker Container. Aber das sollte eigentlich keinen Unterschied machen, d.h. das gezeigte Beispiel sollte auch auf einem normalen Linuxsystem funktionieren. Für dieses Beispiel habe ich ein einfaches “Hello World”-Beispiel genommen, dass man üblicherweise in jedem C++-Anfängerbuch findet. Diese Datei habe ich main.cpp benannt: #include <iostream> int main(int argc, char **argv) { std::cout << “Hello World!” << std::endl;…

Weiterlesen Weiterlesen

Eine statische Bibliothek unter Linux mit CMake erstellen

Eine statische Bibliothek unter Linux mit CMake erstellen

In diesem Post möchte ich ein kleines Beispiel zeigen, wie man eine statische C++ Bibliothek unter Linux mit Hilfe von CMake baut. Dazu habe ich eine sehr einfache C++-Datei namens funcs.cpp erstellt. Die in der Datei enthaltene Funktion add soll zu Beispielzwecken dann in der statischen Bibliothek enthalten sein. int add(int a, int b) { return (a+b); } Die schon erwähnte Funktion add soll zu Beispielzwecken einfach zwei ganze Zahlen addieren. Um die Datei nun in eine statische Bibliothek zu…

Weiterlesen Weiterlesen

Ein Visual Studio 2019 Projekt mit CMake erstellen

Ein Visual Studio 2019 Projekt mit CMake erstellen

Seit der Version 3.14 kann man mit CMake Visual Studio 2019 Projekte erstellen. In diesem Post möchte ich kurz zeigen, wie das möglich ist. Um dieses Beispiel erfolgreich zum Laufen zu bringen, müssen einige Bedingungen erfüllt sein: Visual Studio 2019 muss auf dem Rechner installiert sein. CMake 3.14 (oder höher) muss installiert sein Der Pfad zur cmake.exe muss in der PATH Variable enthalten sein Mehr braucht es auch nicht. Nun will ich aber mit meinem Beispiel fortfahren. Mein Beispielprojekt für…

Weiterlesen Weiterlesen

CMake: The ASM_NASM compiler identification is unknown

CMake: The ASM_NASM compiler identification is unknown

Neulich bekam ich beim Versuch, unter Ubuntu ein Makefile mit Hilfe von CMake zu erstellen, diese Fehlermeldung: — The ASM_NASM compiler identification is unknown — Didn’t find assembler CMake Error at simd/CMakeLists.txt:41 (enable_language): No CMAKE_ASM_NASM_COMPILER could be found. Tell CMake where to find the compiler by setting either the environment variable “ASM_NASM” or the CMake cache entry CMAKE_ASM_NASM_COMPILER to the full path to the compiler, or to the compiler name if it is in the PATH. — Configuring incomplete, errors…

Weiterlesen Weiterlesen

CMake und VS2017: could not find any instance of Visual Studio.

CMake und VS2017: could not find any instance of Visual Studio.

Vor kurzem bekam ich beim Versuch, ein Visual Studio 2017-Projekt mit CMake zu generieren, diese Fehlermeldung: CMake Error at CMakeLists.txt:3 (project): Generator Visual Studio 15 2017 Win64 could not find any instance of Visual Studio. — Configuring incomplete, errors occurred! Die Fehlermeldung hat mich gewundert, da Visual Studio 2017 doch installiert war. Die Lösung bei mir war, dass ich noch die Komponente Visual C++ tools for CMake and Linux habe installieren müssen: