CMake 3.17.0 qurma sistemi buraxılışı

Tərəfindən təqdim edildi platformalararası açıq quruluş skript generatorunun buraxılması CMake 3.17, Autotools-a alternativ kimi çıxış edir və KDE, LLVM/Clang, MySQL, MariaDB, ReactOS və Blender kimi layihələrdə istifadə olunur. CMake kodu C++ dilində yazılmışdır və BSD lisenziyası altında paylanmışdır.

CMake sadə skript dili, modullar vasitəsilə funksionallığı genişləndirmək vasitəsi, minimal sayda asılılıq (M4, Perl və ya Python ilə əlaqə yoxdur), keşləmə dəstəyi, çarpaz kompilyasiya üçün alətlərin mövcudluğu, quruluş yaratmaq üçün dəstək ilə diqqəti çəkir. geniş çeşidli qurma sistemləri və kompilyatorları üçün fayllar, test skriptlərini və tikinti paketlərini təyin etmək üçün mövcud ctest və cpack utilitləri, qurma parametrlərini interaktiv şəkildə təyin etmək üçün cmake-gui yardım proqramı.

Əsas irəliləyişlər:

  • Ninja alət dəstinə əsaslanan yeni montaj skripti generatoru əlavə edildi - "Ninja Multi-Config" köhnə generatordan eyni anda bir neçə montaj konfiqurasiyasını emal etmək qabiliyyəti ilə fərqlənir.
  • Visual Studio üçün montaj skript generatorunda ortaya çıxdı hər bir konfiqurasiya ilə əlaqəli mənbə fayllarını müəyyən etmək imkanı (konfiqurasiya üçün mənbələr).
  • CUDA üçün meta parametrləri təyin etmək imkanı (“cuda_std_03”, “cuda_std_14” və s.) kompilyator parametrlərini təyin etmək üçün alətlərə (Tərtib etmə xüsusiyyətləri) əlavə edilmişdir.
  • CUDA istifadə edərkən iş vaxtı kitabxanalarının növünü seçmək üçün "CMAKE_CUDA_RUNTIME_LIBRARY" və "CUDA_RUNTIME_LIBRARY" dəyişənləri əlavə edildi.
  • CUDA dilini aktivləşdirmədən sistemdə mövcud olan CUDA alət dəstini müəyyən etmək üçün "FindCUDAToolkit" modulu əlavə edildi.
  • Axtarış əməliyyatlarını yerinə yetirərkən əlavə oxuna bilən diaqnostika çıxarmaq üçün cmake-ə "--debug-find" əmri əlavə edildi. Oxşar məqsədlər üçün CMAKE_FIND_DEBUG_MODE dəyişəni əlavə edilmişdir.
  • “FindCURL” moduluna cmake tərəfindən yaradılmış “CURLConfig.cmake” konfiqurasiya fayllarından istifadə edərək CURL alətlərinin axtarışı üçün dəstək əlavə edildi. Bu davranışı aradan qaldırmaq üçün CURL_NO_CURL_CMAKE dəyişəni təmin edilir.
  • FindPython modulu “conda” ilə idarə olunan virtual mühitlərdə Python komponentlərini axtarmaq imkanı əlavə etmişdir.
  • ctest yardım proqramı heç bir test olmadıqda davranışı müəyyən etmək üçün “--no-tests=[xəta|iqnor]” seçimlərini və sınaqların təkrar icrası üçün şərtləri təyin etmək üçün “--repeat” variantlarını əlavə etmişdir (keçməyə qədər, fasilədən sonra).
  • INTERFACE_LINK_OPTIONS, INTERFACE_LINK_DIRECTORIES və INTERFACE_LINK_DEPENDS montaj hədəf xassələri indi statik şəkildə yığılmış kitabxanaların daxili asılılıqları arasında köçürülür.
  • MinGW alət dəstindən istifadə edərkən find_library əmri ilə DLL fayllarının axtarışı defolt olaraq qeyri-aktiv edilir (əvəzində defolt cəhd ".dll.a" kitabxanalarını idxal etməkdir).
  • Ninja generatorunda ninja yardım proqramını seçmək məntiqi indi icra olunan faylın adından asılı deyil - PATH mühit dəyişəni ilə müəyyən edilmiş yollarda tapılan ilk ninja-build, ninja və ya samu yardım proqramı istifadə olunur.
  • Cmake-ə ayrı-ayrı "-E remove" və "-E remove_directory" əmrləri yerinə faylları və qovluqları silmək üçün istifadə edilə bilən "-E rm" əmri əlavə edildi.

Mənbə: opennet.ru

Добавить комментарий