On 2012-10-24 10:35, DavidAllen wrote:
I am currently looking at replacing my unix makefile (linux+gmake,
solaris+make/gmake) and Windows VS projects, with cmake.

For the makefiles I get gcc to output dependency files based on header file
usage, using gcc options -MM -MF -MP -MT.

This has worked really well for over a year. If I modify a cpp file that is
used by the shared lib, then the executable does not re-link. If I modify a
.h file that is used by the shared lib *and* the executable, then it WILL
re-link.

I'm not sure that's correct behavior. What if the modification to the .cpp file was to remove the definition of a function declared in a header? Now your executable that was using that function will crash when you try to run it due to a missing symbol. If you had re-linked, you might instead get a link error letting you know something is wrong.

You could probably modify CMake to generate build rules that do not treat linked libraries as dependencies for a library/application link step, but I don't think I would consider that correct behavior.

--
Matthew

--

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