CMake 3.17.0, yeni bir Ninja komut dosyası oluşturucu, iyileştirmeler ve daha fazlasıyla birlikte gelir

Lansmanı platformlar arası açık kaynak kod oluşturucunun yeni sürümü CMake 3.17içinde geliştiriciler çalıştı yeni eklemek için "Ninja Multi-Config" adlı komut dosyası oluşturucu, Visual Studio komut dosyası oluşturucuda iyileştirmeler, genel optimizasyonlar ve daha fazlası.

Bilmeyenler için CMakebunu bilmeleri gerekir çok platformlu bir kod oluşturma veya otomasyon aracıdır Autotools'a alternatif olarak hareket eden ve KDE, LLVM / Clang, MySQL, MariaDB, ReactOS ve Blender gibi projelerde kullanılan.

CMake basit bir betik dili sağlamasıyla dikkat çekiyor, işlevselliği modüller arasında genişletme, minimum sayıda bağımlılık (M4, Perl veya Python'a bağlanma yok), önbelleğe alma desteği, çapraz derleme için araçların varlığı, çok çeşitli derleme sistemleri ve derleyiciler için derleme dosyaları oluşturma desteği, ctest ve cpack araçlarının varlığı Test ve derleme betikleri tanımlamak için yardımcı programlar, derleme parametrelerini etkileşimli olarak yapılandırmak için cmake-gui yardımcı programı.

Bu yardımcı program yazılımın derleme sürecini kontrol etmek için kullanılır basit ve platformdan bağımsız yapılandırma dosyalarını kullanma. İstenilen geliştirme ortamında kullanılabilecek yerel makefile dosyaları ve çalışma alanları oluşturur.

GNU derleme sistemiyle karşılaştırılabilir CMake durumunda CMakeLists.txt olarak adlandırılan işlemin yapılandırma dosyaları tarafından kontrol edildiği Unix.

CMake 3.17.0'daki yenilikler

Başta da belirtildiği gibi, CMake 3.17.0'ın bu yeni sürümünde öne çıkan ana yeniliklerden biri, yeni bir derleme komut dosyası oluşturucu ekleme Ninja araçlarına dayalıdır. «Ninja Çoklu Yapılandırma«, Önceki jeneratörden farklıdır çünkü bu yeni jeneratör aynı anda birden fazla derleme yapılandırmasını işleme yeteneği sağlar.

Bu arada, derleme komut dosyası oluşturucusunda Visual Studio için artık her yapılandırmaya eklenmiş kaynak dosyaları tanımlayabilirsiniz.

CUDA için metaparametreleri ayarlama yeteneği ("Cuda_std_03", "cuda_std_14" vb.) araçlara eklendi derleyici işlevlerini yapılandırmak için (Derleme işlevleri).

Buna ek olarak, reklamda bundan bahsediliyor değişkenler eklendi «CMAKE_CUDA_RUNTIME_LIBRARY»Y«CUDA_RUNTIME_LIBRARY»CUDA kullanırken çalışma zamanı kitaplıklarının türünü ve ayrıca CUDA dilini dahil etmeden sistemde bulunan CUDA araçlarını belirlemek için« FindCUDAToolkit »modülünü seçmek.

CMake 3.17.0'da «komutu–Debug-find»Arama sırasında ek okunabilir tanılamaları görüntülemek için eklenmiştir. Benzer amaçlar için değişken CMAKE_FIND_DEBUG_MODE.

Katma «FindCURL» modülünde CURL araçlarını bulma desteği cmake tarafından oluşturulan "CURLConfig.cmake" yapılandırma dosyalarını kullanarak. Bu davranışı devre dışı bırakmak için, CURL_NO_CURL_CMAKE değişkeni sağlanır.

Modül FindPython, Python bileşenlerini arama yeteneği ekler «tarafından kontrol edilen sanal ortamlardailçe".

Katma seçenek «–Test yok = [hata | göz ardı etmek]»Ctest yardımcı programına kanıt yokluğunda davranışı belirlemek ve testleri yeniden başlatma koşullarını belirtmek için "–tekrar" (zaman aşımından sonra geçene kadar).

Duyuruda belirtilen diğer değişikliklerden:

  • Hedef mülkler oluşturun INTERFACE_LINK_OPTIONS, INTERFACE_LINK_DIRECTORIES e INTERFACE_LINK_DEPENDS statik olarak birleştirilmiş kitaplıkların iç bağımlılıkları arasında aktarıldılar.
  • MinGW araç setini kullanırken, şu komutu kullanarak DLL dosyalarını arayın bul_kütüphane varsayılan olarak devre dışıdır (bunun yerine varsayılan olarak ".dll.a" kitaplıklarını içe aktarma girişiminde bulunulur).
  • Ninja jeneratöründe ninja yardımcı programını seçmenin mantığı artık çalıştırılabilir dosya adına bağlı değildir - ilk yardımcı program kullanılır ninja yapımı, ninja o samu PATH ortam değişkeni aracılığıyla tanımlanan yollarda bulunan bulundu.
  • Komuta "-Erm»Ayrı komutlar yerine dosya ve dizinleri kaldırmak için kullanılabilen cmake yardımcı programına eklendi«-E kaldır»Y«-E kaldır_dizini".

Nihayet onun hakkında daha fazlasını bilmek istiyorsan, bu yeni sürümün duyurusunu şuradan kontrol edebilirsiniz: aşağıdaki bağlantı.


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.