[CMake] Using CMake for embedded project

kitts kitts.mailinglists at gmail.com
Wed Jan 17 10:02:34 EST 2007


Hi All,
 
I am new to using CMake and have been introduced to it only after the big 
KDE news. I have since studied its capability and was excited with its 
simplicity as compared to the autotools. :-)

I am currently in the process of shifting an existing custom makefile based 
project to CMake for easier and superior maintenance. The project is for 
embedded systems and is used on multiple architecture processors and 
several board designs of each supported architecture. Think of it like the 
Linux kernel. The following are a set of goals that I would like to achieve 
with CMake.
 
1)     Allow selection of components to be built. Each component 
(sub-project) is located under a subfolder of the root.
2)     Build debug and release versions for each of the board/arch by just 
issuing one command.
3)     Support multiple compilers, cross compilers depending on the 
architecture. (mostly GCC, but it could be another like Metrowerks)
4)     Support code that is specific to board, specific to architecture and 
common to all.
 
The first was easy to do but I’m lost wrt the other two. Besides that, is it 
possible to list supported architectures and supported boards under each 
architecture? I mean, like using OPTION() shows two values (ON/OFF), can I 
list out other options like x86, PPC, ARM7, ARM9 etc for Arch? And then 
options listed for ‘Board’ will depend on the selection for arch? This is 
needed if requirement 2 listed above is not possible.
 
Are there any tutorials, samples available for this kind of a project? BTW, 
the project does not build any executable but only a library for each of 
the sub-project organized suitably. There are a set of tests written for 
the libraries and I would like to have the test execution (on the target 
board) to be automated as well. :-)
-- 
Cheers!
kitts


More information about the CMake mailing list