Kemas kini penjana skrip CMake 3.15 baru telah dikeluarkan

cicah

Beberapa hari yang lalu Penjana skrip sumber terbuka CMake 3.15 dilepaskan yang bertindak sebagai alternatif kepada Autotools dan digunakan dalam projek seperti KDE, LLVM / Clang, MySQL, MariaDB, ReactOS, dan Blender.

CMake adalah alat penjanaan kod atau automasi pelbagai platform. Nama itu adalah singkatan untuk "cross platform make" (buat cross platform, di luar penggunaan "make" pada nama, CMake adalah suite yang berasingan dan tingkat yang lebih tinggi daripada sistem pembuatan biasa Unix, serupa dengan autotools.

Mengenai CMake

CMake terkenal kerana menyediakan bahasa skrip yang mudah, alat untuk memperluas fungsi merentasi modul, bilangan kebergantungan minimum (tidak mengikat M4, Perl, atau Python), sokongan cache, ketersediaan alat untuk penyusunan silang, sokongan untuk menghasilkan fail pemasangan untuk sistem penyusun dan penyusun yang pelbagai.

Utiliti ctest dan cpack untuk menentukan senario ujian dan pembuatan pakej, dengan utiliti cmake-gui untuk mengkonfigurasi parameter binaan secara interaktif.

CMake digunakan untuk mengendalikan proses penyusunan perisian menggunakan fail konfigurasi yang sederhana dan bebas dari platform. Cmake menghasilkan makefiles asli dan ruang kerja yang boleh digunakan di persekitaran pembangunan yang diinginkan.

Ia setanding dengan sistem build Unix GNU di mana prosesnya dikendalikan oleh fail konfigurasi, dalam hal CMake disebut CMakeLists.txt.

Tidak seperti sistem pembinaan GNU, yang terhad kepada platform Unix, CMake menyokong penghasilan fail untuk pelbagai sistem operasi, yang memudahkan penyelenggaraan dan menghilangkan keperluan untuk memiliki beberapa set fail untuk setiap platform.

Proses membina dikendalikan dengan membuat satu atau lebih fail CMakeLists.txt di setiap direktori (termasuk subdirektori).

Kod CMake ditulis dalam C ++ dan diedarkan di bawah lesen BSD.

CMake 3.15 Ciri Baru Utama

Versi baru ini diserlahkan dengan kedatangan sokongan penjana awal untuk bahasa Swift dibangunkan oleh Apple telah ditambahkan ke penjana skrip pemasangan Ninja Toolkit.

Selain ini, juga ada sokongan untuk pilihan penyusun Clang untuk Windows yang dibina dengan ABI MSVC, tetapi menggunakan pilihan baris arahan gaya GNU.

Pembangun menekankan bahawa pemboleh ubah CMAKE_MSVC_RUNTIME_LIBRARY y MSVC_RUNTIME_LIBRARY ditambahkan untuk memilih perpustakaan runtime yang digunakan oleh penyusun ABI MSVC (Studio Visual MS).

Untuk penyusun seperti MSVCdalam CMAKE__FLAGSSecara lalai, senarai bendera kawalan amaran seperti "/ W3" dihentikan.

Dari penambahbaikan lain yang diketengahkan dalam pengumuman pelepasan versi baru ini, kami dapati yang berikut:

  • Menambah ungkapan penghasilan 'COMPILE_LANG_AND_ID: »Untuk menentukan pilihan penyusun untuk fail sasaran yang menggunakan pemboleh ubah CMAKE__COMPILER_ID y LANGUAGE untuk setiap fail kod
  • Ungkapan penjana C_COMPILER_ID, CXX_COMPILER_ID, CUDA_COMPILER_ID, Fortran_COMPILER_ID, COMPILE_LANGUAGE, COMPILE_LANG_AND_ID y PLATFORM_ID tambahkan sokongan untuk memadankan nilai dengan senarai, item yang dipisahkan dengan koma
  • Pemboleh ubah ditambahkan CMAKE_FIND_PACKAGE_PREFER_CONFIG, di mana panggilan untuk mencari_package () akan mencari fail konfigurasi pakej terlebih dahulu, walaupun modul carian tersedia
  • Untuk perpustakaan antara muka, sokongan telah ditambahkan untuk menetapkan sifat PUBLIC_HEADER y PRIVATE_HEADER, yang tajuknya dapat dikonfigurasi dengan perintah install (TARGETS) melewati argumen PUBLIC_HEADER y PRIVATE_HEADER
  • Pemboleh ubah ditambahkan CMAKE_VS_JUST_MY_CODE_DEBUGGING dan harta tujuan VS_JUST_MY_CODE_DEBUGGING untuk mengaktifkan mod "Just My Code" dalam debugger Visual Studio ketika menyusun menggunakan MSVC cl 19.05 dan versi yang lebih baru.
  • Modul FindBoost telah dikerjakan semula, yang kini sedang dikerjakan dengan lebih lengkap dalam mod konfigurasi dan modul dengan adanya modul carian yang lain
  • Sokongan untuk jenis NOTIS, VERBOSE, DEBUG, dan TRACE telah ditambahkan pada perintah message ()
  • Perintah "eksport (PAKEJ)" sekarang tidak melakukan apa-apa sehingga diaktifkan secara eksplisit melalui pemboleh ubah CMAKE_EXPORT_PACKAGE_REGISTRY.

Sekiranya anda ingin mengetahui lebih lanjut mengenainya, anda boleh berjumpa pautan berikut.


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.