wiki:cmake_modules

Version 6 (modified by Sanahuja Guillaume, 21 months ago) (diff)

--

Various cmake modules are used by the flair build system. They are located in flair-dev.

You will find some explanations of what they do here. But the best way to understand them is to read them!

Cmake modules

ArchDir.cmake

Retrieves the arch name from the toolchain file (toolchain.cmake). It is used to install files in the correct folders, and to check if a lib, demo or tool is compatible with a specific architecture or not.

It also checks if host architecture is i686, as it is not supported.

ColoredMessage.cmake

Defines some cmake functions to have colored messages.

FindXenomai.cmake

Find xenomai lib and defines some variables useful for cmake.

GlobalCmakeFlair.cmake

reimplements some cmake built in functions to add extra functionalities

  • ADD_EXECUTABLE: check if $HOME/.ssh/config have some hosts defined (see here). In this case add a custom_target to cmake, to copy the executable with ssh. The custom target is called delivery_root_ADDRESS_PATH, with address the target address and path the destination path. Also add a message to display architecture
  • ADD_LIBRARY: add a message to display architecture
  • INSTALL: copy resources files (scripts and xml files for the demos). Resources files are places in the resources dir, and inside an arch dir. See for example in the CircleFollower demo.

FlairUseFile.cmake

used by demos/tools, it helps adding include dirs and libraries for programs using flair