برنامه نویسی

CFORGE – یک سیستم ساخت مدرن C ++

مقدمه

Cforge جایگزین اسکریپت های پیچیده cmake با یک cforge.toml پرونده ای که اهداف ، ایجاد گزینه ها و وابستگی ها را با فرمت واضح و قابل خواندن با انسانی تعریف می کند. این توسط ایجاد شده است تعقیب Sunstrom برای پرداختن به نقاط درد ابراز شده توسط توسعه دهندگان C/C ++ در Reddit و ارائه تجربه ای مانند بار برای پروژه های C ++.

چرا من cforge ایجاد کردم

بازخورد اولیه در کانال های Reddit مانند r/cpp وت r/gamedev ناامیدی برجسته از تنظیمات cmake cmake و گردش کار وابستگی تکه تکه. بسیاری از توسعه دهندگان ابراز علاقه به ابزاری دارند که وابستگی را از طریق آن ادغام می کند VCPKG و در حین خودکار سازی کار در فضای کاری. مشارکت ها و بحث های مربوط به GITHUB بیشتر نیاز به ساخت و سازهای متقاطع ساده و پشتیبانی بهتر از IDE را نشان داد.

ویژگی های کلیدی

پیکربندی مبتنی بر TOML

کل پروژه خود را ، از دایرکتوری های منبع تا ساخت پرچم ، در cforge.toml بدون نوشتن اسکریپت های cmake با دست:

[project]
name = "myproject"
version = "0.1.0"
cpp_standard = "17"
binary_type = "executable"
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

مدیریت وابستگی

ادغام بومی با VCPKG ، مخازن GIT و اسکریپت های سفارشی تضمین می کند که وابستگی ها به طور خودکار برطرف و پیکربندی می شوند.

ساخت و ساز متقابل

پشتیبانی از ویندوز ، MACOS و لینوکس با پیکربندی یکپارچه از ابزار کامپایلر.

تولید متقابل

به راحتی سیستم عامل هایی مانند Android ، iOS ، Raspberry Pi و WebAssembly را با حداقل پیکربندی اضافی هدف قرار دهید.

فضای کاری

چندین پروژه وابسته به هم وابسته را در یک مخزن واحد ، با وضوح خودکار وابستگی بین پروژه مدیریت کنید.

ادغام

فایلهای پروژه را برای VS Code ، Clion ، Xcode و Visual Studio با یک دستور واحد ایجاد کنید:

cforge ide vs
cforge ide clion
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

آزمایش و تشخیص

پشتیبانی داخلی برای cforge-test و تشخیص کامپایلر پیشرفته برای سرعت بخشیدن به اشکال زدایی.

اسکریپت و قلاب

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

شروع

نصب

کلون و بوت استرپ از منبع:

git clone https://github.com/ChaseSunstrom/cforge.git
bash scripts/bootstrap.sh       # Linux/macOS
.\scripts\bootstrap.ps1         # Windows PowerShell
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

به Cmake 3.15 ≥ و کامپایلر C/C ++ (GCC ، CLANG یا MSVC) نیاز دارد.

شروع سریع

اولیه سازی و ساخت یک پروژه جدید در ثانیه:

cforge init
cforge build
cforge run
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

این یک ایجاد می کند cforge.tomlبا src/با include/وت build/ دایرکتوری برای “سلام ، جهان!” برنامه

مباحث پیشرفته

فضای کاری

حالت فضای کاری را در cforge.workspace.toml برای هماهنگی چندین پروژه مرتبط در یک مخزن. برای کاهش تکثیر ، از وابستگی به سطح فضای کاری استفاده کنید و پیکربندی های مشترکی را برای کاهش تکثیر استفاده کنید.

تولید متقابل

تنظیم کردن [cross_compile] بخش در cforge.toml برای تولید باینری برای اهداف غیر میزبان (به عنوان مثال ، وب سایت یا لینوکس تعبیه شده).

نسخه های اخیر و نقشه راه

  • v2.0.0 بتا (11 مه 2025): بازنویسی موتور از زنگ زدگی به C/C ++ برای ادغام بالای سربار و محکم تر.
  • v2.1.0 بتا (16 مه 2025): تولید پیشرفته و ویژوال استودیو تولید و فضای کاری برای هر پروژه را اضافه می کند.
  • V1.0.0 آینده: انتشار پایدار برنامه ریزی شده با بهینه سازی PCH ، سیستم افزونه و پشتیبانی از سرور زبان.

جامعه و مشارکت

به بحث در مورد بحث های GitHub ، شماره پرونده ها بپیوندید و درخواست های کشش را در مخزن CFORGE ارسال کنید. درگیر با توسعه دهندگان دیگر در Reddit در r/cppبا r/gamedevوت r/Cplusplusبشر

پایان

CFORGE یک رویکرد برجسته و ساده به مدیریت ساخت C/C ++ ارائه می دهد و انعطاف پذیری TOML را با استحکام Cmake و VCPKG ترکیب می کند. چه ساخت کتابخانه های ساده و چه در فضای کاری پیچیده ارکستر ، CFFORGE توسعه را تسریع می کند و پیکربندی سربار را کاهش می دهد. امروز آن را امتحان کنید و بخشی از جامعه رو به رشد CFORGE شوید!

نوشته های مشابه

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

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

دکمه بازگشت به بالا