[cmake-developers] target_include_directories is broken with ninja generator
Matthew Woehlke
matthew.woehlke at kitware.com
Wed Mar 13 20:59:14 EDT 2013
This simple CMakeLists.txt is broken with ninja:
cmake_minimum_required(VERSION 2.8.10.20130312)
project(Foo)
add_executable(foo foo.cpp)
target_include_directories(foo PUBLIC
$<BUILD_INTERFACE:${Foo_BINARY_DIR}>
$<INSTALL_INTERFACE:${CMAKE_INSTALL_PREFIX}/include>
)
...with Ninja, the include directive passed to the compiler is '-I.'
(with the binary dir prefix similarly stripped for anything after the ${}).
It seems okay with the Makefile generator.
This does appear to be a CMake problem, and not a ninja problem, as in
the build.ninja I am seeing 'FLAGS = -I.'.
It would be nice to have this fixed before 2.8.11 final :-).
(Note: I haven't yet checked if the installed exports file is okay,
since this is preventing my project from building, although presumably
that is at least not generator dependent.)
--
Matthew
More information about the cmake-developers
mailing list