CMake 3.17.0 hadir dengan generator skrip Ninja baru, peningkatan, dan lainnya

Peluncuran versi baru pembuat skrip sumber terbuka lintas platform Buat 3.17, di mana pengembang telah bekerja untuk menambahkan yang baru pembuat skrip bernama "Ninja Multi-Config", peningkatan generator skrip Visual Studio, pengoptimalan umum, dan lainnya.

Bagi yang belum tahu Buat, mereka harus tahu itu adalah pembuatan kode multiplatform atau alat otomatisasi yang bertindak sebagai alternatif untuk Autotools dan digunakan dalam proyek seperti KDE, LLVM / Clang, MySQL, MariaDB, ReactOS, dan Blender.

Buat terkenal karena menyediakan bahasa skrip sederhana, berarti memperluas fungsionalitas di seluruh modul, jumlah dependensi minimal (tidak mengikat M4, Perl, atau Python), dukungan untuk caching, adanya alat untuk kompilasi silang, dukungan untuk menghasilkan file build untuk berbagai kompiler dan sistem build, adanya ctest dan cpack Utilities untuk menentukan skrip pengujian dan build, utilitas cmake-gui untuk mengonfigurasi parameter build secara interaktif.

Utilitas ini digunakan untuk mengontrol proses kompilasi perangkat lunak menggunakan file konfigurasi sederhana dan platform independen. Menghasilkan makefile dan ruang kerja asli yang dapat digunakan di lingkungan pengembangan yang diinginkan.

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

Apa yang baru di CMake 3.17.0

Seperti yang disebutkan di awal, salah satu hal baru yang menonjol dalam CMake 3.17.0 versi baru ini adalah menambahkan generator skrip build baru berdasarkan alat Ninja, yang memiliki nama «Ninja Multi-Konfigurasi«, Yang berbeda dari genset sebelumnya karena ini genset baru memberikan kemampuan untuk memproses beberapa konfigurasi build secara bersamaan.

Sementara itu, di pembuat skrip build Untuk Visual Studio, Anda sekarang dapat menentukan file sumber yang dilampirkan ke setiap pengaturan.

Kemampuan untuk menyetel metaparameter untuk CUDA ("Cuda_std_03", "cuda_std_14", dll.) telah ditambahkan ke alat untuk mengkonfigurasi fungsi kompilator (Fungsi kompilasi).

Selain itu, iklan menyebutkan itu variabel ditambahkan «CMAKE_CUDA_RUNTIME_LIBRARY"Y"CUDA_RUNTIME_LIBRARY»Untuk memilih jenis pustaka runtime saat menggunakan CUDA dan juga modul« FindCUDAToolkit »untuk menentukan alat CUDA yang tersedia pada sistem tanpa menyertakan bahasa CUDA.

Di CMake 3.17.0 perintah «–Debug-find»Telah ditambahkan untuk menampilkan diagnostik tambahan yang dapat dibaca saat mencari. Untuk tujuan serupa, variabel CMAKE_FIND_DEBUG_MODE.

Ditambahkan dukungan untuk menemukan alat CURL dalam modul «FindCURL» menggunakan file konfigurasi "CURLConfig.cmake" yang dibuat oleh cmake. Untuk menonaktifkan perilaku ini, variabel CURL_NO_CURL_CMAKE disediakan.

Modul FindPython menambahkan kemampuan untuk mencari komponen Python dalam lingkungan virtual yang dikendalikan oleh «konda".

Ditambahkan pilihan «–Tidak ada tes = [kesalahan | mengabaikan]»Untuk utilitas ctest ke menentukan perilaku tanpa adanya bukti dan "–repeat" untuk menetapkan kondisi untuk memulai ulang pengujian (hingga lulus, setelah batas waktu).

Dari perubahan lain yang disebutkan dalam pengumuman:

  • Bangun properti target INTERFACE_LINK_OPTIONS, INTERFACE_LINK_DIRECTORIES e INTERFACE_LINK_DEPENDS mereka diteruskan di antara dependensi internal dari library yang dirakit secara statis.
  • Saat menggunakan toolkit MinGW, cari file DLL menggunakan perintah temukan_perpustakaan itu dinonaktifkan secara default (sebagai gantinya dilakukan upaya untuk mengimpor pustaka ".dll.a" secara default).
  • Logika memilih utilitas ninja di generator Ninja sekarang tidak bergantung pada nama file yang dapat dieksekusi - utilitas pertama digunakan membangun ninja, ninja o Samu ditemukan, yang ditemukan di jalur yang ditentukan melalui variabel lingkungan PATH.
  • Perintah "-Erm»Telah ditambahkan ke utilitas cmake, yang dapat digunakan untuk menghapus file dan direktori sebagai ganti dari perintah terpisah«-E hapus"Y"-E hapus_direktori".

Akhirnya jika Anda ingin tahu lebih banyak tentang itu, Anda dapat memeriksa pengumuman versi baru ini di 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.