Currently Online

Latest Posts

Changes in WidelandsGoingCMake

Revision Differences of Revision 4

# Widelands going CMake ¶

Widelands project plans to move from the current build system Scons to CMake. ¶

This page is to track progress and collect important information in the transition process. ¶

## Table of Contents: ¶
[TOC] ¶



## Important Links ¶

* [Scons](http://www.scons.org) ¶
* [CMake](http://www.cmake.org) ¶
* [CMake Tutorial \(PDF\]](http://www-flc.desy.de/ldcoptimization/documents/talks/CMake_Tutorial.pdf) ¶

## Identified Tasks ¶
### Changes in Build ¶
* *make install* does not exclude SVN directories ¶
* add "PATTERN "\*.svn\*" EXCLUDE" to global CMakeLists.txt file *INSTALL* directive ¶
### Transition tasks ¶
* Identify Scons tasks and targets used by widelands, replace using cmake & make ¶

## Important notes

### Things to know about the transition ¶
* Transition uses a SVN branch called "cmake-transition", not "trunk" ¶

### Starting with CMake in the transition ¶
#### Preparation ¶
* $ mkdir ~/wl_cmake_transition ¶
* $ cd ~/wl_cmake_transition ¶
* $ svn co https://widelands.svn.sourceforge.net/svnroot/widelands/branches/cmake-migration widelands-cmake ¶
* $ mkdir widelands-build ¶

#### Using CMake ¶
* $ cd ~/wl_cmake_transition/widelands-build ¶
* $ cmake -DCMAKE_INSTALL_PREFIX=~/
..wl_cmake_transition/widelands-install ../widelands-cmake ¶
* $ make install -j3



### Using CMake ¶
*