Meson הוא כלי תוכנה לאוטומציה של בניית תוכנה. זה חינמי וקוד פתוח שנכתב בפייתון.
לאחרונה הוכרזה השקת הגרסה החדשה של מערכת הבנייה Meson 1.4 . גרסה זו מגיעה עם תמיכה משופרת עבור פונקציות מסוימות של מודול FS, כמו גם שיפורי תאימות, תכונות חדשות ועוד.
למי שלא מכיר את Meson, זוהי מערכת בנייה המשמשת פרויקטים בולטים כמו X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME ו-GTK. מטרתה העיקרית היא לספק תהליך בנייה מהיר וידידותי למשתמש. היא משתמשת בערכת הכלים Ninja כברירת מחדל אך תואמת גם למערכות תמיכה אחרות כמו Xcode ו-Visual Studio.
מערכת זו כוללת מנהל תלויות משולב חוצה פלטפורמות , אשר מפשט את יצירת חבילות להפצות. כללי קומפילציה מוגדרים בשפה ספציפית וקריאה, מה שממזער את הזמן הנדרש לכתיבתם.
Meson תומכת בבניית פרויקטים במספר שפות כמו C, C++, Fortran, Java ו-Rust, ומציעה מצב בנייה מצטבר הבונה מחדש רק רכיבים שהושפעו משינויים מאז הבנייה האחרונה. בנוסף, Meson יכולה ליצור רכיבי בנייה שניתנים לחזרה, מה שמבטיח שהפעלת ה-build בסביבות שונות מייצרת קובצי הפעלה זהים לחלוטין.
החידושים העיקריים של Meson 1.4
גרסה חדשה זו של Meson 1.4 מדגישה את התמיכה הנוספת במודול FS, אשר כעת תומך באובייקטי יעד של קומפילציה build_tgt ו-custom_tgt, כמו גם באינדקס יעד של קומפילציה (custom_idx) בפונקציות fs.name, fs.parent, fs.replace_suffix ו-fs.stem.
שינוי בולט נוסף בגרסה החדשה הוא ש-Meson יכול כעת לקרוא את גרסת הפרויקט מתת-פרויקטים מבוססי CMake. זה מבטיח שאילוצי הגרסה מאומתים כראוי בעת גישה לתת-פרויקט CMake.
בנוסף, הארגומנט `preserve_paths` נוסף כעת לפונקציות `compile_ui`, `compile_moc` ו-preprocessing של המודולים `qt4`, `qt5` ו-`qt6` כדי לבחור את האפשרות לבנות את מבנה הספריות עבור הקבצים הנכתבים.
ראוי לציין גם שתמיכה ב-Clang נוספה ל-stldebug כאשר debugstl מופעל, השיטה unset() הוצגה לאובייקט env, ומתודה full_path() נוספה לאובייקט File כדי לקבל את הנתיב המלא לקובץ.
תמיכה בכלי numpy-config וב-pkg-config נוספה כתלות מותאמות אישית חדשות. תמיכה זו זמינה החל מ-NumPy 2.0.0. תמיכה ב-numpy-config תפעל אוטומטית לאחר התקנת NumPy. עם זאת, קובץ pkg-config ממוקם בחבילות האתר של Python, כלומר לא ניתן להשתמש בו באופן מיידי ללא הגדרת PKG_CONFIG_PATH.
שינויים בולטים נוספים בגרסה החדשה כוללים:
- יכולת לשלוט בבדיקות הצהרות (GLIBCXX_ASSERTIONS) ב-C++ stdlib באמצעות תצורת debug.
- הוסיף ארגומנט מילת מפתח preserve_pathsun לפונקציות מודול qt
- כעת ניתן לציין יעדים תלויים עם תלוי: for compiler.preprocess(). יש לבנות מטרות אלו לפני תחילת העיבוד המקדים.
- מחולל הקישור של bindgen תומך כעת בהיוריסטיקה של Meson לקביעת קבצי כותרת C++.
- נוספה את היכולת לעקוף את הגדרות השפה עבור bindgen.
- בדיקות כעת נכשלות כברירת מחדל לאחר נתקל בשגיאות בעת הפעלת חומרי חיטוי כמו MemorySanitizer.
- נוספה תמיכה במהדר Texas Instruments C/C++ עבור משפחת המעבדים C6000.
לבסוף, אם אתם מעוניינים ללמוד עוד, תוכלו למצוא פרטים נוספים בקישור הבא.
כיצד להתקין Meson על לינוקס?
למי שמעוניין להיות מסוגל להתקין מערכת בנייה זו על המערכת שלהם, הם יכולים לעשות זאת על ידי ביצוע ההוראות שאנו חולקים למטה.
הם צריכים לדעת שמסון זמין ב-PyPi, כך שניתן להתקין אותו עם הפקודה:
pip3 install meson
כהערה, כדאי לדעת שהפקודה המדויקת להקליד להתקנת pip יכולה להשתנות בין המערכות, לכן מומלץ להשתמש בגירסת Python 3 של pip.