On 9/22/2014 11:53 AM, Cristian Adam wrote:
"-d explain" parameter gives for lots of files (probably all) in the
project (headers, source files, object files, static libraries,
executables)
"is dirty"
This means that ninja's method of detecting if a file has been changed
doesn't quite work for QNX. Or is this being set by cmake?
Some compiler flag which needs a -Wc, or -Wp prefix?
I would look close at the output of explain:
For example, in building cmake:
If I start with an up to date build, and do this:
touch ../cmake/Source/cmake.cxx
ninja -d explain
I get something like this:
Creating library bin\ctest.lib and object bin\ctest.exp
ninja explain: output Source\CMakeFiles\CMakeLib.dir\cmake.cxx.obj older
than most recent input C:\Users\hoffman\Work\My
Builds\cmake\Source\cmake.cxx (433106324 vs 433106443)
ninja explain: Source\CMakeFiles\CMakeLib.dir\cmake.cxx.obj is dirty
ninja explain: Source\CMakeLib.lib is dirty
ninja explain: Source\CMakeLib.lib is dirty
ninja explain: bin\cmake.exe is dirty
ninja explain: Source\CMakeLib.lib is dirty
ninja explain: bin\cmcldeps.exe is dirty
ninja explain: Source\CMakeLib.lib is dirty
ninja explain: bin\cpack.exe is dirty
ninja explain: Source\CMakeLib.lib is dirty
ninja explain: bin\ctest.exe is dirty
ninja explain: Source\CMakeLib.lib is dirty
ninja explain: Tests\CMakeLib\CMakeLibTests.exe is dirty
ninja explain: Source\CMakeLib.lib is dirty
ninja explain: Tests\CTestTestMemcheck\memcheck_fail.exe is dirty
ninja explain: Source\CMakeLib.lib is dirty
ninja explain: Tests\CTestTestMemcheck\BC.exe is dirty
ninja explain: Source\CMakeLib.lib is dirty
ninja explain: Tests\CTestTestMemcheck\purify.exe is dirty
ninja explain: Source\CMakeLib.lib is dirty
ninja explain: Tests\CTestTestMemcheck\valgrind.exe is dirty
Maybe if you looked at the very first older than in your output instead
of the dirty ones it might tell you what ninja thinks is out of date.
Could be some sort of path issue that has something to do with the way
the paths are constructed. Again, without seeing the details I can only
guess.
Do makefiles work for you? What if you try the "Unix Makefiles"
generator on the same machine does it have the same problem?
-Bill
--
Powered by www.kitware.com
Please keep messages on-topic and check the CMake FAQ at:
http://www.cmake.org/Wiki/CMake_FAQ
Kitware offers various services to support the CMake community. For more
information on each offering, please visit:
CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake