[CMake] How to build 2 targets from the same source, differing in -D_SWITCHES_ only

Alexander Neundorf a.neundorf-work at gmx.net
Fri Sep 4 15:51:59 EDT 2009


On Thursday 27 August 2009, Christian Ehrlicher wrote:
> > Von: "Marcel Loose" <loose at astron.nl>
> > CC: cmake at cmake.org
> > Betreff: Re: [CMake] How to build 2 targets from the same
> > source,	differing in -D_SWITCHES_ only
> >
> > Hi Eike,
> >
> > I think the only safe and reliable way to do this is create several
> > build directories, e.g. build/type_1 and build/type_2.
> > When running cmake in build/type_1, you should add -D_TYPE1_ to the
> > preprocessor flags; same for build/type_2.
>
> Why? Does SET_TARGET_PROPERTIES() with COMPILE_FLAGS not work?

So the full code is:

add_executable(foo main.c)
set_target_properties(foo PROPERTIES COMPILE_FLAGS -D_TYPE1_)

add_executable(bar main.c)
set_target_properties(bar PROPERTIES COMPILE_FLAGS -D_TYPE2_)

Alex



More information about the CMake mailing list