Keluaran sistem binaan CMake 3.15

mengambil tempat keluaran penjana skrip binaan terbuka merentas platform CMmake 3.15, yang bertindak sebagai alternatif kepada Autotools dan digunakan dalam projek seperti KDE, LLVM/Clang, MySQL, MariaDB, ReactOS dan Blender. Kod CMake ditulis dalam C++ dan diedarkan di bawah lesen BSD.

CMake terkenal kerana menyediakan bahasa skrip yang mudah, satu cara untuk melanjutkan fungsi melalui modul, bilangan kebergantungan yang minimum (tiada mengikat M4, Perl atau Python), sokongan caching, kehadiran alat untuk kompilasi silang, sokongan untuk menjana binaan fail untuk pelbagai sistem binaan dan penyusun, kehadiran ctest dan utiliti cpack untuk mentakrifkan skrip ujian dan membina pakej, utiliti cmake-gui untuk menetapkan parameter binaan secara interaktif.

Utama penambahbaikan:

  • Sokongan bahasa awal telah ditambahkan pada penjana skrip binaan berasaskan Ninja Swift, dibangunkan oleh Apple;
  • Menambah sokongan untuk varian pengkompil Clang untuk Windows yang dibina dengan MSVC ABI, tetapi menggunakan pilihan baris arahan gaya GNU;
  • Menambah pembolehubah CMAKE_MSVC_RUNTIME_LIBRARY dan MSVC_RUNTIME_LIBRARY untuk memilih perpustakaan masa jalan yang digunakan oleh pengkompil berdasarkan MSVC ABI (MS Visual Studio);
  • Untuk penyusun seperti MSVC, CMAKE__FLAGS secara lalai menghentikan penyenaraian bendera kawalan amaran seperti "/W3";
  • Menambah ungkapan penjana "COMPILE_LANG_AND_ID:" untuk menentukan pilihan pengkompil untuk fail sasaran, menggunakan pembolehubah CMAKE__COMPILER_ID dan LANGUAGE untuk setiap fail kod;
  • Dalam ungkapan penjana C_COMPILER_ID, CXX_COMPILER_ID,
    CUDA_COMPILER_ID, Fortran_COMPILER_ID, COMPILE_LANGUAGE,
    COMPILE_LANG_AND_ID dan PLATFORM_ID menambah sokongan untuk memadankan nilai tunggal pada senarai yang elemennya dipisahkan dengan koma;

  • Menambah pembolehubah CMAKE_FIND_PACKAGE_PREFER_CONFIG supaya memanggil find_package() akan mencari fail konfigurasi pakej terlebih dahulu, walaupun pencari tersedia;
  • Untuk perpustakaan antara muka, sokongan telah ditambahkan untuk menetapkan sifat PUBLIC_HEADER dan PRIVATE_HEADER, yang mana pengepala boleh ditetapkan menggunakan perintah install(TARGETS) dengan menghantar argumen PUBLIC_HEADER dan PRIVATE_HEADER;
  • Menambah pembolehubah CMAKE_VS_JUST_MY_CODE_DEBUGGING dan sifat sasaran VS_JUST_MY_CODE_DEBUGGING untuk mendayakan mod "Hanya Kod Saya" dalam penyahpepijat Visual Studio apabila menyusun menggunakan MSVC cl 19.05 dan versi yang lebih baharu;
  • Modul FindBoost telah direka bentuk semula, yang kini berfungsi lebih holistik dalam mod Konfig dan Modul dengan kehadiran modul carian lain;
  • Perintah message() kini menyokong jenis NOTICE, VERBOSE,
    DEBUG dan TRACE;

  • Perintah "eksport(PACKAGE)" kini tidak melakukan apa-apa melainkan didayakan secara eksplisit melalui pembolehubah CMAKE_EXPORT_PACKAGE_REGISTRY.

Sumber: opennet.ru

Tambah komen