Hello,

CMakeLists.txt:
 SET( NAMESPACE "vtk" )
 SET( ${NAMESPACE}_OPTION "ON" )
CONFIGURE_FILE( ${CMAKE_CURRENT_SOURCE_DIR}/foo.h.in ${CMAKE_CURRENT_BINARY_DIR}/foo.h @ONLY IMMEDIATE )

foo.h.in
  #cmakedefine @[EMAIL PROTECTED]


This does not place the #define vtk_OPTION in foo.h. Replacing the @NAMESPACE@ in foo.h.in with vtk works though. It looks like the CONFIGURE_FILE is being parsed after the #cmakedefine checks.

Is this intended behaviour ?

thanks
-karthik

Alexander Neundorf wrote:

Hi, recently cmake cvs has the new FILE() command: FILE(SYSTEM_PATH ENVIRONMENT_VARIABLE _variable) Now, there's the case that some tool outputs a list of directories (e.g. kde-config), which will also contain the backward slashes. For use with cmake the backslashes have to be replaced forward slashes. Basically this is what is done with FILE(SYSTEM_PATH ...) But this doesn't work for output from applications. We have currently the following code in FindKDE4.cmake: # then ask kde-config for the kde data dirs EXEC_PROGRAM(${KDE4_KDECONFIG_EXECUTABLE} ARGS --path data OUTPUT_VARIABLE _data_DIR ) IF(WIN32) # cmake can't handle paths with '\' correct :-( STRING(REGEX REPLACE "\\\\" "/" _data_DIR "${_data_DIR}") ELSE(WIN32) # replace the ":" with ";" so that it becomes a valid cmake list STRING(REGEX REPLACE ":" ";" _data_DIR "${_data_DIR}") ENDIF(WIN32)

Maybe it would be a better idea to remove FILE(SYSTEM_PATH ...) again and instead add something like this: set(myPath $ENV{KDEDIRS}) TO_CMAKE(myKdeDirs ${myPath}) ? This would work for both cases, the env. var and if the content comes from somewhere else. What do you think ? Bye Alex


_______________________________________________
CMake mailing list
[email protected]
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to