[[PageOutline]] Various cmake modules are used by the flair build system. They are located in [source:flair-dev/trunk/cmake-modules 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 = == [source:flair-dev/trunk/cmake-modules/ArchDir.cmake 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. == [source:flair-dev/trunk/cmake-modules/ColoredMessage.cmake ColoredMessage.cmake] == Defines some cmake functions to have colored messages. == [source:flair-dev/trunk/cmake-modules/FindXenomai.cmake FindXenomai.cmake] == Find xenomai lib and defines some variables useful for cmake. == [source:flair-dev/trunk/cmake-modules/GlobalCmakeFlair.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 [wiki:setup#ConfigureSSHhostsoptional 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 [source:flair-src/trunk/demos/CircleFollower/uav/resources CircleFollower demo]. == [source:flair-dev/trunk/cmake-modules/FlairUseFile.cmake FlairUseFile.cmake] == used by demos/tools, it helps adding include dirs and libraries for programs using flair