CMake 3.15 yapı sisteminin piyasaya sürülmesi

gerçekleşti platformlar arası açık derleme komut dosyası oluşturucusunun piyasaya sürülmesi CMake 3.15Autotools'a alternatif olarak çalışan ve KDE, LLVM/Clang, MySQL, MariaDB, ReactOS ve Blender gibi projelerde kullanılan . CMake kodu C++ ile yazılmıştır ve BSD lisansı altında dağıtılmaktadır.

CMake, basit bir kodlama dili, modüller aracılığıyla işlevselliği genişletmenin bir yolu, minimum sayıda bağımlılık (M4, Perl veya Python'a bağlanma yok), önbellek desteği, çapraz derleme araçlarının varlığı, yapı oluşturma desteği sağlamasıyla dikkat çekiyor. çok çeşitli derleme sistemleri ve derleyiciler için dosyalar, test komut dosyalarını ve derleme paketlerini tanımlamak için varlık ctest ve cpack yardımcı programları, derleme parametrelerini etkileşimli olarak ayarlamak için cmake-gui yardımcı programı.

Ana iyileştirmeler:

  • Ninja tabanlı derleme komut dosyası oluşturucuya başlangıç ​​dil desteği eklendi HızlıApple tarafından geliştirilen;
  • MSVC ABI ile oluşturulan, ancak GNU tarzı komut satırı seçeneklerini kullanan Windows için Clang derleyicisinin bir çeşidi için destek eklendi;
  • MSVC ABI'ye (MS Visual Studio) dayalı derleyiciler tarafından kullanılan çalışma zamanı kitaplıklarını seçmek için CMAKE_MSVC_RUNTIME_LIBRARY ve MSVC_RUNTIME_LIBRARY değişkenleri eklendi;
  • MSVC gibi derleyiciler için, CMAKE__FLAGS varsayılan olarak "/W3" gibi uyarı kontrol bayraklarını listelemeyi durdurur;
  • Her kod dosyası için CMAKE__COMPILER_ID ve LANGUAGE değişkenlerini kullanarak hedef dosyalara yönelik derleyici seçeneklerini tanımlamak üzere "COMPILE_LANG_AND_ID:" oluşturucu ifadesi eklendi;
  • Oluşturucu ifadelerinde C_COMPILER_ID, CXX_COMPILER_ID,
    CUDA_COMPILER_ID, Fortran_COMPILER_ID, COMPILE_LANGUAGE,
    COMPILE_LANG_AND_ID ve PLATFORM_ID, tek bir değeri, öğeleri virgülle ayrılmış bir listeyle eşleştirmek için destek ekledi;

  • CMAKE_FIND_PACKAGE_PREFER_CONFIG değişkeni eklendi, böylece find_package() çağrıldığında, bir bulucu mevcut olsa bile ilk olarak paketin yapılandırma dosyası aranacaktır;
  • Arayüz kitaplıkları için, PUBLIC_HEADER ve PRIVATE_HEADER bağımsız değişkenlerini ileterek install(TARGETS) komutunu kullanarak başlıkların ayarlanabileceği PUBLIC_HEADER ve PRIVATE_HEADER özelliklerinin ayarlanmasına yönelik destek eklenmiştir;
  • MSVC cl 19.05 ve daha yeni sürümleri kullanarak derleme yaparken Visual Studio hata ayıklayıcısında "Yalnızca Kodum" modunu etkinleştirmek için CMAKE_VS_JUST_MY_CODE_DEBUGGING değişkeni ve VS_JUST_MY_CODE_DEBUGGING hedef özelliği eklendi;
  • FindBoost modülü yeniden tasarlandı ve artık diğer arama modüllerinin varlığında Yapılandırma ve Modül modlarında daha bütünsel olarak çalışıyor;
  • message() komutu artık NOTICE, VERBOSE, türlerini desteklemektedir.
    HATA AYIKLAMA ve İZLEME;

  • "export(PACKAGE)" komutu, CMAKE_EXPORT_PACKAGE_REGISTRY değişkeni aracılığıyla açıkça etkinleştirilmediği sürece artık hiçbir şey yapmaz.

Kaynak: opennet.ru

Yorum ekle