לפני כמה ימים מחולל סקריפט קוד פתוח עם פלטפורמות CMake 3.15 שוחרר המשמש כחלופה לאוטו-אולים ומשמש בפרויקטים כמו KDE, LLVM / Clang, MySQL, MariaDB, ReactOS ו- Blender.
CMake הוא כלי ייצור או אוטומציה של קוד מרובה צורות. השם הוא קיצור של "cross platform make" (make cross platform, מעבר לשימוש ב" make "בשם, CMake היא סוויטה נפרדת וברמה גבוהה יותר ממערכת היוצרים הנפוצים של יוניקס, בדומה לאוטו-אולוטים.
על CMake
CMake בולט במתן שפת סקריפטים פשוטה, כלים להרחבת הפונקציונליות על פני מודולים, מספר מינימלי של תלות (ללא כריכה ל- M4, Perl או Python), תמיכה במטמון, זמינות כלים לאוסף צולב, תמיכה ביצירת קבצי הרכבה למערכות מהדרים ומגדרים מהגרים רחבים.
כלי השירות ctest ו- cpack להגדרת תרחישי בדיקות ויצירת חבילות, בעזרת כלי השירות cmake-gui לקביעת תצורה אינטראקטיבית של פרמטרי בנייה.
CMake משמש לשליטה בתהליך האוסף של התוכנה באמצעות קבצי תצורה פשוטים ועצמאיים של הפלטפורמה. Cmake מייצר מקבצים מקומיים ומקומות עבודה בהם ניתן להשתמש בסביבת הפיתוח הרצויה.
ניתן להשוות זאת למערכת הבנייה של יוניקס GNU בכך שהתהליך נשלט על ידי קבצי תצורה, במקרה של CMake הנקרא CMakeLists.txt.
בניגוד למערכת ה- GNU לבנות, אשר מוגבלת לפלטפורמות יוניקס, CMake תומך בייצור קבצים עבור מערכות הפעלה שונות, מה שמקל על התחזוקה ומונע את הצורך בקבוצות קבצים מרובות לכל פלטפורמה.
תהליך הבנייה נשלט על ידי יצירת קובץ CMakeLists.txt אחד או יותר בכל ספריה (כולל ספריות משנה).
קוד CMake כתוב ב- C ++ ומופץ ברישיון BSD.
CMake 3.15 תכונות חדשות עיקריות
הגרסה החדשה הזו מודגש על ידי הגעתו של תמיכה ראשונית בגנרטור לשפה המהירה שפותחה על ידי אפל נוספה למחולל התסריטים של הרכבת הכלים נינג'ה.
חוץ מזה, מגיעה גם תמיכה באפשרות המהדר Clang עבור Windows שנבנה עם ABI MSVC, אך משתמש באפשרויות שורת הפקודה בסגנון GNU.
היזמים מדגישים כי המשתנים CMAKE_MSVC_RUNTIME_LIBRARY
y MSVC_RUNTIME_LIBRARY
מתווספים לבחירת ספריות זמן הריצה בהן משתמשים המהדרים ABI MSVC
(MS VisualStudio).
למהדרים כמו 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
כדי לאפשר מצב "פשוט הקוד שלי" באגים ב- Visual Studio בעת הידור באמצעות MSVC cl 19.05 וגרסאות חדשות יותר. - מודול FindBoost עבר עיבוד מחודש, שעובד כעת באופן מלא יותר בתצורת התצורה והמודול עם נוכחות של מודולי חיפוש אחרים.
- תמיכה בסוגי NOTICE, VERBOSE, DEBUG ו- TRACE נוספה לפקודה message ()
- הפקודה "ייצוא (PACKAGE)" לא עושה דבר עד שהיא מופעלת במפורש באמצעות המשתנה
CMAKE_EXPORT_PACKAGE_REGISTRY
.
אם אתה רוצה לדעת יותר על זה אתה יכול להתייעץ הקישור הבא.