cmake-init - Inisialisasi Proyek CMake yang hilang cmake-init adalah inisialisasi proyek CMake yang memiliki pendapat yang menghasilkan proyek CMake yang siap beristirahat, target konsumen dan pengembang terpisah, memberikan aturan instalasi dengan paket CMake yang dapat dipindahkan dengan tepat dan menggunakan CMake modern (3.14+).
Silakan lihat wiki misalnya output cmake-init dan contoh pragmatis lainnya dari fungsionalitas yang diimplementasikan untuk cmake, seperti manajer paket, pengujian fuzz, superbuild, dll.






Jika Anda ingin menghubungi saya untuk apa pun yang terkait dengan CMake, maka Anda dapat menemukan saya di saluran #cmake dari C ++ Slack. Jika apa yang ingin Anda ketahui adalah spesifik CMake-init, maka Anda juga dapat mengajukan pertanyaan dalam diskusi repositori ini.
h saat diminta. Perpustakaan statis/bersama? Pilih saja s saat diminta. Sederhana dan benar!FetchContentPastikan Anda menginstal program ini:
CATATAN
Beberapa alat ini dapat digunakan pada windows juga jika Anda ingin menggunakan Visual Studio, tetapi Anda harus menginstal addin ini:
Paket ini tersedia untuk diunduh dari PYPI. Anda dapat menginstal paket ini menggunakan pip :
pip install cmake-init Clang-Tidy adalah alat analisis statis yang membantu Anda melihat kesalahan logis dalam kode Anda sebelum dikompilasi. Script ini memberi Anda opsi untuk mewarisi preset clang-tidy di preset dev Anda, memungkinkan integrasi cmake untuk alat ini.
CI akan selalu menjalankan clang-ridy untuk Anda, jadi sepenuhnya opsional untuk menginstal dan menggunakannya secara lokal, tetapi disarankan.
Untuk pengguna Windows , jika Anda ingin menggunakan Clang-Tidy, maka Anda harus menginstal ninja dan mengatur bidang generator di preset dev Anda ke Ninja . Alasan untuk ini adalah bahwa hanya Makefile dan Ninja yang didukung dengan CMake untuk digunakan dengan dentang-rapi. Untuk generator lain, fitur ini adalah no-op.
CPPCHECK adalah alat analisis statis yang mirip dengan Clang-Tidy, namun tumpang tindih dalam apa yang mereka deteksi minimal, jadi bermanfaat untuk menggunakan keduanya. Skrip ini memberi Anda opsi untuk mewarisi preset cppcheck di preset dev Anda, memungkinkan integrasi CMake untuk alat ini.
CI akan selalu menjalankan CPPCheck untuk Anda, jadi sepenuhnya opsional untuk menginstal dan menggunakannya secara lokal, tetapi disarankan.
Untuk pengguna Windows , jika Anda ingin menggunakan CPPCHECK, maka Anda harus menginstal ninja dan mengatur bidang generator di preset dev Anda ke Ninja . Alasan untuk ini adalah bahwa hanya Makefile dan Ninja yang didukung dengan CMake untuk digunakan dengan CPPCHECK. Untuk generator lain, fitur ini adalah no-op.
Doxygen adalah alat untuk menghasilkan dokumentasi dari kode sumber beranotasi. Sehubungan dengan itu, M.CSS digunakan untuk menyajikan dokumentasi yang dihasilkan.
Proyek yang dihasilkan akan memiliki target docs dalam mode pengembang, yang dapat digunakan untuk membangun dokumentasi ke dalam direktori <binary-dir>/docs/html .
Setelah Doxygen diinstal, pastikan ada doxygen yang dapat dieksekusi ada di PATH , jika tidak, Anda mungkin mendapatkan pesan kesalahan yang membingungkan.
Dokumentasi ini dapat digunakan ke halaman GitHub menggunakan pekerjaan docs dalam alur kerja CI yang dihasilkan. Ikuti komentar yang tersisa di pekerjaan untuk mengaktifkan ini.
Catatan : M.CSS tidak berfungsi dengan Doxygen> = 1.9. Anda dapat menginstal 1.8.20 untuk menggunakan target docs . Lihat masalah #41 dan #48.
LCOV adalah alat untuk memproses info cakupan yang dihasilkan oleh executable yang diinstrumentasi dengan gcov GCC. Info cakupan ini dapat digunakan untuk melihat bagian mana dari program yang dieksekusi.
Proyek yang dihasilkan akan memiliki target coverage dalam mode pengembang jika variabel ENABLE_COVERAGE diaktifkan. Alasan mengapa target terpisah digunakan sebagai ganti langkah coverage bawaan CTEST adalah karena tidak memiliki kustomisasi yang diperlukan. Target ini harus dijalankan setelah pengujian dan secara default akan menghasilkan laporan di <binary-dir>/coverage.info dan laporan HTML di direktori <binary-dir>/coverage_html .
Untuk pengguna Windows , Anda dapat menggunakan alat serupa yang disebut OpencppCoverage, yang mana ada contoh skrip dalam direktori cmake yang dihasilkan. Skrip ini dibiarkan sebagai contoh, karena Linux VM meluncurkan dan berjalan lebih cepat dalam tindakan GitHub dan digunakan untuk pengiriman cakupan.
Cloat-format adalah bagian dari LLVM Tool Suite yang mirip dengan Clang-Tidy. Ini adalah linter kode dan formatter kode, yang dapat digunakan untuk menegakkan panduan gaya.
Dua target tersedia untuk memeriksa dan memperbaiki kode dalam mode pengembang menggunakan target format-check dan format-fix masing-masing.
Catatan : Proyek ini menghasilkan file yang diformat sesuai dengan format dentang 14. Versi yang lebih baru atau lebih lama dapat memformat proyek secara berbeda.
Codespell adalah alat untuk menemukan dan memperbaiki kesalahan ejaan terutama dalam kode sumber.
Dua target tersedia untuk memeriksa dan memperbaiki kesalahan ejaan dalam mode pengembang menggunakan target spell-check dan spell-fix masing-masing.
Bendera -p dapat digunakan untuk memilih manajer paket untuk proyek. Argumen untuk bendera bisa:
none : No Package Manager Integration (default)conan : Integrasi Conanvcpkg : Integrasi VCPKGSaat menggunakan paket manajer, paket berikut digunakan dalam proyek yang dihasilkan:
Pastikan untuk membaca dokumen peretasan yang dihasilkan untuk melihat apa yang perlu dilakukan untuk mengambil dependensi.
cmake-init [--c] <path>-s , -e atau -h setelah dengan cepat membuat perpustakaan bersama, dapat dieksekusi, atau hanya perpustakaan header saja. Sakelar --c akan mengatur tipe proyek yang dihasilkan ke C alih -alih C ++.cmake-init --help cmake-init adalah perangkat lunak gratis: Anda dapat menggunakan, mempelajari, membagikan, dan meningkatkannya sesuai keinginan Anda. Secara khusus Anda dapat mendistribusikan kembali dan/atau memodifikasinya di bawah ketentuan Lisensi Publik Umum GNU seperti yang diterbitkan oleh Free Software Foundation, baik versi 3 lisensi, atau (di opsi Anda) versi selanjutnya.
Isi dari direktori cmake-init/templates dilisensikan menggunakan lisensi Unlicense. Lihat lisensi di direktori itu untuk perincian lebih lanjut.