CMake 3.15 بلڈ سسٹم کی ریلیز

واقعہ پیش آیا کراس پلیٹ فارم اوپن بلڈ اسکرپٹ جنریٹر کی رہائی وزیراعلیٰ 3.15، جو Autotools کے متبادل کے طور پر کام کرتا ہے اور KDE، LLVM/Clang، MySQL، MariaDB، ReactOS اور Blender جیسے پروجیکٹس میں استعمال ہوتا ہے۔ CMake کوڈ C++ میں لکھا جاتا ہے اور BSD لائسنس کے تحت تقسیم کیا جاتا ہے۔

CMake ایک سادہ اسکرپٹنگ لینگویج، ماڈیولز کے ذریعے فعالیت کو بڑھانے کا ایک ذریعہ، انحصار کی کم سے کم تعداد (M4، Perl یا Python کے لیے کوئی پابند نہیں)، کیشنگ سپورٹ، کراس کمپائلیشن کے لیے ٹولز کی موجودگی، تعمیر بنانے کے لیے معاونت فراہم کرنے کے لیے قابل ذکر ہے۔ بلڈ سسٹمز اور کمپائلرز کی ایک وسیع رینج کے لیے فائلیں، ٹیسٹ اسکرپٹس کی وضاحت اور پیکجز بنانے کے لیے موجودگی ctest اور cpack یوٹیلیٹی، تعاملاتی طور پر تعمیراتی پیرامیٹرز کو ترتیب دینے کے لیے cmake-gui یوٹیلٹی۔

اہم بہتری:

  • ابتدائی زبان کی معاونت ننجا پر مبنی بلڈ اسکرپٹ جنریٹر میں شامل کی گئی ہے۔ سوئفٹ, ایپل کی طرف سے تیار;
  • ونڈوز کے لیے کلینگ کمپائلر کے مختلف قسم کے لیے سپورٹ شامل کیا گیا جو MSVC ABI کے ساتھ بناتا ہے، لیکن GNU طرز کے کمانڈ لائن کے اختیارات استعمال کرتا ہے۔
  • MSVC ABI (MS Visual Studio) پر مبنی کمپائلرز کے ذریعے استعمال ہونے والی رن ٹائم لائبریریوں کو منتخب کرنے کے لیے CMAKE_MSVC_RUNTIME_LIBRARY اور MSVC_RUNTIME_LIBRARY متغیرات شامل کیے گئے؛
  • MSVC جیسے مرتب کرنے والوں کے لیے، CMAKE__FLAGS بذریعہ ڈیفالٹ انتباہی کنٹرول جھنڈوں کی فہرست بنانا بند کر دیتا ہے جیسے "/W3"؛
  • ہر ایک کوڈ فائل کے لیے CMAKE__COMPILER_ID اور LANGUAGE متغیرات کا استعمال کرتے ہوئے ہدف فائلوں کے لیے کمپائلر کے اختیارات کی وضاحت کرنے کے لیے جنریٹر ایکسپریشن "COMPILE_LANG_AND_ID:" شامل کیا گیا ہے۔
  • جنریٹر کے اظہار میں 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 کی خصوصیات کو ترتیب دینے کے لیے سپورٹ شامل کی گئی ہے، جس کے ذریعے PUBLIC_HEADER اور PRIVATE_HEADER آرگیومینٹس کو پاس کر کے install(TARGETS) کمانڈ کا استعمال کرتے ہوئے ہیڈر سیٹ کیے جا سکتے ہیں۔
  • CMAKE_VS_JUST_MY_CODE_DEBUGGING متغیر اور ٹارگٹ پراپرٹی VS_JUST_MY_CODE_DEBUGGING شامل کیا گیا تاکہ MSVC cl 19.05 اور نئے ورژنز کا استعمال کرتے ہوئے مرتب کرتے وقت Visual Studio ڈیبگر میں "Just My Code" موڈ کو فعال کیا جا سکے۔
  • FindBoost ماڈیول کو دوبارہ ڈیزائن کیا گیا ہے، جو اب دوسرے سرچ ماڈیولز کی موجودگی میں Config اور Module موڈز میں زیادہ جامع طریقے سے کام کرتا ہے۔
  • پیغام() کمانڈ اب نوٹس، وربوس، کی اقسام کو سپورٹ کرتی ہے۔
    ڈیبگ اور ٹریس؛

  • "export(PACKAGE)" کمانڈ اب کچھ نہیں کرتی جب تک کہ CMAKE_EXPORT_PACKAGE_REGISTRY متغیر کے ذریعے واضح طور پر فعال نہ کیا جائے۔

ماخذ: opennet.ru

نیا تبصرہ شامل کریں