Rilis sistem build CMake 3.15

ambil tempat rilis generator skrip build terbuka lintas platform Buat 3.15, yang bertindak sebagai alternatif untuk Autotools dan digunakan dalam proyek-proyek seperti KDE, LLVM/Clang, MySQL, MariaDB, ReactOS dan Blender. Kode CMake ditulis dalam C++ dan didistribusikan di bawah lisensi BSD.

CMake terkenal karena menyediakan bahasa skrip yang sederhana, sarana untuk memperluas fungsionalitas melalui modul, jumlah dependensi yang minimal (tidak terikat pada M4, Perl atau Python), dukungan caching, kehadiran alat untuk kompilasi silang, dukungan untuk menghasilkan build file untuk berbagai sistem build dan kompiler, keberadaan utilitas ctest dan cpack untuk menentukan skrip pengujian dan paket build, utilitas cmake-gui untuk mengatur parameter build secara interaktif.

Utama perbaikan:

  • Dukungan bahasa awal telah ditambahkan ke generator skrip build berbasis Ninja cepat, dikembangkan oleh Apple;
  • Menambahkan dukungan untuk varian kompiler Clang untuk Windows yang dibuat dengan MSVC ABI, tetapi menggunakan opsi baris perintah gaya GNU;
  • Menambahkan variabel CMAKE_MSVC_RUNTIME_LIBRARY dan MSVC_RUNTIME_LIBRARY untuk memilih pustaka runtime yang digunakan oleh kompiler berdasarkan MSVC ABI (MS Visual Studio);
  • Untuk kompiler seperti MSVC, CMAKE__FLAGS secara default berhenti mencantumkan flag kontrol peringatan seperti "/W3";
  • Menambahkan ekspresi generator "COMPILE_LANG_AND_ID:" untuk menentukan opsi kompiler untuk file target, menggunakan variabel CMAKE__COMPILER_ID dan LANGUAGE untuk setiap file kode;
  • Dalam ekspresi generator C_COMPILER_ID, CXX_COMPILER_ID,
    CUDA_COMPILER_ID, Fortran_COMPILER_ID, COMPILE_LANGUAGE,
    COMPILE_LANG_AND_ID dan PLATFORM_ID menambahkan dukungan untuk mencocokkan satu nilai ke daftar yang elemennya dipisahkan dengan koma;

  • Menambahkan variabel CMAKE_FIND_PACKAGE_PREFER_CONFIG sehingga pemanggilan find_package() akan mencari file konfigurasi paket terlebih dahulu, meskipun pencari tersedia;
  • Untuk pustaka antarmuka, dukungan telah ditambahkan untuk menyetel properti PUBLIC_HEADER dan PRIVATE_HEADER, yang dengannya header dapat disetel menggunakan perintah install(TARGETS) dengan meneruskan argumen PUBLIC_HEADER dan PRIVATE_HEADER;
  • Menambahkan variabel CMAKE_VS_JUST_MY_CODE_DEBUGGING dan properti target VS_JUST_MY_CODE_DEBUGGING untuk mengaktifkan mode "Just My Code" di debugger Visual Studio saat kompilasi menggunakan MSVC cl 19.05 dan versi yang lebih baru;
  • Modul FindBoost telah didesain ulang, yang kini bekerja lebih holistik dalam mode Konfigurasi dan Modul dengan adanya modul pencarian lainnya;
  • Perintah message() sekarang mendukung tipe NOTICE, VERBOSE,
    DEBUG dan JEJAK;

  • Perintah "ekspor(PACKAGE)" sekarang tidak melakukan apa pun kecuali diaktifkan secara eksplisit melalui variabel CMAKE_EXPORT_PACKAGE_REGISTRY.

Sumber: opennet.ru

Tambah komentar