[CMake] libs only target
Brad King
brad.king at kitware.com
Fri Jun 2 10:17:51 EDT 2006
Jan Woetzel wrote:
> Brad King wrote:
>
>> IF(BUILD_EXAMPLES)
>
>
> Thanks Brad,
> that's almost the approach we currently use except
> IF (BUILD_EXAMPLES OR BUILD_TESTING)
> for ctest ADD_TEST executable targets.
>
> However,
> we are not satisfied with this approach because:
> (1) If someone has built only the libs and he decides he wants the
> examples,
> he has to run cmake to set BUILD_EXAMPLES (which takes time) which
> creates/configures a new config.h (from config.in).
> This config.h is included alomost everywhere and thus everything is
> unneccessarily rebuilt.
Why do you have a definition for BUILD_EXAMPLES in the top-level
config.h? Building the libs certainly shouldn't care whether examples
will be built. If a few of the sources do need to know for some reason
just create a different configured header for BUILD_EXAMPLES and include
it in only the sources that need it.
> So we prefer the approach of target:
> - "all" build libs+executables,
> - "libs" compiles+links all libraries but skips compiling+linking
> executables.
ADD_CUSTOM_TARGET(libs)
ADD_DEPENDENCIES(libs lib1 lib2)
-Brad
More information about the CMake
mailing list