Κυκλοφορία του συστήματος κατασκευής CMake 3.15

πήρε θέση απελευθέρωση μιας πολλαπλής πλατφόρμας δημιουργίας σεναρίων ανοιχτής κατασκευής CMake 3.15, το οποίο λειτουργεί ως εναλλακτική λύση στα Autotools και χρησιμοποιείται σε έργα όπως το KDE, LLVM/Clang, MySQL, MariaDB, ReactOS και Blender. Ο κώδικας CMake είναι γραμμένος σε C++ και διανέμεται με την άδεια BSD.

Το CMake είναι αξιοσημείωτο για την παροχή μιας απλής γλώσσας δέσμης ενεργειών, ενός μέσου επέκτασης της λειτουργικότητας μέσω λειτουργικών μονάδων, έναν ελάχιστο αριθμό εξαρτήσεων (χωρίς δέσμευση σε M4, Perl ή Python), υποστήριξη προσωρινής αποθήκευσης, παρουσία εργαλείων για πολλαπλή μεταγλώττιση, υποστήριξη για δημιουργία build αρχεία για ένα ευρύ φάσμα συστημάτων κατασκευής και μεταγλωττιστών, τα βοηθητικά προγράμματα παρουσίας ctest και cpack για τον καθορισμό δοκιμαστικών σεναρίων και δημιουργίας πακέτων, το βοηθητικό πρόγραμμα cmake-gui για διαδραστική ρύθμιση παραμέτρων κατασκευής.

Ο κύριος βελτιώσεις:

  • Η αρχική υποστήριξη γλώσσας έχει προστεθεί στη δημιουργία σεναρίων build που βασίζεται σε Ninja Swift, που αναπτύχθηκε από την Apple.
  • Προστέθηκε υποστήριξη για μια παραλλαγή του μεταγλωττιστή Clang για Windows που δημιουργείται με το MSVC ABI, αλλά χρησιμοποιεί επιλογές γραμμής εντολών σε στυλ GNU.
  • Προστέθηκαν μεταβλητές CMAKE_MSVC_RUNTIME_LIBRARY και MSVC_RUNTIME_LIBRARY σε επιλεγμένες βιβλιοθήκες χρόνου εκτέλεσης που χρησιμοποιούνται από μεταγλωττιστές με βάση το MSVC ABI (MS Visual Studio).
  • Για μεταγλωττιστές όπως το MSVC, το CMAKE__FLAGS σταματά από προεπιλογή να παραθέτει σημαίες ελέγχου προειδοποίησης όπως "/W3".
  • Προστέθηκε μια έκφραση δημιουργίας "COMPILE_LANG_AND_ID:" για τον ορισμό των επιλογών μεταγλωττιστή για τα αρχεία προορισμού, χρησιμοποιώντας τις μεταβλητές CMAKE__COMPILER_ID και LANGUAGE για κάθε αρχείο κώδικα.
  • Στις παραστάσεις γεννήτριας C_COMPILER_ID, CXX_COMPILER_ID,
    CUDA_COMPILER_ID, Fortran_COMPILER_ID, COMPILE_LANGUAGE,
    Τα COMPILE_LANG_AND_ID και PLATFORM_ID πρόσθεσαν υποστήριξη για την αντιστοίχιση μιας μεμονωμένης τιμής σε μια λίστα τα στοιχεία της οποίας διαχωρίζονται με κόμμα.

  • Προστέθηκε η μεταβλητή CMAKE_FIND_PACKAGE_PREFER_CONFIG, έτσι ώστε η κλήση find_package() να αναζητά πρώτα το αρχείο διαμόρφωσης του πακέτου, ακόμα κι αν υπάρχει διαθέσιμος ανιχνευτής.
  • Για βιβλιοθήκες διεπαφής, έχει προστεθεί υποστήριξη για τον ορισμό των ιδιοτήτων PUBLIC_HEADER και PRIVATE_HEADER, με τις οποίες οι κεφαλίδες μπορούν να οριστούν χρησιμοποιώντας την εντολή install(TARGETS) μεταβιβάζοντας τα ορίσματα PUBLIC_HEADER και PRIVATE_HEADER.
  • Προστέθηκε η μεταβλητή CMAKE_VS_JUST_MY_CODE_DEBUGGING και η ιδιότητα στόχου VS_JUST_MY_CODE_DEBUGGING για να ενεργοποιηθεί η λειτουργία "Just My Code" στο πρόγραμμα εντοπισμού σφαλμάτων του Visual Studio κατά τη μεταγλώττιση χρησιμοποιώντας MSVC cl 19.05 και νεότερες εκδόσεις.
  • Η ενότητα FindBoost έχει επανασχεδιαστεί, η οποία λειτουργεί πλέον πιο ολιστικά στις λειτουργίες Config και Module παρουσία άλλων λειτουργικών μονάδων αναζήτησης.
  • Η εντολή message() υποστηρίζει πλέον τους τύπους NOTICE, VERBOSE,
    DEBUG και TRACE.

  • Η εντολή "export(PACKAGE)" δεν κάνει πλέον τίποτα εκτός και αν ενεργοποιηθεί ρητά μέσω της μεταβλητής CMAKE_EXPORT_PACKAGE_REGISTRY.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο