? Englische Version
Blasen und "Mylib" in Ihren Namen ändern.
Oder generieren Sie Ihr Projekt mit dem Skript: https://github.com/izvolov/mylib-gen
Die Montage dieses Projekts besteht wie jedes andere Projekt auf dem CMake -Assemblersystem aus zwei Phasen:
cmake -S путь/к/исходникам -B путь/к/сборочной/директории [опции ...]Lesen Sie mehr über Optionen.
cmake --build путь/к/сборочной/директории [--target target]Lesen Sie mehr über Montageziele.
cmake -S ... -B ... -DMYLIB_COVERAGE=ON [прочие опции ...] Enthält den Zweck von coverage , mit der Sie mit der Messung des Codeabdecks mit Tests beginnen können.
cmake -S ... -B ... -DMYLIB_TESTING=OFF [прочие опции ...] Bietet die Möglichkeit, die Montage modularer Tests und das Ziel des check auszuschalten. Infolgedessen wird der Code durch die Kernbeschichtung mit Tests ausgeschaltet (siehe Beschichtung).
Das Testen wird auch automatisch getrennt, wenn das Projekt mit dem Befehl add_subdirectory mit einem anderen Projekt als Sub -Project verbunden ist.
cmake -S ... -B ... -DDOXYGEN_OUTPUT_LANGUAGE=English [прочие опции ...] Es wechselt die Sprache der Dokumentation, die durch das doc -Ziel zu einem bestimmten. Eine Liste von zugänglichen Sprachen finden Sie auf der Website von Doxygen System.
Standardmäßig ist Russisch enthalten.
cmake --build путь/к/сборочной/директории
cmake --build путь/к/сборочной/директории --target all Wenn das Ziel nicht angegeben ist (was dem Ziel all entspricht), sammelt alles, was möglich ist, und verursacht auch das Ziel check .
cmake --build путь/к/сборочной/директории --target mylib_library Zusammengestellt von der Bibliothek mylib_library . Standardmäßig enthalten.
cmake --build путь/к/сборочной/директории --target mylib-unit-testsKompiliert modulare Tests. Standardmäßig enthalten.
cmake --build путь/к/сборочной/директории --target checkRunen die gesammelten modularen Tests (sammelt, wenn auch nicht noch). Standardmäßig enthalten.
Siehe auch mylib-unit-tests .
cmake --build путь/к/сборочной/директории --target coverageAnalysiert erweiterte Modulartests für erweiterte (falls biss noch), um Code mit Tests mit dem GCOVR -Programm abzudecken.
Das Ziel ist nur mit der enthaltenen Option MYLIB_COVERAGE verfügbar.
Siehe auch check .
cmake --build путь/к/сборочной/директории --target docRunen die Generierung von Dokumentationen für den Code mithilfe des Doxygen -Systems.
cmake --build путь/к/сборочной/директории --target wandboxDafür wird der Wandbox -Dienst verwendet. Missbrauche dieses Ding nicht, der Server ist kein Gummi.
cmake -S путь/к/исходникам -B путь/к/сборочной/директории -DCMAKE_BUILD_TYPE=Debug -DMYLIB_COVERAGE=ON
cmake --build путь/к/сборочной/директории --target coverage --parallel 16cmake -S путь/к/исходникам -B путь/к/сборочной/директории -DMYLIB_TESTING=OFF -DCMAKE_INSTALL_PREFIX=путь/к/установойной/директории
cmake --build путь/к/сборочной/директории --target installcmake -S путь/к/исходникам -B путь/к/сборочной/директории -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=g++-8 -DCMAKE_PREFIX_PATH=путь/к/директории/куда/установлены/зависимости
cmake --build путь/к/сборочной/директории --parallel 4cmake -S путь/к/исходникам -B путь/к/сборочной/директории -DCMAKE_BUILD_TYPE=Release -DDOXYGEN_OUTPUT_LANGUAGE=English
cmake --build путь/к/сборочной/директории --target docEine der Optionen zur Verwendung des Moduls ist die Installation im System.
cmake --build путь/к/сборочной/директории --target install Danach erhält jedes andere Projekt, das find_package aufruft, die Möglichkeit, alle Bibliotheken aus dem Mylib::
find_package (Mylib 1.0 REQUIRED)
add_executable (some_executable some.cpp sources .cpp)
target_link_libraries (some_executable PRIVATE Mylib::library) Die Mylib::library muss angeschlossen werden, wenn Sie sich an die Bibliothek libmylib_library halten müssen. Wenn es genügend Schlagzeilen gibt, lohnt es sich, die Mylib::headers zu verwenden.
Das Projekt kann auch mit dem Befehl add_subdirectory mit einem anderen Projekt als Submodul verbunden werden.
In diesem Fall werden Mylib::library und Mylib::headers in ähnlicher Weise verfügbar sein.
CMake 3.14
CMake 3.14 ist erforderlich, da in früheren Versionen das install(TARGETS ... EXPORT ...) in früheren Versionen fälschlicherweise funktioniert, nämlich die Standardpfade nicht vorgeschrieben.
Doctest Testing Library
Tests können ausgeschaltet werden (siehe Test).
Doxygen
Um die Sprache zu wechseln, in der die Dokumentation generiert wird, wird die Option DOXYGEN_OUTPUT_LANGUAGE bereitgestellt.
Dolmetscher Jap Python 3
Zur automatischen Generation eines Online -Sandwichs.
Mit Hilfe von CMake und einem Paar guter Werkzeuge können Sie statische Analysen mit minimalen Körperbewegungen durchführen.
CMake hat eine Unterstützung für eine statische Analyse von CPPcheck aufgebaut.
Verwenden Sie dazu die Option CMAKE_CXX_CPPCHECK :
cmake -S путь/к/исходникам -B путь/к/сборочной/директории -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_CPPCHECK= " cppcheck;--enable=all;-Iпуть/к/исходникам/include "Danach wird die statische Analyse jedes Mal während der Zusammenstellung und der Überquerung der Quelle automatisch gestartet. Sie müssen nichts zusätzliches tun.
Mit Hilfe eines wunderbaren scan-build Tools können Sie auch eine statische Analyse in zwei Bewertungen starten:
scan-build cmake -S путь/к/исходникам -B путь/к/сборочной/директории -DCMAKE_BUILD_TYPE=Debug
scan-build cmake --build путь/к/сборочной/директории Im Gegensatz zu CPPCheck ist es im Gegensatz zu CPPCheck erforderlich, die Montage jedes Mal über scan-build zu führen.