Home  /  RSS  /  RSS Comments  /  Enter

Once again CMake kicks me hard

6/6/10, by artyom ; 0 comments

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:

 
 the email would not displayed
 

You can write your messages using Markdown syntax.

You must enable JavaScript in order to post comments.

Pages

Categories