رد کردن این محتوا

معرفی ابزار برنامه نویسی CMake

CMake یکی از ابزارهای تولید کد کامپایل و در اصل تولید Makefile ها است.

از این ابزار قدرتمند در همه سیستم عامل های معروف می توان استفاده کرد.

در این مقاله به معرفی این ابزار می پردازیم و در مقالات بعدی از آن برای ساخت چند برنامه استفاده می کنیم.

درباره ی CMake

CMake یک پروژه ی اپن سورس است که هدف آن مدیریت مراحل ساخت (Build) یک پروژه برنامه نویسی است به نحوی که به برنامه نویس اجازه دهد مستقل از سیستم عامل و کامپایلر نرم افزار خود را توسعه دهد.

برخلاف بسیاری از پروژه های چند سکویه هدف CMake این است که برنامه نوشته شده به صورت کاملا محلی ساخته شده و نیاز به کتابخانه های جانبی جهت اجرای برنامه نباشد.
تنظیمات مربوط به CMake در یک فایل متنی ساده و یکپارچه نوشته می شود و در پوشه ی منبع (Source) برنامه قرار می گیرد. این فایل را CMakeList.txt نام گذاری می کنیم.
CMake از این فایل برای ساخت فایل های استاندارد مورد نیاز برای ساخت پروژه و سپس از کامپایلر مناسب برای ساخت پروژه استفاده می کند.

نکته : منظور از فایل های ساخت استاندارد به عنوان مثال Makefile در Unix و projects/workspace در MSVC است.

آماده سازی محیط ساخت (Build) پروژه

از قابلیت های مهم CMake آماده سازی محیط ساخت پروژه است، به عنوان مثال در صورتی که در پروژه از کتابخانه های مختلف استفاده شده باشد آن‌ها را پیدا کرده و به برنامه لینک می کند.
همچنین امکان ترکیب چند پروژه را به برنامه نویس می دهد به این ترتیب که می توان ترکیبی از پروژه های کتابخانه ای و اجرایی را در کنار هم داشت.

In-Place & Out-Place Build

CMake برای جلوگیری از تولید فایل های ناخواسته در حین ساخت (Build) پروژه امکان Out-Place Build را در اختیار استفاده کننده قرار می دهد.
با این روش می توانید فایل های Obj و فایل های اجرایی و میانی را از سورس برنامه جدا کنید.

امکان Catch

این امکان CMake باعث افزایش سرعت ساخت (Build) پروژه می شود. CMake فقط فایل هایی که از آخرین اجرای CMake تغییر کرده اند را دوباره کامپایل می کند.
البته فایل های وابسته به فایل های تغییر کرده را نیز دوباره کامپایل می کند.

امکان FindPackage

توسط این امکان CMake می تواند به صورت خودکار کتابخانه های مورد نیاز پروژه را پیدا کرده و آنها را به برنامه لینک کند همینطور می تواند فایل های Include مورد نیار پروژه را نیز پیدا کند.

امکان FindLibrary

بعضی ار کتابخانه ها از قبل برای CMake تعریف نشده اند بنابراین توسط FindPackage پیدا نمی شوند. برای پیدا کردن این کتابخانه ها از FindLibrary استفاده می کنیم.

و اما بیشتر …

برای اینکه بیشتر در مورد CMake یاد بگیریم می تونیم از لینک های زیر استفاده کنیم.

همچنین در پست های بعدی که قرار است چند تا پروژه با CMake انجام بدیم، می تونید چیزایی که لازمه یاد بگیرید.

منتشر شده آموزش

یک نظر

  1. امیر رضا صادقی امیر رضا صادقی

    عالی بود . حتما ادامه بدهید استفاده میکنیم استاد.

دیدگاهتان را بنویسید

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