On 4/30/2012 8:37 PM, Raphael Kubo da Costa wrote:
add_library(foo foo.c) set_directory_properties( PROPERTIES INCLUDE_DIRECTORIES "${SOME_DIRECTORY}")
[snip]
Is this change of behaviour intentional?
CMake 2.8.8 introduced support for per-target include directories. Prior to that the directory-level INCLUDE_DIRECTORIES property was documented as read-only: $ cmake --help-property INCLUDE_DIRECTORIES cmake version 2.8.7 INCLUDE_DIRECTORIES List of preprocessor include file search directories. This read-only property specifies the list of directories given so far to the include_directories command. It is intended for debugging purposes. It was meant to be set only by the include_directories() command. The code in question was using previously undefined behavior and worked only by accident. CMake 2.8.8 does define behavior but not what the code above expects. When a target is first created (e.g. add_library) the value of the directory-level INCLUDE_DIRECTORIES property is used to initialize a target-level property of the same name. After that direct changes to the INCLUDE_DIRECTORIES property have no effect on the target. However, the include_directories() command will still append to both the directory-level property AND the target properties for all targets already created in the current dir. -Brad -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers