On Sunday 29 January 2006 15:32, Alexander Neundorf wrote: [...] >macro(GET_ABS_PATH _abs_filename _filename) >     IF(${_filename} MATCHES "^/.+") >        SET(${_abs_filename} ${_filename}) >     ELSE(${_filename} MATCHES "^/.+") >        IF(${_filename} MATCHES "^[a-zA-Z]:\\\\") >           SET(${_abs_filename} ${_filename}) >        ELSE(${_filename} MATCHES "^[a-zA-Z]:\\\\") >           SET(${_abs_filename} ${CMAKE_CURRENT_SOURCE_DIR}/${_filename}) >        ENDIF(${_filename} MATCHES "^[a-zA-Z]:\\\\") >     ENDIF(${_filename} MATCHES "^/.+") >endmacro(GET_ABS_PATH) BTW, am I the only one who finds it insane that one has to repeat the entire condition in the else and in the endif part of a condition? Is this a technical limitation of the cmake parser? Simon