CMake 3.17.0 با یک مولد اسکریپت جدید Ninja ، پیشرفت ها و موارد دیگر ارائه می شود

راه اندازی نسخه جدید مولد اسکریپت منبع باز کراس پلت فرم CMake 3.17، که در آن توسعه دهندگان کار کرده اند برای افزودن جدید مولد اسکریپت به نام "Ninja Multi-Config"، پیشرفت های ایجاد کننده اسکریپت ویژوال استودیو ، بهینه سازی های کلی و موارد دیگر.

برای کسانی که نمی دانند CMake، آنها باید این را بدانند یک ابزار تولید یا اتوماسیون کد چند پلتفرمی است که به عنوان جایگزینی برای ابزارهای خودکار عمل می کند و در پروژه هایی مانند KDE ، LLVM / Clang ، MySQL ، MariaDB ، ReactOS و Blender استفاده می شود.

CMake برای ارائه یک زبان ساده برنامه نویسی قابل توجه است ، به معنای گسترش عملکرد در ماژول ها ، حداقل تعداد وابستگی ها (عدم اتصال به M4 ، Perl یا Python) ، پشتیبانی از ذخیره سازی ، وجود ابزارهایی برای جمع آوری متقاطع، پشتیبانی برای تولید پرونده های ساخت برای طیف گسترده ای از سیستم های ساخت و کامپایلرها ، وجود برنامه های ctest و cpack برای تعریف اسکریپت های آزمایشی و ساخت ، ابزار cmake-gui برای پیکربندی تعاملی پارامترهای ساخت.

این ابزار برای کنترل روند جمع آوری نرم افزار استفاده می شود با استفاده از پرونده های پیکربندی ساده و مستقل از بستر ایجاد پرونده های سازگار و فضاهای کاری بومی که می توانند در محیط توسعه مورد نظر استفاده شوند.

با سیستم ساخت GNU قابل مقایسه است یونیکس که در آن فرایند توسط فایلهای پیکربندی کنترل می شود ، در مورد CMake به نام CMakeLists.txt.

چه جدید در CMake 3.17.0 است

همانطور که در ابتدا ذکر شد ، یکی از جدیدترین مواردی که در این نسخه جدید CMake 3.17.0 برجسته است ، مورد جدید است اضافه کردن یک مولد اسکریپت ساخت جدید بر اساس ابزار نینجا ، که نام «چند منظوره نینجا«، که با ژنراتور قبلی متفاوت است زیرا این ژنراتور جدید توانایی پردازش چندین پیکربندی ساخت همزمان را فراهم می کند.

در ضمن، در مولد اسکریپت ساخت برای Visual Studio ، اکنون می توانید فایل های منبع متصل به هر تنظیم را تعریف کنید.

توانایی تنظیم متاپارامترها برای CUDA ("Cuda_std_03" ، "cuda_std_14" و غیره) به ابزارها اضافه شده است برای پیکربندی توابع کامپایلر (توابع تلفیقی).

علاوه بر آن ، در این تبلیغات ذکر شده است متغیرها اضافه شدند «CMAKE_CUDA_RUNTIME_LIBRARY"ی"CUDA_RUNTIME_LIBRARY»برای انتخاب نوع کتابخانه های زمان اجرا هنگام استفاده از CUDA و همچنین ماژول« FindCUDAToolkit »برای تعیین ابزارهای CUDA موجود در سیستم بدون درج زبان CUDA.

در CMake 3.17.0 دستور «–شکل اشکال زدایی»برای نمایش سایر موارد تشخیصی قابل خواندن هنگام جستجو اضافه شده است. برای اهداف مشابه ، متغیر CMAKE_FIND_DEBUG_MODE.

اضافه پشتیبانی از یافتن ابزارهای CURL در ماژول «FindCURL» با استفاده از پرونده های پیکربندی "CURLConfig.cmake" ایجاد شده توسط cmake. برای غیرفعال کردن این رفتار ، متغیر CURL_NO_CURL_CMAKE ارائه شده است.

ماژول FindPython قابلیت جستجو برای اجزای پایتون را اضافه می کند در محیط های مجازی کنترل شده توسط «کوندا".

اضافه گزینه «–No-test = [خطا | چشم پوشی]»به ctest ابزار به رفتار را در غیاب شواهد تعیین کنید و "–تکرار" برای مشخص کردن شرایط برای شروع مجدد آزمون ها (تا زمانی که آنرا بگذرانید ، بعد از اتمام زمان).

از سایر تغییراتی که در اطلاعیه ذکر شده است:

  • خصوصیات هدف را بسازید INTERFACE_LINK_OPTIONS, INTERFACE_LINK_DIRECTORIES e INTERFACE_LINK_DEPENDS آنها بین وابستگی های داخلی کتابخانه های مستقر جمع شده اند.
  • هنگام استفاده از جعبه ابزار MinGW ، با استفاده از این دستور فایلهای DLL را جستجو کنید پیدا کردن_کتابخانه به طور پیش فرض غیرفعال شده است (تلاش می شود کتابخانه های ".dll.a" را وارد کنید).
  • منطق انتخاب برنامه نینجا در مولد نینجا اکنون به نام فایل اجرایی بستگی ندارد - اولین ابزار مورد استفاده قرار می گیرد ساخت نینجا, نینجا o سامو found ، که در مسیرهای تعریف شده از طریق متغیر محیط PATH یافت می شود.
  • دستور "-E rm»به ابزار cmake اضافه شده است ، که می تواند به جای دستورات جداگانه ، پرونده ها و دایرکتوری ها را حذف کند«-E حذف کنید"ی"-E دایرکتوری را حذف کنید".

سرانجام اگر می خواهید در مورد آن بیشتر بدانید، می توانید اعلامیه این نسخه جدید را در لینک زیر


محتوای مقاله به اصول ما پیوست اخلاق تحریریه. برای گزارش یک خطا کلیک کنید اینجا.

اولین کسی باشید که نظر

نظر خود را بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخشهای موردنیاز علامتگذاری شدهاند با *

*

*

  1. مسئول داده ها: میگل آنخل گاتون
  2. هدف از داده ها: کنترل هرزنامه ، مدیریت نظرات.
  3. مشروعیت: رضایت شما
  4. ارتباط داده ها: داده ها به اشخاص ثالث منتقل نمی شوند مگر با تعهد قانونی.
  5. ذخیره سازی داده ها: پایگاه داده به میزبانی شبکه های Occentus (EU)
  6. حقوق: در هر زمان می توانید اطلاعات خود را محدود ، بازیابی و حذف کنید.