Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Version 15 (modified by nicolasc, 17 years ago) (diff)

TracNav(TracNav/TOC_Coding)?

CMake Build System

Using CMake

CMake is a build tool which created Makefile for you.

$ cmake . 

With those Makefiles, the project the can be built.

$ make -j2 all

Rebuilding the CMakeCache

Sometime it happens, that CMake won't accept the new setting you added some where in a CMakeLists.txt. As a workaround — I have not found a better solution yet — delete the the toplevel CMakeCache, and rebuild every Makefile.

$ cd <some/branch/or/trunk> && ./cmakeclearcache && cmake . 

Writing CMakeLists.txt

Just as an simple example for how to write a CMakeLists.txt.

PROJECT(Orxonox)

SET( SRC_FILES
	some_soource.cc
	another_source.cc
)

INCLUDE_DIRECOTRIES(.)

ADD_LIBRARY(network ${SRC_FILES})

Using CMake with KDevelop

CMake is capable of creating .kdevelop files, which are used as project files in (guess where) KDevelop. To create them simply use the following command

$ cmake . -GKDevelop3

Optimize KDevelop

Do some configursation to make the usage of KDevelop smoother

Go to Project->Project Option->Build Option->Make, and do the following changes

  • Select Run Multiple Jobs, and set Number of Simultaneous Jobs to 3
  • set Make Prority to 5
  • Optional: Add Environment Variables
    • i.e Name: CXXFLAGS; Value: -O2 -pipe
    • CXXFLAGS or LDFLAGS are also possible. In fact any compiler flags can be set here
      If you don't know what CFLAGS are, don't set them, otherwise use at you own discretion. Only reasonable flags will be supported

Go to Project->Project Option->Run Option

  • Working Directory: just add /bin you still need to run ./run-script the first time