Once again CMake kicks me hard
I've experienced lately quite wired issues with build, some accidental faults. It was quite clear that the issue was incorrect dependency tracking.
I thought (at the beginning) that svn was reverting time-stamps or something like that, until I got what was the issue.
"Fortunately" for me I had recently installed CMake 2.8.1 from the sources in order to track other CMake bug and I was able to do some little comparison. In short:
This is the output of sample command when I work with CMake 2.6
$ grep application.h CMakeFiles/cppcms.dir/depend.make
CMakeFiles/cppcms.dir/src/application.cpp.o: /usr/include/cppcms/application.h
CMakeFiles/cppcms.dir/src/applications_pool.cpp.o: /usr/include/cppcms/application.h
CMakeFiles/cppcms.dir/src/http_context.cpp.o: /usr/include/cppcms/application.h
CMakeFiles/cppcms.dir/src/internal_file_server.cpp.o: /usr/include/cppcms/application.h
CMakeFiles/cppcms.dir/src/rpc_json.cpp.o: /usr/include/cppcms/application.h
CMakeFiles/cppcms.dir/src/service.cpp.o: /usr/include/cppcms/application.h
CMakeFiles/cppcms.dir/src/url_dispatcher.cpp.o: /usr/include/cppcms/application.h
And this is same command for CMake 2.8...
$ grep application.h CMakeFiles/cppcms.dir/depend.make
CMakeFiles/cppcms.dir/src/application.cpp.o: ../cppcms/application.h
CMakeFiles/cppcms.dir/src/applications_pool.cpp.o: ../cppcms/application.h
CMakeFiles/cppcms.dir/src/http_context.cpp.o: ../cppcms/application.h
CMakeFiles/cppcms.dir/src/internal_file_server.cpp.o: ../cppcms/application.h
CMakeFiles/cppcms.dir/src/rpc_json.cpp.o: ../cppcms/application.h
CMakeFiles/cppcms.dir/src/service.cpp.o: ../cppcms/application.h
CMakeFiles/cppcms.dir/src/url_dispatcher.cpp.o: ../cppcms/application.h
CMake's dependency checker was using system global headers as dependency even when local files placed in explicitly specified location ".." should be checked.
CMake sucks! Do I need this suffer just for MSVC support? I don't know.
Looks like I'll have to upgrade to CMake 2.8
Add Comment:
You must enable JavaScript in order to post comments.