Skip to content
Build automation tool for D
Branch: master
Clone or download
Latest commit c03fd9c Jan 23, 2019


Cook is a fast incremental build tool intended for projects in D language. In contrast to most other build automation programs, Cook by default requires no project hierarchy description - it automatically collects information about imports from D source files in project directory. Moreover, Cook caches dependencies between modules, and then uses this cache to find out which modules had been changed and need recompiling.

NOTE: Cook is not being developed anymore. This repository is in maintainance mode, and there will be only bugfix releases. Please, consider using Dub instead of Cook.


Cook is written in D and supports Windows and Linux. By default it works with Digital Mars D compiler (DMD), but you can use it with other compilers (and, for some extent, even with other languages!) as well by writing proper configuration file.


  • Supports Windows and Linux
  • No need to install system-wide - Cook executable runs from anywhere, including project directory
  • Performs incremental building by default
  • Very fast
  • Low memory requirements (happily builds large projects on outdated 32-bit systems, even with 512 MB RAM!)
  • Powerful and robust dependency scanner with support for "version" and "debug" conditions
  • Fully configurable. You can define paths to compiler and linker, override default compilation/linkage commands, etc.
  • Can cross-compile Windows programs under Linux using Wine
  • Supports automatic dependency resolution from remote Git repositories or local directories (experimental feature). No need for a package registry - everything is fully decentralized, you can fetch any Git repository in the world



Copyright (c) 2011-2019 Timur Gafarov. Distributed under the Boost Software License, Version 1.0. (See accompanying file COPYING or at

You can’t perform that action at this time.