[Cmake] use of cmake options in source code
Brad King
brad . king at kitware . com
Thu, 28 Aug 2003 16:11:53 -0400 (EDT)
> Better option:
>
> Create file ClearConfig.h.in and put in something like:
>
> #cmakedefine CLEARR_HAS_VTK
>
> Then in your CMakeLists.txt after OPTION(CLEAR_HAS_VTK...)
>
> IF(CLEAR_HAS_VTK)
> CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/ClearConfig.h.in
> ${CMAKE_CURRENT_BINARY_DIR}/ClearConfig.h)
> ENDIF(CLEAR_HAS_VTK)
> INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
This should be:
/* ClearConfig.h.in: */
#cmakedefine CLEAR_HAS_VTK
Then in your CMakeLists.txt after OPTION(CLEAR_HAS_VTK...)
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/ClearConfig.h.in
${CMAKE_CURRENT_BINARY_DIR}/ClearConfig.h)
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
The ClearConfig.h file must always be generated so it can be included.
If CLEAR_HAS_VTK is ON, the #cmakedefine will become a #define. If it is
off, the #cmakedefine will become a comment.
-Brad