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



_______________________________________________
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://www.cmake.org/mailman/listinfo/cmake

Reply via email to