[CMake] How to iterator over a set of directories containing projects?
Alexander Neundorf
a.neundorf-work at gmx.net
Tue Jul 14 14:22:54 EDT 2009
On Monday 13 July 2009, Peter wrote:
> I have a bunch (50+) of sample programs deep in the hierarchy of my
> library project. Each of these samples has a similar CMakeLists.txt
> file, like
>
> add_executable( binning binning.cpp )
> target_link_libraries( binning ${Boost_LIBRARIES} )
>
> where binning would be the name of the sample as well as the name of the
> directory. I'm wondering if there would be a way to avoid authoring
> these similar CMakeLists.txt files and instead somehow iterate over all
> the projects in the CMakeLists.txt file which is one level higher in the
> hierarchy?
Not sure I understand you correctly.
You could write a macro like this:
macro(add_sample _name)
add_executable( ${_name} ${_name}/${_name}.cpp)
... do whatever more is required
endmacro(add_sample)
and then do in the toplevel project file just:
add_sample(binning)
add_sample(foo)
etc.
Does this help ?
Alex
More information about the CMake
mailing list