While packaging CMake 2.8.8 for FreeBSD, an old port of lprof [1] started failing to build after some include headers were not found.
The relevant CMakeLists does the following: add_library(foo foo.c) set_directory_properties( PROPERTIES INCLUDE_DIRECTORIES "${SOME_DIRECTORY}") foo.c includes "bar.h" which is in ${SOME_DIRECTORY}. This used to work until commit 9106b564ae5bf0bf1c1ff4a3fca484bcfd40e183, and the following patch can be applied to master for ctest to fail on the IncludeDirectories test: diff --git a/Tests/IncludeDirectories/TargetIncludeDirectories/CMakeLists.txt b/Tests/IncludeDirectories/TargetIncludeDirectories/CMakeLists.txt index 2cf36f5..05065c2 100644 --- a/Tests/IncludeDirectories/TargetIncludeDirectories/CMakeLists.txt +++ b/Tests/IncludeDirectories/TargetIncludeDirectories/CMakeLists.txt @@ -21,6 +21,7 @@ include_directories("${CMAKE_CURRENT_BINARY_DIR}/bar") add_executable(TargetIncludeDirectories main.cpp) set_property(TARGET TargetIncludeDirectories APPEND PROPERTY INCLUDE_DIRECTORIES "${CMAKE_CURRENT_BINARY_DIR}/bat") -set_property(TARGET TargetIncludeDirectories APPEND PROPERTY INCLUDE_DIRECTORIES "${CMAKE_CURRENT_BINARY_DIR}/foo") +# set_property(TARGET TargetIncludeDirectories APPEND PROPERTY INCLUDE_DIRECTORIES "${CMAKE_CURRENT_BINARY_DIR}/foo") +set_property(DIRECTORY PROPERTY INCLUDE_DIRECTORIES "${CMAKE_CURRENT_BINARY_DIR}/foo") include_directories("${CMAKE_CURRENT_BINARY_DIR}/baz") Moving that set_property(DIRECTORY) call somewhere before the add_executable() call makes the test pass. Is this change of behaviour intentional? Cheers. [1] http://www.freshports.org/graphics/lprof-devel -- 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