[CMake] SET_TARGET_PROPERTIES funny..

Thomas Hunger hto at arcor.de
Fri Aug 18 11:47:54 EDT 2006


Hi,
When I do this to SET_TARGET_PROPERTIES:

SET_TARGET_PROPERTIES(extree PROPERTIES 
                      COMPILE_FLAGS "\n")

make (not cmake) will complain:

CMakeFiles/XXX/build.make:61: *** missing separator.  Stop.

This is not out of thin air. I made a different PKGCONFIG macro which 
fits my needs better:

FIND_PROGRAM(PKGCONFIG_EXECUTABLE NAMES pkg-config 
PATHS /usr/local/bin )

MACRO(PKGCONFIG _target _package)
    EXEC_PROGRAM(${PKGCONFIG_EXECUTABLE} 
                 ARGS ${_package} --libs 
                 OUTPUT_VARIABLE _libs)
    EXEC_PROGRAM(${PKGCONFIG_EXECUTABLE} 
                 ARGS ${_package} --cflags 
                 OUTPUT_VARIABLE _cflags)
    SET_TARGET_PROPERTIES(${_target} PROPERTIES 
                          LINK_FLAGS ${_libs} 
                          COMPILE_FLAGS ${_cflags})
ENDMACRO(PKGCONFIG)

Now sqlite3 provides a sqlite3.pc file with an cflags field of "\n". 
Which is used by SET_TARGET_PROPERTIES. I could catch that error in 
my macro, but I think it would be better to catch it in 
SET_TARGET_PROPERTIES. What do you think?

Tom


More information about the CMake mailing list