Re: [cmake-developers] Ninja + Windows CE
On 17.02.2013 08:36, Patrick Gansterer wrote: Hi, Am 09.02.2013 um 10:39 schrieb Peter Kümmel: On 30.01.2013 15:17, Brad King wrote: On 01/26/2013 12:33 PM, Patrick Gansterer wrote: to compile WindowsCE C++ project with Ninja I need the attached patch applied. One problem with this patch is that it moves the initialization of C and CXX languages until after the RC initialization which tries to match the location of the C/CXX compilers. Have a look at these: http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e3a1f727 http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6547f369 Peter, can you explain why this is needed for Ninja but not the other generators? Why does the logic belong in that method? Thanks, -Brad It wasn't clear to me why it works with other generators so I patched only the ninja code. Maybe there is a better solution, but I couldn't figure it out. But the current Ninja generator does not work. Any variables not set in Modules/CMakeCCompiler.cmake.in get no value. E.g. SET_MSVC_CXX_ARCHITECTURE_ID stays empty, because it's set it Modules/CMakeCXXCompiler.cmake.in. Since the all other generators work it seams to my like a Ninja problem, where EnableLanguage() of the base class isn't called correctly. -- Patrick I'm sorry, but atm I have absolutely not time to fix this issue. And I could not simply apply your patch because it could have side effects which introduce other bugs, things are not very decoupled in cmake's code base. If you have time, try to figure out the cmake way of enabling a language and rewrite void cmGlobalNinjaGenerator::EnableLanguage(). There are two related tickets for this: http://www.cmake.org/Bug/view.php?id=13903 http://www.cmake.org/Bug/view.php?id=13606 Peter -- 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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] Ninja Windows dashboard regression
On 2/21/2013 11:50 AM, Robert Maynard wrote: Looks like ninja needs to be patched to suppress warning C2220 inside version.cc I will report this back to the ninja list. -- Bill Hoffman Kitware, Inc. 28 Corporate Drive Clifton Park, NY 12065 bill.hoff...@kitware.com http://www.kitware.com 518 881-4905 (Direct) 518 371-3971 x105 Fax (518) 371-4573 -- 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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] Ninja Windows dashboard regression
Looks like ninja needs to be patched to suppress warning C2220 inside version.cc On Thu, Feb 21, 2013 at 11:43 AM, Brad King wrote: > On 02/21/2013 11:24 AM, Peter Kümmel wrote: > > Otherwise I've no idea what happened, and would assume no Ninja is > installed. > > That dashboard machine does a fresh build of ninja from source. > > It looks like Ninja stopped building on the same day: > > http://open.cdash.org/viewNotes.php?buildid=2821702 > FAILED: ninja.bootstrap.exe -t msvc -o build\version.obj -- cl > /showIncludes /nologo /Zi /W4 /WX /wd4530 /wd4100 /wd4706 /wd4512 /wd4800 > /wd4702 /wd4819 /wd4355 /GR- /wd4267 /DNOMINMAX /D_CRT_SECURE_NO_WARNINGS > /DNINJA_PYTHON="python.exe" /Ox /DNDEBUG /GL -c src\version.cc > /Fobuild\version.obj > src\version.cc(29) : error C2220: warning treated as error - no 'object' > file generated > src\version.cc(29) : warning C4244: 'argument' : conversion from 'size_t' > to 'char', possible loss of data > ninja: build stopped: subcommand failed. > > -Brad > -- > > 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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers > -- Robert Maynard -- 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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] Ninja Windows dashboard regression
On 02/21/2013 11:24 AM, Peter Kümmel wrote: > Otherwise I've no idea what happened, and would assume no Ninja is installed. That dashboard machine does a fresh build of ninja from source. It looks like Ninja stopped building on the same day: http://open.cdash.org/viewNotes.php?buildid=2821702 FAILED: ninja.bootstrap.exe -t msvc -o build\version.obj -- cl /showIncludes /nologo /Zi /W4 /WX /wd4530 /wd4100 /wd4706 /wd4512 /wd4800 /wd4702 /wd4819 /wd4355 /GR- /wd4267 /DNOMINMAX /D_CRT_SECURE_NO_WARNINGS /DNINJA_PYTHON="python.exe" /Ox /DNDEBUG /GL -c src\version.cc /Fobuild\version.obj src\version.cc(29) : error C2220: warning treated as error - no 'object' file generated src\version.cc(29) : warning C4244: 'argument' : conversion from 'size_t' to 'char', possible loss of data ninja: build stopped: subcommand failed. -Brad -- 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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] Ninja Windows dashboard regression
On 21.02.2013 17:11, Brad King wrote: On 02/16/2013 10:17 AM, Peter Kuemmel wrote: http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=303014279a160ea73777426d63cdf2c7f794018f commit 303014279a160ea73777426d63cdf2c7f794018f Author: Peter Kümmel AuthorDate: Sat Feb 16 16:14:23 2013 +0100 Commit: Peter Kümmel CommitDate: Sat Feb 16 16:14:52 2013 +0100 Revert "Ninja: use absolute paths for sources and includes" This reverts commit df7f1790b7cf69def45f55cb03ce0f9cef1eddb5. It shows that absolute paths breaks dependency tracing and adds lot of emtpy build commands. This dashboard failure: http://open.cdash.org/viewConfigure.php?buildid=2816089 Site: dash2win64-windows.kitware Build Name: Windows-VS9-ninja Configure Command: "C:/Dashboards/Support/CMake2.8-ninja/bin/cmake.exe" "-GNinja" "c:/Dashboards/My Tests/NinjaCMake" Configure Return Value: 1 Configure Output: CMake Error: CMake was unable to find a build program corresponding to "Ninja". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool. started on the day the above commit was merged: http://open.cdash.org/index.php?project=CMake&filtercount=3&showfilters=1&filtercombine=and&field1=buildname/string&compare1=63&value1=Windows-VS9-ninja&field2=buildstarttime/date&compare2=83&value2=2013-02-15&field3=buildstarttime/date&compare3=84&value3=2013-02-19 Please take a look. Thanks, -Brad The commit is a revert of a commit only some hours before, so effectively nothing has changed. But maybe there is a memory effect in the build dir when it is not a clean build. Otherwise I've no idea what happened, and would assume no Ninja is installed. Peter -- 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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
[cmake-developers] Ninja Windows dashboard regression
On 02/16/2013 10:17 AM, Peter Kuemmel wrote: > http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=303014279a160ea73777426d63cdf2c7f794018f > commit 303014279a160ea73777426d63cdf2c7f794018f > Author: Peter Kümmel > AuthorDate: Sat Feb 16 16:14:23 2013 +0100 > Commit: Peter Kümmel > CommitDate: Sat Feb 16 16:14:52 2013 +0100 > > Revert "Ninja: use absolute paths for sources and includes" > > This reverts commit df7f1790b7cf69def45f55cb03ce0f9cef1eddb5. > > It shows that absolute paths breaks dependency tracing and adds > lot of emtpy build commands. This dashboard failure: http://open.cdash.org/viewConfigure.php?buildid=2816089 Site: dash2win64-windows.kitware Build Name: Windows-VS9-ninja Configure Command: "C:/Dashboards/Support/CMake2.8-ninja/bin/cmake.exe" "-GNinja" "c:/Dashboards/My Tests/NinjaCMake" Configure Return Value: 1 Configure Output: CMake Error: CMake was unable to find a build program corresponding to "Ninja". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool. started on the day the above commit was merged: http://open.cdash.org/index.php?project=CMake&filtercount=3&showfilters=1&filtercombine=and&field1=buildname/string&compare1=63&value1=Windows-VS9-ninja&field2=buildstarttime/date&compare2=83&value2=2013-02-15&field3=buildstarttime/date&compare3=84&value3=2013-02-19 Please take a look. Thanks, -Brad -- 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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] Ninja + Windows CE
Hi, Am 09.02.2013 um 10:39 schrieb Peter Kümmel: > On 30.01.2013 15:17, Brad King wrote: >> On 01/26/2013 12:33 PM, Patrick Gansterer wrote: >>> to compile WindowsCE C++ project with Ninja I need the attached patch >>> applied. >> >> One problem with this patch is that it moves the initialization of C >> and CXX languages until after the RC initialization which tries to >> match the location of the C/CXX compilers. Have a look at these: >> >> http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e3a1f727 >> http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6547f369 >> >> Peter, can you explain why this is needed for Ninja but not the >> other generators? Why does the logic belong in that method? >> >> Thanks, >> -Brad >> > > It wasn't clear to me why it works with other generators so I > patched only the ninja code. Maybe there is a better solution, > but I couldn't figure it out. But the current Ninja generator does not work. Any variables not set in Modules/CMakeCCompiler.cmake.in get no value. E.g. SET_MSVC_CXX_ARCHITECTURE_ID stays empty, because it's set it Modules/CMakeCXXCompiler.cmake.in. Since the all other generators work it seams to my like a Ninja problem, where EnableLanguage() of the base class isn't called correctly. -- Patrick -- 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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] Ninja + Windows CE
On 30.01.2013 15:17, Brad King wrote: On 01/26/2013 12:33 PM, Patrick Gansterer wrote: to compile WindowsCE C++ project with Ninja I need the attached patch applied. One problem with this patch is that it moves the initialization of C and CXX languages until after the RC initialization which tries to match the location of the C/CXX compilers. Have a look at these: http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e3a1f727 http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6547f369 Peter, can you explain why this is needed for Ninja but not the other generators? Why does the logic belong in that method? Thanks, -Brad It wasn't clear to me why it works with other generators so I patched only the ninja code. Maybe there is a better solution, but I couldn't figure it out. Peter -- 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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] Ninja + Windows CE
On 01/26/2013 12:33 PM, Patrick Gansterer wrote: > to compile WindowsCE C++ project with Ninja I need the attached patch > applied. One problem with this patch is that it moves the initialization of C and CXX languages until after the RC initialization which tries to match the location of the C/CXX compilers. Have a look at these: http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e3a1f727 http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6547f369 Peter, can you explain why this is needed for Ninja but not the other generators? Why does the logic belong in that method? Thanks, -Brad -- 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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
[cmake-developers] Ninja + Windows CE
Hi, to compile WindowsCE C++ project with Ninja I need the attached patch applied. -- PatrickFrom 7d5e1c3b41b58e29d7dde7742582b3fa35a35e8e Mon Sep 17 00:00:00 2001 From: Patrick Gansterer Date: Sat, 26 Jan 2013 12:28:25 +0100 Subject: [PATCH] Ninja: Fix problems with EnableLanguage() We need to call EnableLanguage() of the base class with all languages at once, because general CMake files which require defines not done by the first language won't appear. --- Source/cmGlobalNinjaGenerator.cxx | 18 +++--- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/Source/cmGlobalNinjaGenerator.cxx b/Source/cmGlobalNinjaGenerator.cxx index 60f5a47..de13d13 100644 --- a/Source/cmGlobalNinjaGenerator.cxx +++ b/Source/cmGlobalNinjaGenerator.cxx @@ -502,12 +502,7 @@ void cmGlobalNinjaGenerator std::vector language; language.push_back(*l); -if(*l == "NONE") - { - this->cmGlobalGenerator::EnableLanguage(language, mf, optional); - continue; - } -else if(*l == "Fortran") +if(*l == "Fortran") { std::string message = "The \""; message += this->GetName(); @@ -551,7 +546,16 @@ void cmGlobalNinjaGenerator } } } -this->cmGlobalGenerator::EnableLanguage(language, mf, optional); +} + + this->cmGlobalGenerator::EnableLanguage(languages, mf, optional); + for(std::vector::const_iterator l = languages.begin(); + l != languages.end(); ++l) +{ +if(*l == "NONE") + { + continue; + } this->ResolveLanguageCompiler(*l, mf, optional); } } -- 1.8.0.msysgit.0 -- 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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] Ninja windows
On 3/11/2012 5:31 PM, Peter Kümmel wrote: Thanks David, then I pull rebased in future. Take a look at the "branch..rebase" config option documented by "git help config". And how could I rebase the already pushed branch? This is possible but requires a fairly deep understanding of how Git works. Before we merge the topic to 'master' we can look at removing those extra merges. -Brad -- 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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] Ninja windows
On 10.03.2012 21:10, David Cole wrote: If somebody else has done work since the last time you pushed it to 'stage', then you should rebase any of your work on top of that to keep a linear topic branch history. git checkout ninja-generator # (your local one...) git pull --rebase stage ninja-generator should do what you're asking. The other alternative is to always grab the latest from the stage before you begin your work. (But you may still need to rebase if somebody else is also working on it at the same time, and that developer pushes first...) Do you want me to clean up the commits you just pushed and make it linear with no merges, or would you like to do it yourself? Thanks (and hope this helps), David Thanks David, then I pull rebased in future. And how could I rebase the already pushed branch? Peter -- 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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] Ninja windows
If somebody else has done work since the last time you pushed it to 'stage', then you should rebase any of your work on top of that to keep a linear topic branch history. git checkout ninja-generator # (your local one...) git pull --rebase stage ninja-generator should do what you're asking. The other alternative is to always grab the latest from the stage before you begin your work. (But you may still need to rebase if somebody else is also working on it at the same time, and that developer pushes first...) Do you want me to clean up the commits you just pushed and make it linear with no merges, or would you like to do it yourself? Thanks (and hope this helps), David On Sat, Mar 10, 2012 at 6:24 AM, Peter Kümmel wrote: > "Merge branch 'ninja-generator' of cmake.org:stage/cmake into > ninja-generator" > > How could I suppress such commit logs when I push from my local > ninja-generator branch? > > Peter > > > > -- > > 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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers -- 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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] Ninja windows
"Merge branch 'ninja-generator' of cmake.org:stage/cmake into ninja-generator" How could I suppress such commit logs when I push from my local ninja-generator branch? Peter -- 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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] Ninja windows
On 09.03.2012 10:40, Nicolas Desprès wrote: On Fri, Mar 9, 2012 at 3:24 AM, Peter Collingbourne wrote: On Tue, Mar 06, 2012 at 03:56:24PM -0500, Bill Hoffman wrote: On 3/6/2012 1:29 PM, Peter Collingbourne wrote: We can certainly do that, but the ninja binary would need to be switched as soon as we get around to using rspfile in Ninja (and no sooner). OK, so is there a ninja binary that I can download right now that will work if I change the cmake files for cmake to build the ninja generator on windows? If so, where is it? My idea is to try it on my machine. If it works I will push the change into next that enables ninja on windows and setup a dashboard that pulls ninja from that spot each night. When cmake is changed to work with master ninja if someone updates that binary, then it will pull that and just work. That is what I have been doing with jom. That would be Peter Kummel's ninja. But what I would suggest we do, as I suggested before, is to use an internal variable to turn on the Ninja generator on Windows and Mac. This way, we can safely merge ninja-generator into master without confusing users on Windows or Mac by shipping a non-working Ninja generator in the next release, while keeping the ability to test (on the dashboard and otherwise). I have no idea what the timeframe for the Windows and Mac people is, but I really would like the Ninja generator to be available on non-Windows/Mac platforms in 2.8.8. Sounds fair enough. Yes, please enable the ninja generator for Linux in 2.8.8. I don't think I will fix the cmake-windows support soon and don't know if there is anyone else working on it. Maybe having ninja support on Linux attracts interested people also on the other platforms. (and I assume Peter C. gets really annoyed if the ninja support will be postponed again) Peter -- 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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] Ninja windows
On Fri, Mar 9, 2012 at 3:24 AM, Peter Collingbourne wrote: > On Tue, Mar 06, 2012 at 03:56:24PM -0500, Bill Hoffman wrote: >> On 3/6/2012 1:29 PM, Peter Collingbourne wrote: >> >>> We can certainly do that, but the ninja binary would need to be >>> switched as soon as we get around to using rspfile in Ninja (and >>> no sooner). >>> >> >> OK, so is there a ninja binary that I can download right now that will >> work if I change the cmake files for cmake to build the ninja generator >> on windows? If so, where is it? My idea is to try it on my machine. If >> it works I will push the change into next that enables ninja on windows >> and setup a dashboard that pulls ninja from that spot each night. When >> cmake is changed to work with master ninja if someone updates that >> binary, then it will pull that and just work. That is what I have been >> doing with jom. > > That would be Peter Kummel's ninja. But what I would suggest we do, > as I suggested before, is to use an internal variable to turn on the > Ninja generator on Windows and Mac. This way, we can safely merge > ninja-generator into master without confusing users on Windows or > Mac by shipping a non-working Ninja generator in the next release, > while keeping the ability to test (on the dashboard and otherwise). > I have no idea what the timeframe for the Windows and Mac people > is, but I really would like the Ninja generator to be available on > non-Windows/Mac platforms in 2.8.8. Sounds fair enough. -- Nicolas Desprès -- 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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] Ninja windows
On Tue, Mar 06, 2012 at 03:56:24PM -0500, Bill Hoffman wrote: > On 3/6/2012 1:29 PM, Peter Collingbourne wrote: > >> We can certainly do that, but the ninja binary would need to be >> switched as soon as we get around to using rspfile in Ninja (and >> no sooner). >> > > OK, so is there a ninja binary that I can download right now that will > work if I change the cmake files for cmake to build the ninja generator > on windows? If so, where is it? My idea is to try it on my machine. If > it works I will push the change into next that enables ninja on windows > and setup a dashboard that pulls ninja from that spot each night. When > cmake is changed to work with master ninja if someone updates that > binary, then it will pull that and just work. That is what I have been > doing with jom. That would be Peter Kummel's ninja. But what I would suggest we do, as I suggested before, is to use an internal variable to turn on the Ninja generator on Windows and Mac. This way, we can safely merge ninja-generator into master without confusing users on Windows or Mac by shipping a non-working Ninja generator in the next release, while keeping the ability to test (on the dashboard and otherwise). I have no idea what the timeframe for the Windows and Mac people is, but I really would like the Ninja generator to be available on non-Windows/Mac platforms in 2.8.8. Thanks, -- Peter -- 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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] Ninja windows
On 3/7/2012 5:24 PM, David Cole wrote: That might be fixed just now (perhaps) by stuff that I merged into 'next' this afternoon. Try with the very latest next of CMake. (One of the commits from Peter K. had not yet been merged into next and it dealt with directory creation...) That fixed it. I pulled from next again and it created the directories. -Bill -- 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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] Ninja windows
On Wed, Mar 7, 2012 at 5:24 PM, David Cole wrote: > On Wed, Mar 7, 2012 at 5:10 PM, Bill Hoffman wrote: >> On 3/6/2012 6:17 PM, Peter Kümmel wrote: >> >>> >>> The following tests FAILED: >>> 78 - CustomCommandWorkingDirectory (Failed) >>> 80 - BuildDepends (Failed) >>> 98 - QtAutomoc (Failed) >>> 116 - Plugin (Failed) >>> 123 - ModuleDefinition (Failed) >>> 155 - CTestTestStopTime (Failed) >>> Errors while running CTest >>> >>> >>> But it builds CMake. On more complex projects RC file rules is broken >>> ($FLAGS/$DEFINES are missing). >>> >>> A ninja binary is here, also packaged with the installer: >>> https://sourceforge.net/projects/cmakescript/files/ >>> (g...@github.com:syntheticpp/ninja.git, token-splitter branch) >>> >> >> OK, I grabbed the binary from here: >> https://sourceforge.net/projects/cmakescript/files/ >> >> Sadly, the curl abilities of cmake are not up to working with sourceforge >> download link redirection fu... >> >> Anyway, I did get the ninja.exe. I was sort of able to bootstrap cmake. >> >> I did this: >> >> 1. enable ninja on windows: >> diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt >> index eb4327c..eec3ad7 100644 >> --- a/Source/CMakeLists.txt >> +++ b/Source/CMakeLists.txt >> -if(NOT WIN32) >> +#if(NOT WIN32) >> ... >> -endif() >> +#endif() >> >> 2. build a cmake on windows with gmake >> 3. configure and build a cmake on windows with ninja. >> - configure worked >> - the build failed because the ninja generator did not create the bin >> directory in build tree. >> >> [413/430] Building CXX object >> Source\CMakeFiles\cpack.dir\CPack\cpack.cxx.obj >> FAILED: C:\PROGRA~2\MICROS~1.0\VC\bin\cl.exe /nologo /DWIN32 /D_WINDOWS >> /W3 /Zm1000 /EHsc /GR /D_DEBUG /MDd /Zi /Ob0 /Od /RTC1 -IUtilities >> -I"C:\Users\hoffman\Work\My Builds\cmake\Utilities" -ISource >> -I"C:\Users\hoffman\Work\My Builds\cmake\Source" -IUtilities\cmcompress >> -I"C:\Users\hoffman\Work\My Builds\cmake\Source\CTest" >> -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DCURL_STATICLIB >> -DLIBARCHIVE_STATIC -DCMAKE_BUILD_WITH_CMAKE -DCMAKE_USE_NINJA /TP >> /FoSource\CMakeFiles\cpack.dir\CPack\cpack.cxx.obj /Fdbin\cpack.pdb -c >> "C:\Users\hoffman\Work\My Builds\cmake\Source\CPack\cpack.cxx" >> cpack.cxx >> >> >> If I go into the build tree and mkdir bin, then it builds. >> >> So, is this just a windows ninja thing? >> >> -Bill >> >> >> >> >> -- >> >> 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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers > > > That might be fixed just now (perhaps) by stuff that I merged into > 'next' this afternoon. Try with the very latest next of CMake. (One of > the commits from Peter K. had not yet been merged into next and it > dealt with directory creation...) Or, you could try with the tip of the newest ninja-generator branch on the stage -- 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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] Ninja windows
On Wed, Mar 7, 2012 at 5:10 PM, Bill Hoffman wrote: > On 3/6/2012 6:17 PM, Peter Kümmel wrote: > >> >> The following tests FAILED: >> 78 - CustomCommandWorkingDirectory (Failed) >> 80 - BuildDepends (Failed) >> 98 - QtAutomoc (Failed) >> 116 - Plugin (Failed) >> 123 - ModuleDefinition (Failed) >> 155 - CTestTestStopTime (Failed) >> Errors while running CTest >> >> >> But it builds CMake. On more complex projects RC file rules is broken >> ($FLAGS/$DEFINES are missing). >> >> A ninja binary is here, also packaged with the installer: >> https://sourceforge.net/projects/cmakescript/files/ >> (g...@github.com:syntheticpp/ninja.git, token-splitter branch) >> > > OK, I grabbed the binary from here: > https://sourceforge.net/projects/cmakescript/files/ > > Sadly, the curl abilities of cmake are not up to working with sourceforge > download link redirection fu... > > Anyway, I did get the ninja.exe. I was sort of able to bootstrap cmake. > > I did this: > > 1. enable ninja on windows: > diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt > index eb4327c..eec3ad7 100644 > --- a/Source/CMakeLists.txt > +++ b/Source/CMakeLists.txt > -if(NOT WIN32) > +#if(NOT WIN32) > ... > -endif() > +#endif() > > 2. build a cmake on windows with gmake > 3. configure and build a cmake on windows with ninja. > - configure worked > - the build failed because the ninja generator did not create the bin > directory in build tree. > > [413/430] Building CXX object > Source\CMakeFiles\cpack.dir\CPack\cpack.cxx.obj > FAILED: C:\PROGRA~2\MICROS~1.0\VC\bin\cl.exe /nologo /DWIN32 /D_WINDOWS > /W3 /Zm1000 /EHsc /GR /D_DEBUG /MDd /Zi /Ob0 /Od /RTC1 -IUtilities > -I"C:\Users\hoffman\Work\My Builds\cmake\Utilities" -ISource > -I"C:\Users\hoffman\Work\My Builds\cmake\Source" -IUtilities\cmcompress > -I"C:\Users\hoffman\Work\My Builds\cmake\Source\CTest" > -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DCURL_STATICLIB > -DLIBARCHIVE_STATIC -DCMAKE_BUILD_WITH_CMAKE -DCMAKE_USE_NINJA /TP > /FoSource\CMakeFiles\cpack.dir\CPack\cpack.cxx.obj /Fdbin\cpack.pdb -c > "C:\Users\hoffman\Work\My Builds\cmake\Source\CPack\cpack.cxx" > cpack.cxx > > > If I go into the build tree and mkdir bin, then it builds. > > So, is this just a windows ninja thing? > > -Bill > > > > > -- > > 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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers That might be fixed just now (perhaps) by stuff that I merged into 'next' this afternoon. Try with the very latest next of CMake. (One of the commits from Peter K. had not yet been merged into next and it dealt with directory creation...) -- 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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] Ninja windows
On 3/6/2012 6:17 PM, Peter Kümmel wrote: The following tests FAILED: 78 - CustomCommandWorkingDirectory (Failed) 80 - BuildDepends (Failed) 98 - QtAutomoc (Failed) 116 - Plugin (Failed) 123 - ModuleDefinition (Failed) 155 - CTestTestStopTime (Failed) Errors while running CTest But it builds CMake. On more complex projects RC file rules is broken ($FLAGS/$DEFINES are missing). A ninja binary is here, also packaged with the installer: https://sourceforge.net/projects/cmakescript/files/ (g...@github.com:syntheticpp/ninja.git, token-splitter branch) OK, I grabbed the binary from here: https://sourceforge.net/projects/cmakescript/files/ Sadly, the curl abilities of cmake are not up to working with sourceforge download link redirection fu... Anyway, I did get the ninja.exe. I was sort of able to bootstrap cmake. I did this: 1. enable ninja on windows: diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt index eb4327c..eec3ad7 100644 --- a/Source/CMakeLists.txt +++ b/Source/CMakeLists.txt -if(NOT WIN32) +#if(NOT WIN32) ... -endif() +#endif() 2. build a cmake on windows with gmake 3. configure and build a cmake on windows with ninja. - configure worked - the build failed because the ninja generator did not create the bin directory in build tree. [413/430] Building CXX object Source\CMakeFiles\cpack.dir\CPack\cpack.cxx.obj FAILED: C:\PROGRA~2\MICROS~1.0\VC\bin\cl.exe /nologo /DWIN32 /D_WINDOWS /W3 /Zm1000 /EHsc /GR /D_DEBUG /MDd /Zi /Ob0 /Od /RTC1 -IUtilities -I"C:\Users\hoffman\Work\My Builds\cmake\Utilities" -ISource -I"C:\Users\hoffman\Work\My Builds\cmake\Source" -IUtilities\cmcompress -I"C:\Users\hoffman\Work\My Builds\cmake\Source\CTest" -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DCURL_STATICLIB -DLIBARCHIVE_STATIC -DCMAKE_BUILD_WITH_CMAKE -DCMAKE_USE_NINJA /TP /FoSource\CMakeFiles\cpack.dir\CPack\cpack.cxx.obj /Fdbin\cpack.pdb -c "C:\Users\hoffman\Work\My Builds\cmake\Source\CPack\cpack.cxx" cpack.cxx If I go into the build tree and mkdir bin, then it builds. So, is this just a windows ninja thing? -Bill -- 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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] Ninja windows
On 06.03.2012 17:44, Bill Hoffman wrote: What is the current status of ninja windows? I would like to setup a dashboard for this, however, the ninja code for windows does not seem to be on the stage for CMake right now. Is there a way to get it on the stage? Or is it too far from being useful to be on the stage at this point? Thanks. The following tests FAILED: 78 - CustomCommandWorkingDirectory (Failed) 80 - BuildDepends (Failed) 98 - QtAutomoc (Failed) 116 - Plugin (Failed) 123 - ModuleDefinition (Failed) 155 - CTestTestStopTime (Failed) Errors while running CTest But it builds CMake. On more complex projects RC file rules is broken ($FLAGS/$DEFINES are missing). A ninja binary is here, also packaged with the installer: https://sourceforge.net/projects/cmakescript/files/ (g...@github.com:syntheticpp/ninja.git, token-splitter branch) Peter -- 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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] Ninja windows
On 3/6/2012 1:29 PM, Peter Collingbourne wrote: We can certainly do that, but the ninja binary would need to be switched as soon as we get around to using rspfile in Ninja (and no sooner). OK, so is there a ninja binary that I can download right now that will work if I change the cmake files for cmake to build the ninja generator on windows? If so, where is it? My idea is to try it on my machine. If it works I will push the change into next that enables ninja on windows and setup a dashboard that pulls ninja from that spot each night. When cmake is changed to work with master ninja if someone updates that binary, then it will pull that and just work. That is what I have been doing with jom. -Bill -- 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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] Ninja windows
n Tue, Mar 06, 2012 at 12:43:29PM -0500, Bill Hoffman wrote: > On 3/6/2012 12:17 PM, Peter Collingbourne wrote: > >> The Ninja generator is disabled on Windows as it still doesn't yet >> work correctly with Ninja's master branch. It works to some degree >> with someone else's branch, but one of the required features on that >> branch (response file support) was recently merged into Ninja master, >> so hopefully someone on Windows will be able to add the necessary >> support to CMake soon. I would hold off on setting up a dashboard >> for Windows until we can at least build CMake with Ninja master. >> > > I am a bit confused. What are the features on someone else's branch > that the CMake generator needs? I think the only missing feature was response file support, but I am not entirely sure. > What will it take to get this: > > > http://sourceforge.net/projects/cmakescript/files/cmake-2.8.7.20120202-Ninja.exe > > > > > into the CMake source tree? > > > I would be OK, with a non-standard ninja as long as those patches are > eventually going to be in ninja. Well, the way that the branch supports response files is different to the way that Ninja master supports them (the branch uses some kind of hack to figure out what the command arguments are and copies those into a response file, while on master the generator is responsible for deciding on the contents of the response file using the "rspfile" variable as documented here [1]). The branch happens to work without any modifications to CMake but we will need to add support for rspfile for things to work on master. > I don't like having ninja windows > cmake support outside of the main cmake dev tree. All the code is already in ninja-generator in the staging repository, it just needs to be turned on (i.e. by commenting out the if statement). > Could we do this: > > 1. integrate cmake windows ninja support into next > 2. run a dashboard that uses a given ninja binary? > > My goal would be to make sure cmake windows ninja keeps building and > working and other ninja work does not break the existing cmake windows > support. We can certainly do that, but the ninja binary would need to be switched as soon as we get around to using rspfile in Ninja (and no sooner). >> I have been asking Windows developers to enable the generator locally >> for their own development by commenting out the IF(NOT WIN32) block. >> Perhaps once we set up Windows dashboards it would be better to >> introduce an internal variable (CMAKE_USE_NINJA?) which can be used >> to enable this generator on Windows, and have the dashboards use it. >> > I would rather have it on by default and print some warning if it finds > the "wrong" ninja, one that does not have the required patches. I don't think it's worth adding detection support for a now-obsolete version of Ninja, but we can certainly check for rspfile support once we start using that in CMake. Thanks, -- Peter [1] http://martine.github.com/ninja/manual.html#_rule_variables -- 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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] Ninja windows
On 3/6/2012 12:17 PM, Peter Collingbourne wrote: The Ninja generator is disabled on Windows as it still doesn't yet work correctly with Ninja's master branch. It works to some degree with someone else's branch, but one of the required features on that branch (response file support) was recently merged into Ninja master, so hopefully someone on Windows will be able to add the necessary support to CMake soon. I would hold off on setting up a dashboard for Windows until we can at least build CMake with Ninja master. I am a bit confused. What are the features on someone else's branch that the CMake generator needs? What will it take to get this: http://sourceforge.net/projects/cmakescript/files/cmake-2.8.7.20120202-Ninja.exe into the CMake source tree? I would be OK, with a non-standard ninja as long as those patches are eventually going to be in ninja. I don't like having ninja windows cmake support outside of the main cmake dev tree. Could we do this: 1. integrate cmake windows ninja support into next 2. run a dashboard that uses a given ninja binary? My goal would be to make sure cmake windows ninja keeps building and working and other ninja work does not break the existing cmake windows support. I have been asking Windows developers to enable the generator locally for their own development by commenting out the IF(NOT WIN32) block. Perhaps once we set up Windows dashboards it would be better to introduce an internal variable (CMAKE_USE_NINJA?) which can be used to enable this generator on Windows, and have the dashboards use it. I would rather have it on by default and print some warning if it finds the "wrong" ninja, one that does not have the required patches. -Bill -- 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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] Ninja windows
On Tue, Mar 06, 2012 at 11:44:46AM -0500, Bill Hoffman wrote: > What is the current status of ninja windows? I would like to setup a > dashboard for this, however, the ninja code for windows does not seem to > be on the stage for CMake right now. Is there a way to get it on the > stage? Or is it too far from being useful to be on the stage at this > point? The Ninja generator is disabled on Windows as it still doesn't yet work correctly with Ninja's master branch. It works to some degree with someone else's branch, but one of the required features on that branch (response file support) was recently merged into Ninja master, so hopefully someone on Windows will be able to add the necessary support to CMake soon. I would hold off on setting up a dashboard for Windows until we can at least build CMake with Ninja master. I have been asking Windows developers to enable the generator locally for their own development by commenting out the IF(NOT WIN32) block. Perhaps once we set up Windows dashboards it would be better to introduce an internal variable (CMAKE_USE_NINJA?) which can be used to enable this generator on Windows, and have the dashboards use it. Thanks, -- Peter -- 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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
[cmake-developers] Ninja windows
What is the current status of ninja windows? I would like to setup a dashboard for this, however, the ninja code for windows does not seem to be on the stage for CMake right now. Is there a way to get it on the stage? Or is it too far from being useful to be on the stage at this point? Thanks. -Bill -- 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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers