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 شوید!