?? Versi bahasa Inggris
Tiup dan ubah "mylib" menjadi namamu.
Atau hasilkan proyek Anda menggunakan skrip: https://github.com/izvolov/mylib-gen
Perakitan proyek ini, seperti proyek lainnya di sistem perakitan CMake, terdiri dari dua tahap:
cmake -S путь/к/исходникам -B путь/к/сборочной/директории [опции ...]Baca lebih lanjut tentang opsi.
cmake --build путь/к/сборочной/директории [--target target]Baca lebih lanjut tentang tujuan perakitan.
cmake -S ... -B ... -DMYLIB_COVERAGE=ON [прочие опции ...] Termasuk tujuan coverage , yang dengannya Anda dapat mulai mengukur penutup kode dengan tes.
cmake -S ... -B ... -DMYLIB_TESTING=OFF [прочие опции ...] Memberikan kesempatan untuk mematikan perakitan tes modular dan tujuan check . Akibatnya, kode dimatikan oleh lapisan inti dengan tes (lihat Coating).
Pengujian juga secara otomatis terputus jika proyek terhubung ke proyek lain sebagai sub -proye menggunakan perintah add_subdirectory .
cmake -S ... -B ... -DDOXYGEN_OUTPUT_LANGUAGE=English [прочие опции ...] Ini mengganti bahasa dokumentasi, yang dihasilkan oleh tujuan doc ke yang diberikan. Untuk daftar bahasa yang dapat diakses, lihat situs web Sistem Doxygen.
Secara default, orang Rusia disertakan.
cmake --build путь/к/сборочной/директории
cmake --build путь/к/сборочной/директории --target all Jika tujuan tidak diindikasikan (yang setara dengan tujuan all ), mengumpulkan segala sesuatu yang mungkin, dan juga menyebabkan tujuan check .
cmake --build путь/к/сборочной/директории --target mylib_library Disusun oleh perpustakaan mylib_library . Termasuk secara default.
cmake --build путь/к/сборочной/директории --target mylib-unit-testsMengkompilasi tes modular. Termasuk secara default.
cmake --build путь/к/сборочной/директории --target checkRune Tes modular yang dikumpulkan (mengumpulkan, jika belum). Termasuk secara default.
Lihat juga mylib-unit-tests .
cmake --build путь/к/сборочной/директории --target coverageAnalisis Tes Modular Lanjutan (Peluncuran, jika belum) untuk mencakup kode dengan tes menggunakan program GCOVR.
Tujuannya hanya tersedia dengan opsi MYLIB_COVERAGE yang disertakan.
Lihat juga check .
cmake --build путь/к/сборочной/директории --target docRunes Generasi dokumentasi untuk kode menggunakan sistem doxygen.
cmake --build путь/к/сборочной/директории --target wandboxUntuk ini, layanan wandbox digunakan. Jangan menyalahgunakan hal ini, servernya bukan karet.
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 docSalah satu opsi untuk menggunakan modul adalah menginstalnya di sistem.
cmake --build путь/к/сборочной/директории --target install Setelah itu, proyek lain, memanggil perintah find_package , mendapat kesempatan untuk menggunakan semua perpustakaan dari Mylib::
find_package (Mylib 1.0 REQUIRED)
add_executable (some_executable some.cpp sources .cpp)
target_link_libraries (some_executable PRIVATE Mylib::library) Mylib::library perlu dihubungkan ketika Anda perlu tetap dengan perpustakaan libmylib_library . Jika ada cukup berita utama, maka ada baiknya menggunakan Mylib::headers .
Proyek ini juga dapat dihubungkan ke proyek lain sebagai submodule menggunakan perintah add_subdirectory .
Dalam hal ini, Mylib::library dan Mylib::headers akan tersedia dengan cara yang sama.
Cmake 3.14
CMake 3.14 diperlukan karena dalam versi sebelumnya install(TARGETS ... EXPORT ...) salah dalam versi sebelumnya, yaitu, jalur default tidak ditentukan.
Perpustakaan Tes Doctest
Pengujian dapat dimatikan (lihat Pengujian).
Doxygen
Untuk mengganti bahasa di mana dokumentasi akan dihasilkan, opsi DOXYGEN_OUTPUT_LANGUAGE disediakan.
Interpreter Jap Python 3
Untuk generasi otomatis sandwich online.
Dengan bantuan CMake dan sepasang alat yang baik, Anda dapat memberikan analisis statis dengan gerakan tubuh minimal.
CMake telah membangun dukungan untuk analisis statis CPPCHECK.
Untuk melakukan ini, gunakan opsi CMAKE_CXX_CPPCHECK :
cmake -S путь/к/исходникам -B путь/к/сборочной/директории -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_CPPCHECK= " cppcheck;--enable=all;-Iпуть/к/исходникам/include "Setelah itu, analisis statis akan secara otomatis diluncurkan setiap kali selama kompilasi dan silang -kompleks dari sumber. Anda tidak perlu melakukan apa pun tambahan.
Dengan bantuan alat scan-build yang indah, Anda juga dapat memulai analisis statis dalam dua skor:
scan-build cmake -S путь/к/исходникам -B путь/к/сборочной/директории -DCMAKE_BUILD_TYPE=Debug
scan-build cmake --build путь/к/сборочной/директории Di sini, tidak seperti kasus dengan CPPCheck, perlu untuk menjalankan perakitan melalui scan-build setiap kali.