Μερικές μέρες πριν Ανακοινώθηκε η δημιουργία σεναρίων ανοιχτού κώδικα για πολλαπλές πλατφόρμες CMake 3.15 που λειτουργεί ως εναλλακτική λύση στα Autotools και χρησιμοποιείται σε έργα όπως το KDE, LLVM/Clang, MySQL, MariaDB, ReactOS και Blender.
Το CMake είναι ένα εργαλείο δημιουργίας κώδικα ή αυτοματισμού πολλαπλών πλατφορμών. Το όνομα είναι συντομογραφία του "cross platform make", ανεξάρτητα από τη χρήση του "make" στο όνομα., Το CMake είναι μια ξεχωριστή σουίτα υψηλότερου επιπέδου από το σύστημα κοινής μάρκας Unix, όντας παρόμοιο με τα αυτόματα εργαλεία.
Σχετικά με το CMake
CMake είναι αξιοσημείωτο για την παροχή μιας απλής γλώσσας σεναρίου, εργαλεία για επέκταση λειτουργικότητας σε όλες τις μονάδες, ελάχιστος αριθμός εξαρτήσεων (χωρίς δέσμευση σε M4, Perl ή Python), υποστήριξη προσωρινής αποθήκευσης, διαθεσιμότητα εργαλείων για cross-compiling, υποστήριξη για τη δημιουργία αρχείων συναρμολόγησης για ένα ευρύ φάσμα συστημάτων κατασκευής και μεταγλωττιστών.
Τα βοηθητικά προγράμματα ctest και cpack για τον καθορισμό σεναρίων δοκιμών και τη δημιουργία πακέτων, με το βοηθητικό πρόγραμμα cmake-gui για διαδραστική διαμόρφωση παραμέτρων κατασκευής.
Το CMake χρησιμοποιείται για τον έλεγχο της διαδικασίας δημιουργίας λογισμικού χρησιμοποιώντας απλά, αυτόνομα αρχεία διαμόρφωσης. από την πλατφόρμα. Το Cmake δημιουργεί εγγενή αρχεία δημιουργίας και χώρους εργασίας που μπορούν να χρησιμοποιηθούν στο επιθυμητό περιβάλλον ανάπτυξης.
Είναι συγκρίσιμο με το σύστημα δημιουργίας GNU του Unix στο ότι η διαδικασία κατασκευής ελέγχεται από αρχεία διαμόρφωσης, στην περίπτωση του CMake που ονομάζεται CMakeLists.txt.
Σε αντίθεση με το σύστημα κατασκευής GNU, το οποίο περιορίζεται στις πλατφόρμες Unix, το CMake υποστηρίζει τη δημιουργία αρχείων για διάφορα λειτουργικά συστήματα, γεγονός που διευκολύνει τη συντήρηση και εξαλείφει την ανάγκη ύπαρξης πολλαπλών σετ αρχείων για κάθε πλατφόρμα.
Η διαδικασία δημιουργίας ελέγχεται δημιουργώντας ένα ή περισσότερα αρχεία CMakeLists.txt σε κάθε κατάλογο (συμπεριλαμβανομένων των υποκαταλόγων).
Ο κώδικας CMake είναι γραμμένος σε C++ και διανέμεται με την άδεια BSD.
Κύρια νέα χαρακτηριστικά του CMake 3.15
Αυτή η νέα έκδοση επισημαίνεται με την άφιξη της αρχικής υποστήριξης γεννήτριας για τη γλώσσα Swift που αναπτύχθηκε από την Apple έχει προστεθεί στη δημιουργία σεναρίων συναρμολόγησης Ninja Toolkit.
Εκτός από αυτό, Έρχεται επίσης υποστήριξη για την επιλογή Clang compiler για Windows που είναι κατασκευασμένα με ABI MSVC, αλλά χρησιμοποιούν επιλογές γραμμής εντολών σε στυλ GNU.
Οι προγραμματιστές επισημαίνουν ότι οι μεταβλητές CMAKE_MSVC_RUNTIME_LIBRARY
y MSVC_RUNTIME_LIBRARY
προστίθενται σε επιλεγμένες βιβλιοθήκες χρόνου εκτέλεσης που χρησιμοποιούνται από μεταγλωττιστές ABI MSVC
(MS Visual Studio).
Για μεταγλωττιστές όπως MSVC
Στο CMAKE__FLAGS
Από προεπιλογή, η λίστα των προειδοποιητικών σημαιών ελέγχου, όπως "/W3", έχει σταματήσει.
Από τις άλλες βελτιώσεις που ξεχωρίζουν στην ανακοίνωση της κυκλοφορίας αυτής της νέας έκδοσης, βρίσκουμε τα εξής:
- Προστέθηκε η δημιουργία έκφρασης "
COMPILE_LANG_AND_ID
:" για να ορίσετε επιλογές μεταγλωττιστή για αρχεία προορισμού που χρησιμοποιούν μεταβλητέςCMAKE__COMPILER_ID
yLANGUAGE
για κάθε αρχείο κώδικα - Οι εκφράσεις γεννήτριας
C_COMPILER_ID, CXX_COMPILER_ID, CUDA_COMPILER_ID,
Fortran_COMPILER_ID, COMPILE_LANGUAGE, COMPILE_LANG_AND_ID
yPLATFORM_ID
προσθέστε υποστήριξη για την αντιστοίχιση μιας τιμής σε μια λίστα, τα στοιχεία χωρίζονται με κόμματα - Προστέθηκε μεταβλητή
CMAKE_FIND_PACKAGE_PREFER_CONFIG
, στην οποία η κλήση στο find_package() θα αναζητήσει πρώτα το αρχείο διαμόρφωσης του πακέτου, ακόμα κι αν η λειτουργική μονάδα εύρεσης είναι διαθέσιμη - Για βιβλιοθήκες διεπαφής, έχει προστεθεί υποστήριξη για ρυθμίσεις ιδιοτήτων
PUBLIC_HEADER y PRIVATE_HEADER
, του οποίου οι κεφαλίδες μπορούν να οριστούν από την εντολή εγκατάστασης (TARGETS) μεταβιβάζοντας τα ορίσματαPUBLIC_HEADER
yPRIVATE_HEADER
- Προστέθηκε μεταβλητή
CMAKE_VS_JUST_MY_CODE_DEBUGGING
και την ιδιότητα στόχοVS_JUST_MY_CODE_DEBUGGING
για να ενεργοποιήσετε τη λειτουργία "Just My Code" στο πρόγραμμα εντοπισμού σφαλμάτων του Visual Studio κατά τη δημιουργία χρησιμοποιώντας MSVC cl 19.05 και νεότερες εκδόσεις. - Η ενότητα FindBoost έχει επεξεργαστεί εκ νέου, η οποία τώρα εργάζεται πληρέστερα στις λειτουργίες διαμόρφωσης και λειτουργιών με την παρουσία άλλων λειτουργικών μονάδων αναζήτησης
- Προστέθηκε υποστήριξη για τύπους NOTICE, VERBOSE, DEBUG και TRACE στην εντολή message()
- Η εντολή "export(PACKAGE)" δεν κάνει πλέον τίποτα μέχρι να ενεργοποιηθεί ρητά μέσω της μεταβλητής
CMAKE_EXPORT_PACKAGE_REGISTRY
.
Αν θέλετε να μάθετε περισσότερα για αυτό, μπορείτε να συμβουλευτείτε τον ακόλουθο σύνδεσμο.