This repository has been archived by the owner on Apr 30, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
Home
Timur Gafarov edited this page May 24, 2015
·
5 revisions
Cook is one of my earliest D projects, started back in 2010. At the time, there were no much available build tools for D2, and writing makefiles for D projects was very inconvenient, especially when frequently switching between Linux and Windows. So I decided to write a simple one-file build script that could be run with rdmd. Eventually I added more features, and now it became a powerful build automation software that can be used as an alternative to DUB.
Today there exist several building tools for D2, and new ones keep appearing. One of them, DUB, became a de-facto standard in D community. So why use Cook?
- Cook has low system requirements. It happily builds large projects on outdated machines with 512 MB RAM, which is nearly impossible with DUB.
- Cook is originally oriented towards incremental build processing, thus being a robust solution for huge projects with hundreds of modules.
- DUB requires configuring your project to fit its way of doing things. Cook can be adapted to fit any project without changing it.
- DUB uses centralized package registry to track dependencies, while Cook can directly use any Git repository as a dependency, including DUB-oriented ones. Furthermore, Cook can treat local directories as dependencies, which is useful if you are working on several interconnected projects on the same machine.
- Cook supports cross-compilation of Windows programs under Linux using Wine.
Cook also has some shortcomings, which include the following:
- Git repos support is limited to master branches (this can be fixed in future)
- By now Cook supports only Windows and Linux.