Lénaïc Bagnères, hnc@singularity.fr | bagneres@lri.fr
Ph.D. student, supervised by Cédric Bastoul and Christine Eisenbeis
LRI (Laboratoire de Recherche en Informatique), Équipe Architectures parallèles ParSys
data/header.png
img/32x32/portrait_silhouette.png Main page
img/32x32/kdevelop.png Dev
img/32x32/adjustable_wrench_and_screwdriver.png Tools
img/32x32/erlenmeyer_flask.png Research
img/32x32/graduate_cap.png Teaching
img/32x32/cpp_src.png C++
img/32x32/coin.png Trade
img/32x32/debian.png Debian

img/48x48/adjustable_wrench_and_screwdriver.png Tools

All these tools / software are free (free as in free speech not as in free beer) and free (no-cost).

img/48x48/cmake.png CMake & C++

img/32x32/cmake.png CMake

img/16x16/wikipedia.png Wikipedia:
CMake is cross-platform free and open-source software for managing the build process of software using a compiler-independent method.
img/16x16/wikipedia.png Wikipédia:
CMake est un « moteur de production » multiplate-forme. Il est comparable au programme Make dans le sens où le processus de construction logicielle est entièrement contrôlé par des fichiers de configuration, appelés CMakeLists.txt dans le cas de CMake.

img/32x32/cpp_src.png Compile a C++ project using CMake

In a C++ project which uses CMake:
Create a build directory:

$ mkdir build
$ cd build

Call cmake on UNIX like system (see below for Windows):

$ cmake ..

Call cmake under Windows (see above for UNIX like) (run the command twice):

$ cmake .. "-GMinGW Makefiles"
$ cmake .. "-GMinGW Makefiles"

You can choose install directory with CMAKE_INSTALL_PREFIX CMake variable. Example:

$ cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/usr

Compile the project on UNIX like system (see below for Windows):

$ make

Compile the project under Windows (see above for UNIX like) (run the command twice):

$ mingw32-make.exe

img/32x32/pencil.png How write a CMakeLists.txt file

See examples: hopp and thoth CMakeLists.txt.
Read the official documentation.


img/32x32/newspaper.png Other pages:
img/32x16/git.png Git & Gitlab.com (Use Git & Gitlab.com)
img/32x16/cmake.png CMake & C++ (Compile a C++ project using CMake)
img/32x16/kdevelop.png IDE & C++ (Compile a C++ project using a IDE (KDevelop, QTcreator, Code::Blocks))
img/32x16/virtualbox.png VirtualBox (Some .vdi VirtualBox images)
img/32x16/openscop.png PeriScop (OpenScop, Clan, PipLib, Candl, CLooG (with ISL), Clay)