Re: [cmake-developers] [MODERN] CMake ~3.6 vs Qt 5.6 vs MSVC2015
Hi all! Modern master alive! :-) It's time to upgrade: CMake 3.5.20160520 now available! Previously had problems with that, but now it seems that it works. Thank you brad for the new functionality: https://cmake.org/cmake/help/git-master/release/dev/InstallRequiredSystemLibraries-Windows-UCRT.html I tried to do it myself following the instructions, but I failed: https://blogs.msdn.microsoft.com/vcblog/2015/03/03/introducing-the-universal-crt Let me remind you of the link. Windows 32bit: http://ifw.podsvirov.pro/cmake/cmake-master-win32-online.exe Windows 64bit: http://ifw.podsvirov.pro/cmake/cmake-master-win64-online.exe If you have used it before, you can update via "CMake Maintenance Tool" I used Windows 7, but it should work for Windows Vista and Windows 8 and Windows 10. I ask those wishing to test the functionality. 01.10.2015, 09:29, Konstantin Podsvirov" : > Hi all! Modern master alive! :-) > > It's been almost a month and it's time to upgrade: > > 3.3.20150901 CMake => CMake 3.3.20151001 > > Dear friends, I have a question and call for help. > > With my assistance the project has an option for component installation > project: > > CMake_INSTALL_COMPONENTS > > Unfortunately not all files found your component. > The files to be installed without specifying a component fall into > 'Unspecified' component. > Need to parse them out and assign them to the component context. > > Now have the components: > > - cmake; > - ctest; > - cpack; > - cmake-gui; > - sphinx-man; > - sphinx-html; > - sphinx singlehtml; > - sphinx-qthelp > > and General for everything else > > Is Unspecified; > > A list of unaccounted for 'Unspecified' of files to install on the Window is > attached. > > Links to the installers were specified earlier (see below). > > On 28.07.2015, 17:49, "Konstantin Podsvirov" : >> Hi dear CMake developers! >> >> 27.07.2015, 18:52, "Brad King" : >>> On 07/24/2015 03:46 AM, Konstantin Podsvirov wrote: To solve the problem you run cmake-gui is now possible with the the following changes: >>> >>> Applied as two separate commits with minor tweaks: >>> >>> cmake-gui: Install Qt5 Windows platform plugin >>> http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=42f0155b >>> >>> CMake: Add option CMake_INSTALL_DEPENDENCIES >>> http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=068e7962 >> >> Code now in 'master' branch. >> >> Thanks, Brad! >> >> Meet/install/CMake built modern update on MSVC2015 c QtDialog based on Qt >> 5.5 from today :-) >> >> Windows 32bit: >> >> http://ifw.podsvirov.pro/cmake/cmake-master-win32-online.exe >> >> Windows 64bit: >> >> http://ifw.podsvirov.pro/cmake/cmake-master-win64-online.exe >> >> cmake-gui should work now, but if not, then update your system and install >> >> The Visual C++ Redistributable for Visual Studio 2015 from the link below: >> >> http://www.microsoft.com/en-us/download/details.aspx?id=48145 >> >> As always, questions and suggestions are welcome. > > -- > Regards, > Konstantin Podsvirov > ,-- > > 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-developers Regards, Konstantin Podsvirov -- 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-developers
Re: [cmake-developers] Custom commands with Ninja on Windows
On 05/20/2016 03:41 AM, Martin Ankerl wrote: > From what I have understood it seems more safe to use .bat and not > .cmd, because the behavior of the errorlevel is different. From > http://waynes-world-it.blogspot.co.at/2008/08/difference-between-bat-and-cmd.html: > >> The differences between .CMD and .BAT as far as CMD.EXE is concerned are: >> With extensions enabled, PATH/APPEND/PROMPT/SET/ASSOC in .CMD files will set >> ERRORLEVEL regardless of error. .BAT sets ERRORLEVEL only on errors. I read that to mean the opposite: cmd is better than bat because it will always set ERRORLEVEL even if it is to zero, so one can reliably determine whether a command worked (Git's wrapper on windows is git.cmd and not git.bat). > I've created a first attempt of this implementation, please see the attached > patch. Good start. > + // TODO fail if command is too long and no file specified Several of the call sites of BuildCommandLine are constructing commands using ninja's $VAR reference/placeholder syntax. For these call sites it is never safe to use a separate cmdFile. Fortunately they tend to be for compiler/linker invocations that can use the normal RSP_FILE approach. Instead of adding a cmdFile argument to BuildCommandLine, add a boolean (or enum) to indicate whether the commands hold any placeholders. Only when no placeholders are used is it safe to activate the new behavior. When activated, I think it is cleaner to use a hash of the command line as the cmdFile name. That way when the command changes Ninja will be aware of the change and re-run it. Thanks, -Brad -- 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-developers
Re: [cmake-developers] Custom commands with Ninja on Windows
sorry, that DEP_FILE problem was my fault. It's working correctly. Martin On Fri, May 20, 2016 at 9:41 AM Martin Ankerl wrote: > From what I have understood it seems more safe to use .bat and not .cmd, > because the behavior of the errorlevel is different. From > http://waynes-world-it.blogspot.co.at/2008/08/difference-between-bat-and-cmd.html > : > > > The differences between .CMD and .BAT as far as CMD.EXE is concerned > are: With extensions enabled, PATH/APPEND/PROMPT/SET/ASSOC in .CMD files > will set > ERRORLEVEL regardless of error. .BAT sets ERRORLEVEL only on errors. > > I've created a first attempt of this implementation, please see the > attached patch. It seems to do the trick for my test case, but I couldn't > test it well because unfortunately I've run into a different unrelated > problem: the slashes for the DEP_FILE are in the git version / instead of \ > which makes the ninja build fail. This was not the case with version 3.5.2 > > Martin > > > > On Thu, May 19, 2016 at 10:46 PM Brad King wrote: > >> On 05/19/2016 04:31 PM, Martin Ankerl wrote: >> > I didn't think about just writing a .cmd (or .bat?) with cmake >> >> The ".cmd" extension is a modern version of ".bat". >> >> > that sounds like the simplest solution! >> >> Yes, assuming we never have a need for ninja placeholder substitution. >> Why are one-line response files generated by Ninja not a solution? >> Does cmd support them? >> >> > if %errorlevel% neq 0 exit /b %errorlevel% >> >> Yes. >> >> > I have no experience with cmake implementation though, how would you >> > find a name for the filename? >> >> First, it can be made conditional on when the command line is really long. >> Second, you could just put it in CMakeFiles/ and name it using a hash >> of its content (or of the list of outputs). See Source/cmCryptoHash.h >> for example. >> >> Thanks, >> -Brad >> >> -- > Martin > -- Martin -- 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-developers
Re: [cmake-developers] Custom commands with Ninja on Windows
>From what I have understood it seems more safe to use .bat and not .cmd, because the behavior of the errorlevel is different. From http://waynes-world-it.blogspot.co.at/2008/08/difference-between-bat-and-cmd.html : > The differences between .CMD and .BAT as far as CMD.EXE is concerned are: With extensions enabled, PATH/APPEND/PROMPT/SET/ASSOC in .CMD files will set ERRORLEVEL regardless of error. .BAT sets ERRORLEVEL only on errors. I've created a first attempt of this implementation, please see the attached patch. It seems to do the trick for my test case, but I couldn't test it well because unfortunately I've run into a different unrelated problem: the slashes for the DEP_FILE are in the git version / instead of \ which makes the ninja build fail. This was not the case with version 3.5.2 Martin On Thu, May 19, 2016 at 10:46 PM Brad King wrote: > On 05/19/2016 04:31 PM, Martin Ankerl wrote: > > I didn't think about just writing a .cmd (or .bat?) with cmake > > The ".cmd" extension is a modern version of ".bat". > > > that sounds like the simplest solution! > > Yes, assuming we never have a need for ninja placeholder substitution. > Why are one-line response files generated by Ninja not a solution? > Does cmd support them? > > > if %errorlevel% neq 0 exit /b %errorlevel% > > Yes. > > > I have no experience with cmake implementation though, how would you > > find a name for the filename? > > First, it can be made conditional on when the command line is really long. > Second, you could just put it in CMakeFiles/ and name it using a hash > of its content (or of the list of outputs). See Source/cmCryptoHash.h > for example. > > Thanks, > -Brad > > -- Martin 0001-Support-for-many-custom-commands-in-Windows.patch Description: Binary data -- 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-developers