Skip to content
randomphrase edited this page Feb 24, 2014 · 1 revision

One of the more important functions of a development environment is management of projects. I suppose there are many different definitions of what constitutes a project, but for my purposes, a project is formed by Git repo boundaries. C++ projects are also delineated by the use of CMake as a build system. Other than these two, I try to make no other assumptions about the project.

The process of creating a new project, or cloning an existing one, is sufficiently rare that I use basic tools without any significant automation.

For most projects, the process is as you might expect. From the command line, I simply create/clone the repo, then create a build directory. Because most of the projects I care about (see above) are CMake-based, all that is required to set up the build directory is run CMake. I use the -G Ninja option to generate Ninja build files.

Note that I don’t like to require any additional setup, and instead I prefer my tools to adapt to the basic requirements already mentioned. This is not always entirely possible, but I do try to keep per-project setup to a minimum.

Clone this wiki locally