Welcome to CMakeD
CMakeD is a CMake module for the D programming language.
There are several other build systems available for D (including bud (build), DSSS, etc), and CMakeD does not aim to replace them, as they are very good at what they do.
Some projects may require a more flexible build system that allows for full configure support which is where CMake really shines. Some D applications may be linked to external libraries that need to be detected at compile time, and if the intent is to distribute open source apps, or deliver a source code package to clients, CMakeD may be exactly what is needed.
CMakeD provides the following features:
- Consistent build system on all platforms (Linux, Mac, Windows), compilers (gdc, dmd), and standard libraries (Phobos, Tango)
- Configure support for automatically detecting and linking system libraries and headers
- Platform checks
- Conditionally built source files, targets, and directories
- Automatic source and binary packaging
- Source code documentation building with both dmd and gdc, including automatic generation of Candydoc ddocs (currently gdc only)
- Does not require the user to have any special software installed (including CMakeD!) other than CMake (which is usually already installed on Linux systems)
- Pretty colored compile output, and percent completed display
Look at sample build sessions to get an idea of how CMakeD works. Patches, bug reports, and suggestions of every type are welcome. Please use the Ticket System or post a message to the CMakeD Forum.
Download CMakeD
- svn : svn co http://svn.dsource.org/projects/cmaked/trunk cmaked
- stable : CMakeD-r29.zip
How to Install?
Note that installation is not required to build CMakeD based projects. See the samples, as they show how a project can be created without needing CMakeD to be installed system wide. CMakeD does this by locally including the necessary files.
However, installation is still made available for people who desire this functionality.
GNU/Linux
If you are using a package based distribution look packages for this programs. example; Arch Linux packages for gdc and dmd.
Windows/MinGW
Windows/DMD
- install MinGW
- install cmake
- install dmd
- cmake.exe -G "MinGW Makefiles" .
- path/to/MinGW/bin/mingw32-make install
Compiler Preference
CMakeD first looks for "gdc" then for "dmd". If one is installed it will use it, and if both are installed and you prefer "dmd" the DC environment variable can be used. Unix example:
export DC=/opt/dmd/bin/dmd
Windows example:
export DC=C:/dmd/bin/dmd
Note the unix style slashes in the windows export!
Authors
- Selman Ulug <selman.ulug(at)gmail(dot)com> (http://sulug.blogspot.com)
- Tim Burrell <tim.burrell(at)gmail(dot)com>