View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0013158CMakeCMakepublic2012-04-20 15:202012-12-03 07:46
ReporterAndrey Kamaev 
Assigned ToPeter Collingbourne 
PrioritynormalSeverityfeatureReproducibilityalways
StatusclosedResolutionfixed 
PlatformOSWindowsOS Version
Product VersionCMake 2.8.8 
Target VersionFixed in Version 
Summary0013158: Ninja: patch fixing Windows builds
DescriptionThank you guys for your great work and please consider my small patch making possible to use ninja on Windows.

With this patch I've successfully compiled OpenCV library (http://opencv.willowgarage.com/wiki/ [^]) with MS compiler from VS2010 and cross-compiled it for Android (also on Windows).

mingw build also works, but it fails if any sub-directory has more than one library/executable target because of problem not handled by this patch (mingw ar does not automatically generate directories).
Additional InformationPatch is made for 2.8.8 release
TagsNo tags attached.
Attached Filespatch file icon win_ninja.patch [^] (559 bytes) 2012-04-20 15:20 [Show Content]

 Relationships

  Notes
(0029284)
Bill Hoffman (manager)
2012-04-20 15:51

Thanks for the patch, I will forward to the ninja developers. Once thing to note on windows with the MS compiler ninja currently has no file level depend information at all. So, expect incremental builds to fail as you change header files....
(0029285)
Andrey Kamaev (reporter)
2012-04-20 16:12

Yes, incremental build with MS compiler is broken.
But I'm still happy because I wished speedup for Android build which was extremely slow on Windows.
(0029286)
Bill Hoffman (manager)
2012-04-20 16:22

What about jom?
(0029287)
Andrey Kamaev (reporter)
2012-04-20 18:21

It is not so impressive as ninja. On my laptop jom is up to 2 times slower. And I have not measured but from my feeling incremental build with jom (when I need to rebuild only 1 or 2 files and relink) goes even slower than build with GNU make port from Google's Android NDK.

Also jom generator used without MSVC console spams output with the following message which is irrelevant for cross-compilation:

  To use the JOM generator, cmake must be run from a shell that can use the
  compiler cl from the command line. This environment does not contain
  INCLUDE, LIB, or LIBPATH, and these must be set for the cl compiler to
  work.
(0029747)
Peter Kuemmel (developer)
2012-06-19 16:13

Is fixed with the merge of 'ninja-cldeps'.
(0031813)
David Cole (manager)
2012-12-03 07:46

Closing resolved issues that have not been updated in more than 4 months.

 Issue History
Date Modified Username Field Change
2012-04-20 15:20 Andrey Kamaev New Issue
2012-04-20 15:20 Andrey Kamaev File Added: win_ninja.patch
2012-04-20 15:51 Bill Hoffman Note Added: 0029284
2012-04-20 15:54 Brad King Assigned To => Peter Collingbourne
2012-04-20 15:54 Brad King Status new => assigned
2012-04-20 16:12 Andrey Kamaev Note Added: 0029285
2012-04-20 16:22 Bill Hoffman Note Added: 0029286
2012-04-20 18:21 Andrey Kamaev Note Added: 0029287
2012-06-19 16:13 Peter Kuemmel Note Added: 0029747
2012-07-03 05:51 Peter Kuemmel Status assigned => resolved
2012-07-03 05:51 Peter Kuemmel Resolution open => fixed
2012-12-03 07:46 David Cole Note Added: 0031813
2012-12-03 07:46 David Cole Status resolved => closed


Copyright © 2000 - 2018 MantisBT Team