Pembaruan generator skrip CMake 3.15 baru telah dirilis

membuat

Beberapa hari yang lalu CMake 3.15 generator skrip open source lintas platform dirilis yang bertindak sebagai alternatif untuk Autotools dan digunakan dalam proyek seperti KDE, LLVM / Clang, MySQL, MariaDB, ReactOS, dan Blender.

CMake adalah pembuatan kode multiplatform atau alat otomatisasi. Nama tersebut merupakan singkatan dari "cross platform make" (make cross platform, di luar penggunaan "make" pada namanya, CMake adalah suite terpisah dan tingkat yang lebih tinggi dari sistem make umum dari Unix, mirip dengan autotools.

Tentang CMake

Buat terkenal karena menyediakan bahasa skrip sederhana, alat untuk memperluas fungsionalitas di seluruh modul, jumlah minimal ketergantungan (tidak terikat ke M4, Perl, atau Python), dukungan caching, ketersediaan alat untuk kompilasi silang, dukungan untuk menghasilkan file rakitan untuk berbagai sistem kompilator dan kompiler.

Utilitas ctest dan cpack untuk menentukan skenario pengujian dan pembuatan paket, dengan utilitas cmake-gui untuk mengonfigurasi parameter build secara interaktif.

CMake digunakan untuk mengontrol proses kompilasi perangkat lunak menggunakan file konfigurasi sederhana dan independen dari platform. Cmake menghasilkan makefile dan ruang kerja asli yang dapat digunakan di lingkungan pengembangan yang diinginkan.

Ini sebanding dengan sistem build GNU Unix yang prosesnya dikontrol oleh file konfigurasi, dalam kasus CMake disebut CMakeLists.txt.

Berbeda dengan sistem build GNU, yang dibatasi untuk platform Unix, CMake mendukung pembuatan file untuk berbagai sistem operasi, yang memfasilitasi pemeliharaan dan menghilangkan kebutuhan untuk memiliki beberapa set file untuk setiap platform.

Proses build dikontrol dengan membuat satu atau beberapa file CMakeLists.txt di setiap direktori (termasuk subdirektori).

Kode CMake ditulis dalam C ++ dan didistribusikan di bawah lisensi BSD.

Fitur baru utama CMake 3.15

Versi baru ini disorot oleh kedatangan dukungan generator awal untuk bahasa Swift Dikembangkan oleh Apple telah ditambahkan ke generator skrip perakitan Ninja Toolkit.

Selain ini, juga dilengkapi dukungan untuk opsi compiler Clang untuk Windows yang dibangun dengan ABI MSVC, tetapi menggunakan opsi baris perintah gaya GNU.

Para pengembang menekankan bahwa variabel CMAKE_MSVC_RUNTIME_LIBRARY y MSVC_RUNTIME_LIBRARY ditambahkan untuk memilih pustaka runtime yang digunakan oleh kompiler ABI MSVC (MSVisual Studio).

Untuk penyusun seperti MSVCdi CMAKE__FLAGSSecara default, daftar flag kontrol peringatan seperti "/ W3" dihentikan.

Dari perbaikan lain yang disorot dalam pengumuman rilis versi baru ini, kami menemukan yang berikut:

  • Menambahkan ekspresi penghasil 'COMPILE_LANG_AND_ID: »Untuk menentukan opsi kompilator untuk file target yang menggunakan variabel CMAKE__COMPILER_ID y LANGUAGE untuk setiap file kode
  • Ekspresi generator C_COMPILER_ID, CXX_COMPILER_ID, CUDA_COMPILER_ID, Fortran_COMPILER_ID, COMPILE_LANGUAGE, COMPILE_LANG_AND_ID y PLATFORM_ID menambahkan dukungan untuk mencocokkan nilai ke daftar, item yang dipisahkan koma
  • Variabel telah ditambahkan CMAKE_FIND_PACKAGE_PREFER_CONFIG, di mana panggilan ke find_package () akan mencari file konfigurasi paket terlebih dahulu, meskipun modul pencarian tersedia
  • Untuk pustaka antarmuka, dukungan telah ditambahkan untuk mengatur properti PUBLIC_HEADER y PRIVATE_HEADER, yang headernya dapat dikonfigurasi dengan perintah instal (TARGET) yang meneruskan argumen PUBLIC_HEADER y PRIVATE_HEADER
  • Variabel telah ditambahkan CMAKE_VS_JUST_MY_CODE_DEBUGGING dan properti tujuan VS_JUST_MY_CODE_DEBUGGING untuk mengaktifkan mode "Just My Code" di debugger Visual Studio saat menyusun menggunakan MSVC cl 19.05 dan versi yang lebih baru.
  • Modul FindBoost telah dikerjakan ulang, yang sekarang sedang bekerja lebih lengkap dalam konfigurasi dan mode modul dengan hadirnya modul pencarian lainnya
  • Dukungan untuk jenis NOTICE, VERBOSE, DEBUG, dan TRACE telah ditambahkan ke perintah message ()
  • Perintah "export (PACKAGE)" sekarang tidak melakukan apa-apa hingga secara eksplisit diaktifkan melalui variabel CMAKE_EXPORT_PACKAGE_REGISTRY.

Jika Anda ingin tahu lebih banyak tentang itu Anda bisa berkonsultasi link berikut.


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.