[CMake] Bug in IMPLICIT_DEPENDS for add_custom_target
lists_ravi at lavabit.com
lists_ravi at lavabit.com
Tue Nov 10 17:34:42 EST 2009
Hello,
How does one ensure that the appropriate scanner is run to obtain
implicit dependencies via IMPLICIT_DEPENDS? In the following example,
the 'drop' target depends on dummy.cc which has an implicit dependency
on blah.h, which means that 'drop' should be rebuilt after every change
to blah.h. However, with CMake 2.6.4 (rpm from Fedora 11) and 2.8.0-rc6
(self-compiled), the 'drop' target is never remade when blah.h is
modified. Is this a bug?
blah.h:
inline int blah() { return 3; }
dummy.cc:
#include <iostream>
#include "blah.h"
void tester() { std::cout << blah() << std::endl; }
CMakeLists.txt:
cmake_minimum_required( VERSION 2.6.4 )
add_custom_command( OUTPUT drop
COMMAND touch drop
IMPLICIT_DEPENDS CXX dummy.cc )
add_custom_target( dropper ALL DEPENDS drop )
Of course, the preceding is a very simplified example to show the issue.
My real use case is much more complex than a mere 'touch', involving some
complex pre-processing on some C++ source code.
Any hints greatly appreciated. I am using the standard Unix makefiles
generator. The build.make file in CMakeFiles/dropper.dir has no indication
that blah.h is even involved in this compilation.
Regards,
Ravi
More information about the CMake
mailing list