CMake KDE release

Alexander Neundorf neundorf at kde.org
Sun Jan 29 17:30:50 GMT 2006


On Sunday 29 January 2006 17:58, Simon Hausmann wrote:
> 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?

I guess it has been a deliberate design decision
(Many people also do the following:
#ifdef HAVE_FOO
...
#endif /* HAVE_FOO */
)

Except of getting used to this style I don't see a problem here.

cmake is *no* programming language, and many things can be done cleaner in 
real programming languages (python, ruby, ...). It is a specialized 
configuration/macro language, designed to be able to specify software builds. 

Bye
Alex
-- 
Work: alexander.neundorf AT jenoptik.com - http://www.jenoptik-los.de
Home: neundorf AT kde.org                - http://www.kde.org
      alex AT neundorf.net               - http://www.neundorf.net




More information about the kde-core-devel mailing list