Re: [cmake-developers] FastBuild Generator
On 10/11/2016 04:27 AM, Charles Huet wrote: > CMake Error at CheckSourceTreeTest.cmake:355 (message): >test fails: local source tree non-additions: use git add before committing, >or remove the files from the source tree The purpose of the test is to fail if there are any local modifications to the source tree. Ignore it during local development. > This test has a custom_command which does 'cmake --build', so when you run the > test, the build tool will call 'camke --build', which starts the build tool > again, > in the same folder hierarchy. > > This is not supported by fastbuild. The SimpleInstall and SimpleInstall-Stage2 tests need to be refactored to overcome this. Almost all of what they cover is also covered by the ExportImport test, so for now I think you can simply exclude the SimpleInstall tests with this generator. Please leave a comment explaining why so that future development can fix 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] FastBuild Generator
> It works with Ninja for me. Are you building CMake out-of-source? Yes. The complete list of commands I used is (from a clean build dir): cmake ..\CMake -G Ninja -DCMAKE_BUILD_TYPE=Debug ninja ctest -V -R CheckSourceTree In a MSVC2012 x64 command prompt. I used the installed CMake to both configure and test. the last message is : CMake Error at CheckSourceTreeTest.cmake:355 (message): test fails: local source tree non-additions: use git add before committing, or remove the files from the source tree >I don't understand what you mean. Like most CMake tests, the SimpleInstall test contains a CMakeLists, so the ctest process runs cmake and builds the test. This test has a custom_command which does 'cmake --build', so when you run the test, the build tool will call 'camke --build', which starts the build tool again, in the same folder hierarchy. This is not supported by fastbuild. Since it is highly paralellized, it uses a lock file to check if an instance is already running, in order to avoid all the common problems you would encounter by having two instances doing read/writes to its local database (for instance for its caching mechanism). Thus I am wondering how I can get this test to pass. Le lun. 10 oct. 2016 à 19:13, Brad Kinga écrit : > On 10/10/2016 09:39 AM, Charles Huet wrote: > > * the test CMake.CheckSourceTree does not work with Fastbuild, > > but I could not get it to work with Ninja either, maybe I > > have an environment problem ? > > It works with Ninja for me. Are you building CMake out-of-source? > > > * the test SimpleInstall requires the build tool to be able to > > run multiple instances in the same hierarchy, which Fastbuild > > does not support. > > I don't understand what you mean. > > > * It seems SimpleInstall-Stage2 depends upon SimpleInstall, > > is this right ? > > Yes. > > -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] FastBuild Generator
On 10/10/2016 09:39 AM, Charles Huet wrote: > * the test CMake.CheckSourceTree does not work with Fastbuild, > but I could not get it to work with Ninja either, maybe I > have an environment problem ? It works with Ninja for me. Are you building CMake out-of-source? > * the test SimpleInstall requires the build tool to be able to > run multiple instances in the same hierarchy, which Fastbuild > does not support. I don't understand what you mean. > * It seems SimpleInstall-Stage2 depends upon SimpleInstall, > is this right ? Yes. -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] FastBuild Generator
Hi again. I performed all the aforementioned actions, please check everything is OK for you. I have a few questions: * the test CMake.CheckSourceTree does not work with Fastbuild, but I could not get it to work with Ninja either, maybe I have an environment problem ? * the test SimpleInstall requires trhe build tool to be able to run multiple instances in the same hierarchy, which Fastbuild does not support. Should I refactor the test to remove this requirement ? Or simply ignore the test ? * It seems SimpleInstall-Stage2 depends upon SimpleInstall, is this right ? The branch I recently pushed has only a few tests failing, quite a few seem to be related to a lack of non-source file dependencies as far as I can tell. Thanks. Le jeu. 6 oct. 2016 à 19:33, Charles Hueta écrit : > >* Please use Utilities/Scripts/clang-format.bash for > > code style. This is easy to apply automatically later > > so don't worry about it too much. > I'll get on this soon, I like to have proper style. > > > > * For final integration I'd like the commits to be squashed > > > and arranged in an organized way. This is hard to do until > > you have everything working though. > > Sure. For now there are the first few commits which I can't change much to > keep proper attribuation, and a few commits on top which will be squashed > together once the dev is complete (or maybe earlier if I feel like it). > > >* Please update the license notices to use the new style that > > we switched to in `master`. Both C++ and .cmake notices > > changed. > Will do. > > Le jeu. 6 oct. 2016 à 17:32, Brad King a écrit : > > On 10/06/2016 08:32 AM, Charles Huet wrote: > > Do you think it is time to start the review, or should it wait > > until I have 100% of the tests passing ? > > Thanks for the update. Generally my reviews for new features > mostly look at documentation, tests, style, etc. rather than > at implementation details (which can easily be fixed/changed > later). Therefore final review and integration should not start > until everything is working. > > However, I'm happy to take quick glances at progress once in > a while. Here are some comments from the current version: > > * Please use Utilities/Scripts/clang-format.bash for > code style. This is easy to apply automatically later > so don't worry about it too much. > > * For final integration I'd like the commits to be squashed > and arranged in an organized way. This is hard to do until > you have everything working though. > > * Please update the license notices to use the new style that > we switched to in `master`. Both C++ and .cmake notices > changed. > > 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] FastBuild Generator
>* Please use Utilities/Scripts/clang-format.bash for > code style. This is easy to apply automatically later > so don't worry about it too much. I'll get on this soon, I like to have proper style. > * For final integration I'd like the commits to be squashed > and arranged in an organized way. This is hard to do until > you have everything working though. Sure. For now there are the first few commits which I can't change much to keep proper attribuation, and a few commits on top which will be squashed together once the dev is complete (or maybe earlier if I feel like it). >* Please update the license notices to use the new style that > we switched to in `master`. Both C++ and .cmake notices > changed. Will do. Le jeu. 6 oct. 2016 à 17:32, Brad Kinga écrit : > On 10/06/2016 08:32 AM, Charles Huet wrote: > > Do you think it is time to start the review, or should it wait > > until I have 100% of the tests passing ? > > Thanks for the update. Generally my reviews for new features > mostly look at documentation, tests, style, etc. rather than > at implementation details (which can easily be fixed/changed > later). Therefore final review and integration should not start > until everything is working. > > However, I'm happy to take quick glances at progress once in > a while. Here are some comments from the current version: > > * Please use Utilities/Scripts/clang-format.bash for > code style. This is easy to apply automatically later > so don't worry about it too much. > > * For final integration I'd like the commits to be squashed > and arranged in an organized way. This is hard to do until > you have everything working though. > > * Please update the license notices to use the new style that > we switched to in `master`. Both C++ and .cmake notices > changed. > > 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] FastBuild Generator
On 10/06/2016 08:32 AM, Charles Huet wrote: > Do you think it is time to start the review, or should it wait > until I have 100% of the tests passing ? Thanks for the update. Generally my reviews for new features mostly look at documentation, tests, style, etc. rather than at implementation details (which can easily be fixed/changed later). Therefore final review and integration should not start until everything is working. However, I'm happy to take quick glances at progress once in a while. Here are some comments from the current version: * Please use Utilities/Scripts/clang-format.bash for code style. This is easy to apply automatically later so don't worry about it too much. * For final integration I'd like the commits to be squashed and arranged in an organized way. This is hard to do until you have everything working though. * Please update the license notices to use the new style that we switched to in `master`. Both C++ and .cmake notices changed. 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] FastBuild Generator
Hi, I rebased the Fastbuild generator on the latest master, and pushed my work to fastbuild-master. There are still some test fail, a few are due to an arror in manifest management, where multiple binarie's build try to write to the same manifest file at the same time (e.g. ObjectLibrary). Some issues are clearly identified but not solved yet, such as RunCMake.BuildDepends which fails because non-source dependencies are not yet managed properly. Some of these are new since the rebase on 3.7/master, either new tests (e.g. android-related) or regressions, I will work at identiofying and correcting those. Do you think it is time to start the review, or should it wait until I have 100% of the tests passing ? Here is a full list of failing tests: 93% tests passed, 28 tests failed out of 406 The following tests FAILED: 46 - ObjectLibrary (Failed) 52 - LinkDirectory (Failed) 61 - Preprocess (Failed) 62 - ExportImport (Timeout) 66 - CompileDefinitions (Failed) 76 - CMakeBuildTest (Failed) 79 - Module.ExternalData (Failed) 108 - CustomCommand (Failed) 109 - CustomCommandByproducts (Failed) 113 - BuildDepends (Failed) 114 - SimpleInstall (Failed) 115 - SimpleInstall-Stage2 (Failed) 131 - ExternalProject (Failed) 135 - ExternalProjectUpdateSetup (Failed) 136 - ExternalProjectUpdate (Failed) 153 - Plugin (Timeout) 225 - IncludeDirectories (Failed) 226 - InterfaceLinkLibraries (Failed) 276 - RunCMake.CMP0060 (Failed) 278 - RunCMake.CMP0065 (Timeout) 281 - RunCMake.AndroidTestUtilities (Failed) 282 - RunCMake.BuildDepends (Failed) 284 - RunCMake.Configure (Failed) 345 - RunCMake.try_compile (Failed) 372 - RunCMake.CrosscompilingEmulator (Failed) 374 - RunCMake.AutoExportDll (Failed) 389 - CMake.ModuleNotices (Failed) 406 - CMake.CheckSourceTree (Failed) Errors while running CTest Thanks. Le ven. 23 sept. 2016 à 17:21, Charles Hueta écrit : > Sorry I pushed on fastbuild-rebase, as the rebase on master fails evento > self host. > > I did not expect this to be merged for 3.7, as I'm not sure I'll have time > to polish it enough for release. > > On Fri, Sep 23, 2016, 16:52 Brad King wrote: > > On 09/23/2016 10:30 AM, Charles Huet wrote: > > If you want to take a quick glance it should be close to what you want > > Did you push an update to the fastbuild-master branch? It looks the same. > > FYI, I'd like to wait until after the Oct 3 branch for the 3.7 release > before introducing changes toward a major new feature. Therefore I > likely won't have a chance to take a serious look at this until after > that. > > -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] FastBuild Generator
Sorry I pushed on fastbuild-rebase, as the rebase on master fails evento self host. I did not expect this to be merged for 3.7, as I'm not sure I'll have time to polish it enough for release. On Fri, Sep 23, 2016, 16:52 Brad Kingwrote: > On 09/23/2016 10:30 AM, Charles Huet wrote: > > If you want to take a quick glance it should be close to what you want > > Did you push an update to the fastbuild-master branch? It looks the same. > > FYI, I'd like to wait until after the Oct 3 branch for the 3.7 release > before introducing changes toward a major new feature. Therefore I > likely won't have a chance to take a serious look at this until after > that. > > -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] FastBuild Generator
On 09/23/2016 10:30 AM, Charles Huet wrote: > If you want to take a quick glance it should be close to what you want Did you push an update to the fastbuild-master branch? It looks the same. FYI, I'd like to wait until after the Oct 3 branch for the 3.7 release before introducing changes toward a major new feature. Therefore I likely won't have a chance to take a serious look at this until after that. -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] FastBuild Generator
Ok, so I will focus on windows support for now. I squashed the commits correctly, to not lose the correct authors names, and I started moving all that I could from the global generator to a target generator, and simplified a few things along the way. If you want to take a quick glance it should be close to what you want, but there is still some work as I introduced a few regressions in the refactoring. Le jeu. 22 sept. 2016 à 21:14, Brad Kinga écrit : > On 09/22/2016 03:02 PM, Charles Huet wrote: > > is linux/mac support mandatory also ? > > Fastbuild does support those platforms, but the generator so far does > > not work as well (or at all) on those platforms. > > I think it is okay to support only a subset of platforms at first. > Please just make the generator error out early on a platform that is > not supported, or simply not even compile on such hosts. > > 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] FastBuild Generator
On 09/22/2016 03:02 PM, Charles Huet wrote: > is linux/mac support mandatory also ? > Fastbuild does support those platforms, but the generator so far does > not work as well (or at all) on those platforms. I think it is okay to support only a subset of platforms at first. Please just make the generator error out early on a platform that is not supported, or simply not even compile on such hosts. 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] FastBuild Generator
> IIUC this refers to: > * http://fastbuild.org > * https://github.com/fastbuild/fastbuild Yes, exactly. >From a quick glance the main problem I see is that it doesn't follow the Makefile/Ninja generator model of organizing the generator code into a per-target generator. OK, so I need to make use of these. >We can do high-level reviews here first. Alright then. >Please make every commit properly formatted (with clang-format) rather than formatting after-the-fact. I actually remembered about the clang-format thread just before writing the first email, so I thought I should just quickly ut everything to format. >If you've made substantial non-formatting changes from the original >version please record yourself as the author and add a trailer to >the commit message I squashed everything into a big commit to make things easier for me, and completely forgot about proper attribution of the work, so I'll squash all of Josh's commits into one, and all of mine into another and make sure those are correctly formatted. To sum up, what I have to do now is: * squash commits and format those for proper attribuation * refactor to have a cmFastbuildTargetGenerator that inherits cmCommonTargetGenerator * get the tests to pass I guess before it gets fully integrated into CMake 100% test pass is mandatory, but is linux/mac support mandatory also ? Fastbuild does support those platforms, but the generator so far does not work as well (or at all) on those platforms. Best, Charles Le jeu. 22 sept. 2016 à 19:26, Brad Kinga écrit : > On 09/22/2016 10:41 AM, Charles Huet wrote: > > a Fastbuild generator in the works, whose development started on CMake > 3.2, > > and was pretty much abandonned for the past 5 months. > > > > I took the time to rebase it on master > > Thanks for reviving it. > > IIUC this refers to: > > * http://fastbuild.org > * https://github.com/fastbuild/fastbuild > > > big design issues can be caught right now > > From a quick glance the main problem I see is that it doesn't follow > the Makefile/Ninja generator model of organizing the generator code > into a per-target generator. See cmCommonTargetGenerator and its > subclasses. We've found that having a per-target generator is much > easier than passing the target pointers around in "local" generators. > > > Should I create a MergeRequest on gitlab? > > That will be fine when you have something ready, preferably after > addressing major architectural issues. We can do high-level reviews > here first. > > > https://github.com/packadal/CMake/tree/fastbuild-master > > Please make every commit properly formatted (with clang-format) > rather than formatting after-the-fact. > > If you've made substantial non-formatting changes from the original > version please record yourself as the author and add a trailer to > the commit message such as > > Co-Author: Josh Green > > or > > Inspired-by: Josh Green > > depending on how much original work remains. > > 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] FastBuild Generator
On 09/22/2016 10:41 AM, Charles Huet wrote: > a Fastbuild generator in the works, whose development started on CMake 3.2, > and was pretty much abandonned for the past 5 months. > > I took the time to rebase it on master Thanks for reviving it. IIUC this refers to: * http://fastbuild.org * https://github.com/fastbuild/fastbuild > big design issues can be caught right now >From a quick glance the main problem I see is that it doesn't follow the Makefile/Ninja generator model of organizing the generator code into a per-target generator. See cmCommonTargetGenerator and its subclasses. We've found that having a per-target generator is much easier than passing the target pointers around in "local" generators. > Should I create a MergeRequest on gitlab? That will be fine when you have something ready, preferably after addressing major architectural issues. We can do high-level reviews here first. > https://github.com/packadal/CMake/tree/fastbuild-master Please make every commit properly formatted (with clang-format) rather than formatting after-the-fact. If you've made substantial non-formatting changes from the original version please record yourself as the author and add a trailer to the commit message such as Co-Author: Josh Greenor Inspired-by: Josh Green depending on how much original work remains. 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