[cmake-developers] CMP0053 - Simplify variable reference and escape sequence evaluation - regression
CMP0053 warns/fails on $ENV{ProgramFiles(x86)}. Could () be added to the legal set of characters when within an $ENV{} expansion? Nils -- 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] CMP0053 - Simplify variable reference and escape sequence evaluation - regression
On 10/06/2014 06:39 AM, Nils Gladitz wrote: CMP0053 warns/fails on $ENV{ProgramFiles(x86)}. Could () be added to the legal set of characters when within an $ENV{} expansion? We considered that case and decided to ask users to use a nested variable reference for that case. There is a similar workaround in Modules/Platform/WindowsPaths.cmake. One reason is that adding more characters to the allowed set, especially as a special case for $ENV{}, triggers extra tests and branches inside a tight loop that is used everywhere. -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] CMP0053 - Simplify variable reference and escape sequence evaluation - regression
On 10/06/2014 02:48 PM, Brad King wrote: On 10/06/2014 06:39 AM, Nils Gladitz wrote: CMP0053 warns/fails on $ENV{ProgramFiles(x86)}. Could () be added to the legal set of characters when within an $ENV{} expansion? We considered that case and decided to ask users to use a nested variable reference for that case. There is a similar workaround in Modules/Platform/WindowsPaths.cmake. One reason is that adding more characters to the allowed set, especially as a special case for $ENV{}, triggers extra tests and branches inside a tight loop that is used everywhere. All right, no problem; I'll work around it. Thanks! Nils -- 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] New command 'file(LOCK_DIRECTORY ...)'
On 10/05/2014 04:59 PM, Ruslan Baratov via cmake-developers wrote: So it can't be resolved without some low-level management. I'm thinking about `file` command sub-option like LOCK_DIRECTORY: `file(LOCK_DIRECTORY /path/to/shared-dir)`. Does it sounds doable? I think it is a reasonable proposal. However, more design is needed here, including at least the following items: * There needs to be a way to define the scope of the lock other than until cmake exits. For example, until current function exits. * There needs to be a way to explicitly unlock early, or to explicitly release management of the lock (e.g. to pass to some other process). * The implementation on Windows needs to be handled carefully. The safe way to delete a file there is to open it with a handle that is marked as delete-on-close, and then close the handle. That way the file is eventually deleted even if other processes currently have it open/locked. I don't know if there is an equivalent for a directory. 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] [update]: CPack IFW generator
On 10/05/2014 05:18 AM, Konstantin Podsvirov wrote: Straight to the point: Brad please apply my changes! I've merged the topic to 'next' for testing: CPackIFW: Search algorithm update http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f9f74874 CPackIFW: Added support for multiple repositories http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ed9684a2 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] fix-OSX-bundle-rpaths-and-Qt5 topic
On 10/04/2014 11:37 AM, Adam Strzelecki wrote: I've applied your suggestions about quoting and used portable (POSIX compliant) find call that should work now on any system. Thanks. On 10/05/2014 03:35 PM, Adam Strzelecki wrote: Correct me if I am wrong but it seems CDash reports no further problems with my changes. It's better, but the BundleUtilities test fails on OS X 10.5: http://open.cdash.org/testDetails.php?test=285651145build=3517533 -- 6/10: fixing up '.../Tests/BundleUtilities/testdir1/testbundleutils1.app/Contents/MacOS/testbundleutils1' install_name_tool: more than one input file specified (.../Tests/BundleUtilities/testdir1 and -delete_rpath) Usage: install_name_tool [-change old new] ... [-id name] input -- 7/10: fixing up '.../Tests/BundleUtilities/testdir1/testbundleutils1.app/Contents/MacOS/module1.so' install_name_tool: more than one input file specified (.../Tests/BundleUtilities/testdir1 and -delete_rpath) Usage: install_name_tool [-change old new] ... [-id name] input From this message it looks like the install_name_tool does not support -delete_rpath. IIRC @rpath was first added in OS X 10.5 so it looks like that part had not yet matured. Use of -delete_rpath was previously added at install-time here: OS X: Add RPATH support for Mac. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=94e7fef2 so I think this problem existed before but was not exposed by tests. Clinton, what do you think of changing the Darwin.cmake test for enabling @rpath support to require OS X 10.6 instead of 10.5? Otherwise we may be leaking build tree RPATH entries into installed files on 10.5. 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] [update]: CPack IFW generator
On 10/06/2014 09:15 AM, Konstantin Podsvirov wrote: Can I expect that CPack IFW generator will be in the tag v3.1.0-rc1? Anything that is in 'master' now will be in 3.1. This update should be merged in time barring catastrophic problems with 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] [update]: CPack IFW generator
06.10.2014, 17:01, Brad King brad.k...@kitware.com: On 10/05/2014 05:18 AM, Konstantin Podsvirov wrote: Straight to the point: Brad please apply my changes! I've merged the topic to 'next' for testing... Thank you :-) Can I expect that CPack IFW generator will be in the tag v3.1.0-rc1? This is my first contribution to CMake and I can't wait to see the results of its application. 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] fix-OSX-bundle-rpaths-and-Qt5 topic
- Original Message - On 10/04/2014 11:37 AM, Adam Strzelecki wrote: I've applied your suggestions about quoting and used portable (POSIX compliant) find call that should work now on any system. Thanks. On 10/05/2014 03:35 PM, Adam Strzelecki wrote: Correct me if I am wrong but it seems CDash reports no further problems with my changes. It's better, but the BundleUtilities test fails on OS X 10.5: http://open.cdash.org/testDetails.php?test=285651145build=3517533 -- 6/10: fixing up '.../Tests/BundleUtilities/testdir1/testbundleutils1.app/Contents/MacOS/testbundleutils1' install_name_tool: more than one input file specified (.../Tests/BundleUtilities/testdir1 and -delete_rpath) Usage: install_name_tool [-change old new] ... [-id name] input -- 7/10: fixing up '.../Tests/BundleUtilities/testdir1/testbundleutils1.app/Contents/MacOS/module1.so' install_name_tool: more than one input file specified (.../Tests/BundleUtilities/testdir1 and -delete_rpath) Usage: install_name_tool [-change old new] ... [-id name] input From this message it looks like the install_name_tool does not support -delete_rpath. IIRC @rpath was first added in OS X 10.5 so it looks like that part had not yet matured. Use of -delete_rpath was previously added at install-time here: OS X: Add RPATH support for Mac. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=94e7fef2 so I think this problem existed before but was not exposed by tests. Clinton, what do you think of changing the Darwin.cmake test for enabling @rpath support to require OS X 10.6 instead of 10.5? Otherwise we may be leaking build tree RPATH entries into installed files on 10.5. Sure, I think it would be good to require 10.6. We also have uses of the -delete_rpath/-add_rpath parameters in cmInstallTargetGenerator.cxx, and the test of that already requires 10.6 or greater. Clint -- 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] fix-OSX-bundle-rpaths-and-Qt5 topic
Sure, I think it would be good to require 10.6. We also have uses of the -delete_rpath/-add_rpath parameters in cmInstallTargetGenerator.cxx, and the test of that already requires 10.6 or greater. Moreover I believe nobody nowadays builds for 10.5 on 10.5. Since 10.6 with Xcode 3 supports 10.5 PPC and Apple allows virtualization of 10.6 Server, so if anyone still targets PPC on 10.5 or earlier then 10.6 is natural choice. --Adam -- 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] fix-OSX-bundle-rpaths-and-Qt5 topic
On 10/06/2014 10:36 AM, Adam Strzelecki wrote: Sure, I think it would be good to require 10.6. Moreover I believe nobody nowadays builds for 10.5 on 10.5. Perhaps no one has to build that way for deployment but there could still be people just building for their own host as the only computer they have. The fact that our dashboard reported this problem means we are testing that case. Clinton, I don't have a 10.5 machine anymore and the test is failing on yours. Please take whatever action you feel is appropriate to resolve the test failure on that machine. This could mean either disabling rpath altogether on 10.5 or changing the new hunk: + foreach(rpath ${${ikey}_RPATHS}) +set(changes ${changes} -delete_rpath ${rpath}) + endforeach() to warn and skip removal when hosted on 10.5. Or another option you find. This needs to be resolved in the next day or two or the topic won't be in CMake 3.1. 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] Preparing for CMake 3.1.0-rc1
On Fri, Oct 03, 2014 at 13:51:54 -0400, Ben Boeckel wrote: Feel free to cherry-pick the documentation fixes (or I can spin out a branch) if the other changes are too late (I hope to add tests Monday, but can do it today if that's too late). A test has been added. Brad, there are some bugfixes for tsan and asan in there. Is it too late to merge the whole branch or do you want me to cherry-pick them out? --Ben -- 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] Preparing for CMake 3.1.0-rc1
On 10/06/2014 02:24 PM, Ben Boeckel wrote: On Fri, Oct 03, 2014 at 13:51:54 -0400, Ben Boeckel wrote: Feel free to cherry-pick the documentation fixes (or I can spin out a branch) if the other changes are too late (I hope to add tests Monday, but can do it today if that's too late). A test has been added. Brad, there are some bugfixes for tsan and asan in there. Is it too late to merge the whole branch or do you want me to cherry-pick them out? Please re-order the topic to have all the fixes first, and then the changes to add ubsan support. That way I can revert the latter if it is problematic. Then merge the whole topic for testing. 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] Preparing for CMake 3.1.0-rc1
On Mon, Oct 06, 2014 at 14:31:58 -0400, Brad King wrote: Please re-order the topic to have all the fixes first, and then the changes to add ubsan support. That way I can revert the latter if it is problematic. Then merge the whole topic for testing. Done. --Ben -- 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] Improving the version selection behavior of EXACT
Brad King wrote: On 10/03/2014 12:47 PM, Rolf Eike Beer wrote: + # give an exact match if the first ${NAME}_FIND_VERSION_COUNT components of the version string match + # this constructs the equivalent of (([^.]\\.){${${_NAME}_FIND_VERSION_COUNT}}) + unset(_VERSION_REGEX) + # foreach(RANGE) doesn't like it if stop is greater start + if (${${_NAME}_FIND_VERSION_COUNT} GREATER 1) +foreach (_NUM RANGE 2 ${${_NAME}_FIND_VERSION_COUNT}) + set(_VERSION_REGEX ${_VERSION_REGEX}[^.]*\\.) +endforeach () + endif () Since _FIND_VERSION_COUNT is always [0-4], I think a hand-coded lookup table may be simpler and faster. Topic FPHSA_exact_version pushed to next. Eike -- signature.asc Description: This is a digitally signed message part. -- 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] fix-OSX-bundle-rpaths-and-Qt5 topic
- Original Message - On 10/06/2014 10:36 AM, Adam Strzelecki wrote: Sure, I think it would be good to require 10.6. Moreover I believe nobody nowadays builds for 10.5 on 10.5. Perhaps no one has to build that way for deployment but there could still be people just building for their own host as the only computer they have. The fact that our dashboard reported this problem means we are testing that case. Clinton, I don't have a 10.5 machine anymore and the test is failing on yours. Please take whatever action you feel is appropriate to resolve the test failure on that machine. This could mean either disabling rpath altogether on 10.5 or changing the new hunk: + foreach(rpath ${${ikey}_RPATHS}) +set(changes ${changes} -delete_rpath ${rpath}) + endforeach() to warn and skip removal when hosted on 10.5. Or another option you find. This needs to be resolved in the next day or two or the topic won't be in CMake 3.1. Thanks, -Brad I don't have a 10.5 machine, but I've put in a commit which I hope solves the problem. 36c509b9 OSX: Only enable @rpath support on OS X 10.6 or greater. Clint -- 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
[CMake] Declaring relationships between components for software packages
Hello, Variables like CPACK_DEBIAN_PACKAGE_DEPENDS and CPACK_RPM_PACKAGE_REQUIRES can be set. Do you know any other package formats where similar settings are supported by corresponding generators? http://www.cmake.org/Wiki/CMake:CPackPackageGenerators Regards, Markus -- 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
Re: [CMake] Install path for package files
As is also written in the stackoverflow answer, this information can be found in the cmake documentation for find_package[1]: prefix/ (W) prefix/(cmake|CMake)/ (W) prefix/name*/ (W) prefix/name*/(cmake|CMake)/ (W) prefix/(lib/arch|lib|share)/cmake/name*/ (U) prefix/(lib/arch|lib|share)/name*/(U) prefix/(lib/arch|lib|share)/name*/(cmake|CMake)/ (U) On systems supporting OS X Frameworks and Application Bundles the following directories are searched for frameworks or bundles containing a configuration file: prefix/name.framework/Resources/ (A) prefix/name.framework/Resources/CMake/ (A) prefix/name.framework/Versions/*/Resources/ (A) prefix/name.framework/Versions/*/Resources/CMake/ (A) prefix/name.app/Contents/Resources/ (A) prefix/name.app/Contents/Resources/CMake/ (A) Just use any directory based on your target platform and you're fine. [1] http://www.cmake.org/cmake/help/v3.0/command/find_package.html HTH, Johannes On Friday, 3. October 2014, 12:22:57, Alexander Lamaison wrote: Noah Roberts roberts.n...@gmail.com writes: snip I gather I need to create a BlahModule.cmake file that implements the package finding stuff. I want to install this wherever cmake will find it. I don't want to put it in some place in the system and then expect dependent CMakeLists.txt files to set that path when using find_package. snip So what is the variable I use in the install() function for the DESTINATION parameter to do this? I assume there must be one... I can't seem to find it in the documentation though. Me neither. This answer [1] lists the places that CMake looks for the BlahConfig.cmake file so on Unix it's fairly simple. Set the DESTINATION to 'lib' which will install it to /usr/local/lib/BlahConfig.cmake where, presumable, find_package will locate it. I don't understand how this is meant to work on Windows, though. How is CMake meant to know which root to start thee search under? [1] http://stackoverflow.com/a/11965673/67013 Alex -- 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
[CMake] Cmake(3.0.2) Eclipse project indexing issues under linux
Hi, After generating Eclipse projects and importing them, Eclipse is not indexing all source files. I have detailed the issue (so sorry for the long email) and the experiments I have performed to resolve the issue. I would be really glad if someone could point out, what is going wrong or is there some bug? Not to go in too much details, here is how my directory (project) structure looks like in order to explain the issue in more details: Sources: *$someDir/common/project_a/src/source_a.cpp* *$someDir/common/project_a/CMakeLists.tx*t - Project A is a common lib, uses by many tests *$someDir/tests/test_a/src/test_a.cpp* *$someDir/tests/test_a/CMakeLists.txt* - Includes the Project A using add_subdirectory and creates a share object Cmake build directories: *$someDir/cmakeOut/**common/project_a/* *$someDir/cmakeOut/tests/test_a/* Cmake generated everything without errors and building the project using make or Eclipse was not an issue. The issue is only when I import the project in Eclipse (version 4.3.2) by *Import - General - Existing Project - $someDir/cmakeOut/tests/test_a/*, the indexer does not seem to be working properly. It only indexes one source (test_a.cpp) whereas it should index two (test_a.cpp + sourc_a.cpp). this is just an example setup, in my actual project, only 1 source file gets indexed out of the 142 it should do. therefore it makes using Eclipse very hard! Now this is what I noticed with my experiments. *Experiment 1*: Change cmake version and compare I used the exact same files and folder structure but changed the cmake version to 2.8.10.2. The generated Eclipse project was able to index both the source files! This was mind boggling. I have to use the cmake 3.0.2 version, so I tried to narrow down the issue. When I did the diff of the .cproject created by the two cmake version I saw this: cmake 3.0.2 has this in the .cproject *pathentry kind=src path=[Source directory]/* pathentry excluding=*[Source directory]/|***/CMakeFiles/ kind=out path=/ cmake 2.8.10.2 has this in the .cproject pathentry excluding=**/CMakeFiles/ kind=out path=/ The rest of the file is similar (except cmake path, which is obvious). *Success Result*: If I delete the line *pathentry kind=src path=[Source directory]/ *from the .cproject and then import the project, indexing seems to be working!!! however I cant use this solution as my project is not checked in and every body using it needs to make this step manually. *Experiment 2*: Change the import method After a lot of googling I found out that someone was suggesting to import the project using this method (BTW, for totally different problem): *Import - C/C++ - Existing Code as Makefile Project - $someDir/cmakeOut/tests/test_a/ *. When I did this, it again works! Mind boggling yet again! Just by chance I found out that this method works because, by importing this way Eclipse somehow modifies the .cproject and removed the lines like I did in first experiment. *Conclusion*: So based on my experiments this line in the .cproject is causing an issue with indexing: *pathentry kind=src path=[Source directory]/* I know most likely my conclusion is not correct but I do not have any other explanation. Also I do not know why this line is actually the issue! Therfore I am writing to you all to understand the issue a bit better. Maybe the issue is elsewhere. Thanks in advance! -- Best Regards, Tushar Soni -- 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
[CMake] Problem with Cmake 3.0.2 and MSVC: devenv.com does not print CMAKE_C_COMPILER=path_to_cl.exe during CMakeDetermineCompilerId.cmake
Hi there, For some mysterious reason the invocation in subject does not print out the all-important message CMAKE_C_COMPILER=path_to_cl.exe after the compilation of CompilerIdC.c The invocation in question is in CMakeDetermnineCompilerId.cmake like 188. The CMAKE_C_COMPILER message is the one echo'ed by a the VCPostBuildEventTool action in CompilerIdC.vcproj I suppose I should send the query to a Microsoft forum, really. But I was hoping someone would have seen this odd behavior before. If I build CompilerIdC.vcproj in Visual Studio, then I do see the message in the build output. Note that the compilation of CompilerIdC.c does work properly. And so does the extraction of the compiler ID strings from the executable binary. I currently have Visual Studio both VS2013 and the Intel C++ compiler installed on the same machine. Could that be having a nefarious influence? I'm seeing the same behavior with CMake 2.8.12. Big thanks in advance! -- 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
Re: [CMake] Main program not getting rebuilt when library changes.
Thanks very much for taking a careful look at this, Bill. The source files in my test were more or less the same as yours but I changed them to be identical. Most of my previous tests were with the 2013 Express version of VS but I had also done a couple of tests with 2010 Express. Previously, I was seeing the same dependency behavior problem with both versions. I did this latest test with 2010 Express. The version of that I currently have installed is: Version 10.0.40219.1 SP1Rel. After I change MySub.cpp, either with touch or by editing the file in the GUI, and rebuild either with the F7 key or by selecting the Build Solution menu item, I see something like this: $ ls -l cmTest*/Debug cmTestLib/Debug: total 4 --+ 1 bgreene None 2742 Oct 6 13:59 cmTestLib.lib cmTestMain/Debug: total 692 --+ 1 bgreene None 28160 Oct 6 13:46 cmTestMain.exe --+ 1 bgreene None 312688 Oct 6 13:46 cmTestMain.ilk --+ 1 bgreene None 363520 Oct 6 13:46 cmTestMain.pdb If I do, Rebuild Solution, not surprisingly, both the lib and exe get rebuilt. This could be a bug in VS as CMake has very little to do with depends like this and the VS IDE. I'm certainly not an expert with Visual Studio but this sure has all the appearances of a VS bug. The VS solution generated by cmake looks right to me. However, the fact that this behavior occurs in both VS 2010 and VS 2013 seems surprising. Bill On Mon, Oct 6, 2014 at 10:51 AM, Bill Hoffman bill.hoff...@kitware.com wrote: Bill, I want to reset this conversation a bit. What you are doing should work no problem. Most of the suggestions should not be needed. I do agree that glob is bad, but it will cause different problems. Anyway, I created the following example based on your posts and it works with VS 2010. Can you try this and report back? This could be a bug in VS as CMake has very little to do with depends like this and the VS IDE. I did this to test: $ ls -l b/cmTestMain/Debug/ total 684 -rwxr-xr-x 1 hoffman Domain Users 28160 Oct 6 10:47 cmTestMain.exe hoffman@quasar ~/Work/dep $ touch cmTestLib/MySub.cpp #build from VS IDE and exe relinks hoffman@quasar ~/Work/dep $ ls -l b/cmTestMain/Debug/ total 684 -rwxr-xr-x 1 hoffman Domain Users 28160 Oct 6 10:48 cmTestMain.exe hoffman@quasar ~/Work/dep $ touch cmTestLib/MySub.h # build from VS IDE exe relinks again hoffman@quasar ~/Work/dep $ ls -l b/cmTestMain/Debug total 684 -rwxr-xr-x 1 hoffman Domain Users 28160 Oct 6 10:49 cmTestMain.exe top level: --- cmake_minimum_required (VERSION 2.8) project(cmTest) add_subdirectory (cmTestLib) add_subdirectory (cmTestMain) cmTestLib -- add_library (cmTestLib STATIC MySub.cpp MySub.h) -- cmTestLib/MySub.cpp #include MySub.h int hello() { return 0;} - cmTestLib/MySub.h int hello(); cmTestMain include_directories (${cmTest_SOURCE_DIR}/cmTestLib) add_executable (cmTestMain cmTestMain.cpp) target_link_libraries (cmTestMain cmTestLib) Here are the source files: -- cmTestLib/MySub.cpp #include MySub.h int hello() { return 0;} - cmTestLib/MySub.h int hello(); cmTestMain/cmTestMain.cpp #include MySub.h int main() { return hello(); } -- 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 -- 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
Re: [CMake] Main program not getting rebuilt when library changes.
On 10/6/2014 2:10 PM, Bill Greene wrote: After I change MySub.cpp, either with touch or by editing the file in the GUI, and rebuild either with the F7 key or by selecting the Build Solution menu item, I see something like this: What if you right click on ALL_BUILD and build that project? It maybe that you just have the wrong project setup as the main project to build and it is only building the library and not the executable. CMake does not control that. You have to pick the active project from the GUI. Another thing to try is to run cmake --build . and see if that works. That will always build the ALL_BUILD target. -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
Re: [CMake] Cmake(3.0.2) Eclipse project indexing issues under linux
Hi, thanks for your detailled findings. Can you please create a ticket in the bug tracker with this, so it doesn't get lost ? http://public.kitware.com/Bug Thanks Alex On Monday, October 06, 2014 14:30:06 Tushar Soni wrote: Hi, After generating Eclipse projects and importing them, Eclipse is not indexing all source files. I have detailed the issue (so sorry for the long email) and the experiments I have performed to resolve the issue. I would be really glad if someone could point out, what is going wrong or is there some bug? Not to go in too much details, here is how my directory (project) structure looks like in order to explain the issue in more details: Sources: *$someDir/common/project_a/src/source_a.cpp* *$someDir/common/project_a/CMakeLists.tx*t - Project A is a common lib, uses by many tests *$someDir/tests/test_a/src/test_a.cpp* *$someDir/tests/test_a/CMakeLists.txt* - Includes the Project A using add_subdirectory and creates a share object Cmake build directories: *$someDir/cmakeOut/**common/project_a/* *$someDir/cmakeOut/tests/test_a/* Cmake generated everything without errors and building the project using make or Eclipse was not an issue. The issue is only when I import the project in Eclipse (version 4.3.2) by *Import - General - Existing Project - $someDir/cmakeOut/tests/test_a/*, the indexer does not seem to be working properly. It only indexes one source (test_a.cpp) whereas it should index two (test_a.cpp + sourc_a.cpp). this is just an example setup, in my actual project, only 1 source file gets indexed out of the 142 it should do. therefore it makes using Eclipse very hard! Now this is what I noticed with my experiments. *Experiment 1*: Change cmake version and compare I used the exact same files and folder structure but changed the cmake version to 2.8.10.2. The generated Eclipse project was able to index both the source files! This was mind boggling. I have to use the cmake 3.0.2 version, so I tried to narrow down the issue. When I did the diff of the .cproject created by the two cmake version I saw this: cmake 3.0.2 has this in the .cproject *pathentry kind=src path=[Source directory]/* pathentry excluding=*[Source directory]/|***/CMakeFiles/ kind=out path=/ cmake 2.8.10.2 has this in the .cproject pathentry excluding=**/CMakeFiles/ kind=out path=/ The rest of the file is similar (except cmake path, which is obvious). *Success Result*: If I delete the line *pathentry kind=src path=[Source directory]/ *from the .cproject and then import the project, indexing seems to be working!!! however I cant use this solution as my project is not checked in and every body using it needs to make this step manually. *Experiment 2*: Change the import method After a lot of googling I found out that someone was suggesting to import the project using this method (BTW, for totally different problem): *Import - C/C++ - Existing Code as Makefile Project - $someDir/cmakeOut/tests/test_a/ *. When I did this, it again works! Mind boggling yet again! Just by chance I found out that this method works because, by importing this way Eclipse somehow modifies the .cproject and removed the lines like I did in first experiment. *Conclusion*: So based on my experiments this line in the .cproject is causing an issue with indexing: *pathentry kind=src path=[Source directory]/* I know most likely my conclusion is not correct but I do not have any other explanation. Also I do not know why this line is actually the issue! Therfore I am writing to you all to understand the issue a bit better. Maybe the issue is elsewhere. Thanks in advance! -- 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
Re: [CMake] Main program not getting rebuilt when library changes.
What if you right click on ALL_BUILD and build that project? For some reason, the ALL_BUILD project was *not* selected/checked to build. However if I build it explicitly or change the VS configuration so it does build, the main program is still not being re-linked. Another thing to try is to run cmake --build . and see if that works. That appears to compile the lib cpp file and rebuild the library just fine but it also doesn't re-link the main program. I've copied the output from cmake --build below in case that is of any use. Bill c:\temp\Projectscmake --build cmake_test_hoffman Microsoft (R) Build Engine version 4.0.30319.18408 [Microsoft .NET Framework, version 4.0.30319.18444] Copyright (C) Microsoft Corporation. All rights reserved. Build started 10/6/2014 5:29:23 PM. Project c:\temp\Projects\cmake_test_hoffman\ALL_BUILD.vcxproj on node 1 (default targets). Project c:\temp\Projects\cmake_test_hoffman\ALL_BUILD.vcxproj (1) is building C:\temp\Projects\cmake_test_hoffman\ZE RO_CHECK.vcxproj (2) on node 1 (default targets). InitializeBuildStatus: Creating Win32\Debug\ZERO_CHECK\ZERO_CHECK.unsuccessfulbuild because AlwaysCreate was specified. FinalizeBuildStatus: Deleting file Win32\Debug\ZERO_CHECK\ZERO_CHECK.unsuccessfulbuild. Touching Win32\Debug\ZERO_CHECK\ZERO_CHECK.lastbuildstate. Done Building Project C:\temp\Projects\cmake_test_hoffman\ZERO_CHECK.vcxproj (default targets). Project c:\temp\Projects\cmake_test_hoffman\ALL_BUILD.vcxproj (1) is building C:\temp\Projects\cmake_test_hoffman\cm TestLib\cmTestLib.vcxproj (3) on node 1 (default targets). InitializeBuildStatus: Creating cmTestLib.dir\Debug\cmTestLib.unsuccessfulbuild because AlwaysCreate was specified. CustomBuild: All outputs are up-to-date. ClCompile: c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\CL.exe /c /Zi /nologo /W3 /WX- /Od /Ob0 /Oy- /D WIN32 /D _ WINDOWS /D _DEBUG /D CMAKE_INTDIR=\Debug\ /D _MBCS /Gm- /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /GR /FocmTestLib.dir\Debug\\ /FdcmTestLib.dir\Debug\vc100.pdb /Gd /TP /analyze- /errorReport:queue ..\..\..\..\w greene\tests\c++\cmake_test_hoffman\cmTestLib\MySub.cpp MySub.cpp Lib: c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\Lib.exe /OUT:C:\temp\Projects\cmake_test_hoffman\cmTestLi b\Debug\cmTestLib.lib /NOLOGO cmTestLib.dir\Debug\MySub.obj cmTestLib.vcxproj - C:\temp\Projects\cmake_test_hoffman\cmTestLib\Debug\cmTestLib.lib FinalizeBuildStatus: Deleting file cmTestLib.dir\Debug\cmTestLib.unsuccessfulbuild. Touching cmTestLib.dir\Debug\cmTestLib.lastbuildstate. Done Building Project C:\temp\Projects\cmake_test_hoffman\cmTestLib\cmTestLib.vcxproj (default targets). Project c:\temp\Projects\cmake_test_hoffman\ALL_BUILD.vcxproj (1) is building C:\temp\Projects\cmake_test_hoffman\cm TestMain\cmTestMain.vcxproj (4) on node 1 (default targets). InitializeBuildStatus: Creating cmTestMain.dir\Debug\cmTestMain.unsuccessfulbuild because AlwaysCreate was specified. CustomBuild: All outputs are up-to-date. ClCompile: All outputs are up-to-date. ManifestResourceCompile: All outputs are up-to-date. Link: All outputs are up-to-date. Manifest: All outputs are up-to-date. FinalizeBuildStatus: Deleting file cmTestMain.dir\Debug\cmTestMain.unsuccessfulbuild. Touching cmTestMain.dir\Debug\cmTestMain.lastbuildstate. Done Building Project C:\temp\Projects\cmake_test_hoffman\cmTestMain\cmTestMain.vcxproj (default targets). InitializeBuildStatus: Creating Win32\Debug\ALL_BUILD\ALL_BUILD.unsuccessfulbuild because AlwaysCreate was specified. CustomBuild: Build all projects FinalizeBuildStatus: Deleting file Win32\Debug\ALL_BUILD\ALL_BUILD.unsuccessfulbuild. Touching Win32\Debug\ALL_BUILD\ALL_BUILD.lastbuildstate. Done Building Project c:\temp\Projects\cmake_test_hoffman\ALL_BUILD.vcxproj (default targets). Build succeeded. 0 Warning(s) 0 Error(s) Time Elapsed 00:00:00.64 -- 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
[CMake] Xcode generator per architecture setting
Hi, For Xcode generator, is it possible to specify CFLAGS for each architecture, e.g. i386 and x86_64? Thanks! Best regards, Bin Chen Notice: This message and any included attachments are intended only for the use of the addressee, and may contain information that is privileged or confidential. If you are not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please destroy the original message and any copies or printouts hereof. -- 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
[Cmake-commits] CMake branch, next, updated. v3.0.2-5600-g131df01
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via 131df017bf969f67d62804e376589589c4577d4d (commit) via 0338cdf79e5e88364a4a1260b6babe4b92302666 (commit) via f17989b32dece80f430db33f15dc25141be4d3af (commit) via 594cdd4d28f4583beefae6d1d0e46defca511b36 (commit) via ab74ad5a5f26049effbd1eac119ec40e438f38df (commit) from 9e79dcf1ccbfa2c1c1b711f8e4704b549181b4a8 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=131df017bf969f67d62804e376589589c4577d4d commit 131df017bf969f67d62804e376589589c4577d4d Merge: 9e79dcf 0338cdf Author: Nils Gladitz nilsglad...@gmail.com AuthorDate: Mon Oct 6 07:51:38 2014 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Oct 6 07:51:38 2014 -0400 Merge topic 'FindBoost-CMP0054' into next 0338cdf7 FindBoost: Work around CMP0054 warnings f17989b3 CMake Nightly Date Stamp 594cdd4d CMake Nightly Date Stamp ab74ad5a CMake Nightly Date Stamp http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0338cdf79e5e88364a4a1260b6babe4b92302666 commit 0338cdf79e5e88364a4a1260b6babe4b92302666 Author: Nils Gladitz nilsglad...@gmail.com AuthorDate: Mon Oct 6 13:50:24 2014 +0200 Commit: Nils Gladitz nilsglad...@gmail.com CommitDate: Mon Oct 6 13:50:24 2014 +0200 FindBoost: Work around CMP0054 warnings diff --git a/Modules/FindBoost.cmake b/Modules/FindBoost.cmake index 0eec4ad..3642b3e 100644 --- a/Modules/FindBoost.cmake +++ b/Modules/FindBoost.cmake @@ -375,9 +375,9 @@ endfunction() # Guesses Boost's compiler prefix used in built library names # Returns the guess by setting the variable pointed to by _ret function(_Boost_GUESS_COMPILER_PREFIX _ret) - if(${CMAKE_CXX_COMPILER_ID} STREQUAL Intel - OR ${CMAKE_CXX_COMPILER} MATCHES icl - OR ${CMAKE_CXX_COMPILER} MATCHES icpc) + if(CMAKE_CXX_COMPILER_ID STREQUAL Intel + OR CMAKE_CXX_COMPILER MATCHES icl + OR CMAKE_CXX_COMPILER MATCHES icpc) if(WIN32) set (_boost_COMPILER -iw) else() @@ -403,7 +403,7 @@ function(_Boost_GUESS_COMPILER_PREFIX _ret) set(_boost_COMPILER -vc6) # yes, this is correct elseif (BORLAND) set(_boost_COMPILER -bcb) - elseif(${CMAKE_CXX_COMPILER_ID} STREQUAL SunPro) + elseif(CMAKE_CXX_COMPILER_ID STREQUAL SunPro) set(_boost_COMPILER -sw) elseif (MINGW) if(${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION} VERSION_LESS 1.34) --- Summary of changes: Modules/FindBoost.cmake |8 Source/CMakeVersion.cmake |2 +- 2 files changed, 5 insertions(+), 5 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.0.2-5603-g08f9eff
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via 08f9eff69c5ae8ff4e086be590b4434d84729da9 (commit) via ed9684a22cf4babeaa1f9083f4061d789e513ba9 (commit) via f9f748745c6f4ef5b2dbf6d0732bc67a23d1cc63 (commit) from 131df017bf969f67d62804e376589589c4577d4d (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=08f9eff69c5ae8ff4e086be590b4434d84729da9 commit 08f9eff69c5ae8ff4e086be590b4434d84729da9 Merge: 131df01 ed9684a Author: Brad King brad.k...@kitware.com AuthorDate: Mon Oct 6 09:01:00 2014 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Oct 6 09:01:00 2014 -0400 Merge topic 'cpack-ifw-updates' into next ed9684a2 CPackIFW: Added support for multiple repositories f9f74874 CPackIFW: Search algorithm update http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ed9684a22cf4babeaa1f9083f4061d789e513ba9 commit ed9684a22cf4babeaa1f9083f4061d789e513ba9 Author: Konstantin Podsvirov konstan...@podsvirov.pro AuthorDate: Sun Oct 5 12:52:57 2014 +0400 Commit: Konstantin Podsvirov konstan...@podsvirov.pro CommitDate: Sun Oct 5 12:52:57 2014 +0400 CPackIFW: Added support for multiple repositories Now user can add IFW specific repo with cpack_ifw_add_repository macro diff --git a/Modules/CPackIFW.cmake b/Modules/CPackIFW.cmake index 27546ac..4b8dc1e 100644 --- a/Modules/CPackIFW.cmake +++ b/Modules/CPackIFW.cmake @@ -85,6 +85,19 @@ # The root package name, which will be used if configuration group is not # specified # +# .. variable:: CPACK_IFW_REPOSITORIES_ALL +# +# The list of remote repositories. +# +# The default value of this variable is computed by CPack and contains +# all repositories added with command :command:`cpack_ifw_add_repository` +# +# .. variable:: CPACK_IFW_DOWNLOAD_ALL +# +# If this is ``ON`` all components will be downloaded. +# By default is ``OFF`` or used value +# from :variable:`CPACK_DOWNLOAD_ALL` if set +# # Components # # @@ -185,6 +198,33 @@ # ``LICENSES`` pair of display_name and file_path of license text for this # component group. You can specify more then one license. # +# -- +# +# .. command:: cpack_ifw_add_repository +# +# Add QtIFW_ specific remote repository. +# +# :: +# +# cpack_ifw_add_repository(reponame [DISABLED] +# URL url +# [USERNAME username] +# [PASSWORD password] +# [DISPLAY_NAME display_name]) +# +# This macro will also add the reponame repository +# to a variable :variable:`CPACK_IFW_REPOSITORIES_ALL` +# +# ``DISABLED`` if set, then the repository will be disabled by default. +# +# ``URL`` is points to a list of available components. +# +# ``USERNAME`` is used as user on a protected repository. +# +# ``PASSWORD`` is password to use on a protected repository. +# +# ``DISPLAY_NAME`` is string to display instead of the URL. +# # Example usage # ^ # @@ -192,7 +232,7 @@ # #set(CPACK_PACKAGE_NAME MyPackage) #set(CPACK_PACKAGE_DESCRIPTION_SUMMARY MyPackage Installation Example) -#set(CPACK_PACKAGE_VERSION 1.0.0) +#set(CPACK_PACKAGE_VERSION 1.0.0) # Version of installer # #include(CPack) #include(CPackIFW) @@ -201,8 +241,15 @@ #DISPLAY_NAME MyApp #DESCRIPTION My Application) #cpack_ifw_configure_component(myapp -#VERSION 1.2.3 +#VERSION 1.2.3 # Version of component #SCRIPT operations.qs) +#cpack_add_component(mybigplugin +#DISPLAY_NAME MyBigPlugin +#DESCRIPTION My Big Downloadable Plugin +#DOWNLOADED) +#cpack_ifw_add_repository(myrepo +#URL http://example.com/ifw/repo/myapp; +#DISPLAY_NAME My Application Repository) # # # Online installer @@ -217,8 +264,11 @@ # Then you would use the command :command:`cpack_configure_downloads`. # If you set ``ALL`` option all components will be downloaded. # +# You also can use command :command:`cpack_ifw_add_repository` and +# variable :variable:`CPACK_IFW_DOWNLOAD_ALL` for more specific configuration. +# # CPack IFW generator create repository dir in current binary dir. You -# would copy content of this dir to specified ``site``. +# would copy content of this dir to specified ``site`` (``url``). # # See Also # @@ -425,4 +475,43 @@ macro(cpack_ifw_configure_component_group grpname) endif() endmacro() +# Macro for adding repository +macro(cpack_ifw_add_repository reponame) + + string(TOUPPER ${reponame} _CPACK_IFWREPO_UNAME) +
[Cmake-commits] CMake branch, next, updated. v3.0.2-5605-gb6b7bd3
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via b6b7bd3ea7a5524f86370d0a65a58cba55df299a (commit) via c930046410c29834c5c9ec19787525e348a70530 (commit) from 08f9eff69c5ae8ff4e086be590b4434d84729da9 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b6b7bd3ea7a5524f86370d0a65a58cba55df299a commit b6b7bd3ea7a5524f86370d0a65a58cba55df299a Merge: 08f9eff c930046 Author: Brad King brad.k...@kitware.com AuthorDate: Mon Oct 6 09:41:02 2014 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Oct 6 09:41:02 2014 -0400 Merge topic 'FindBoost-CMP0054' into next c9300464 FindBoost: Avoid if() quoted auto-dereference http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c930046410c29834c5c9ec19787525e348a70530 commit c930046410c29834c5c9ec19787525e348a70530 Author: Nils Gladitz nilsglad...@gmail.com AuthorDate: Mon Oct 6 13:50:24 2014 +0200 Commit: Brad King brad.k...@kitware.com CommitDate: Mon Oct 6 09:40:41 2014 -0400 FindBoost: Avoid if() quoted auto-dereference When testing CMAKE_CXX_COMPILER[_ID] values with if(MATCHES) or if(STREQUAL), do not explicitly dereference or quote the variable. We want if() to auto-dereference the variable and not its value. diff --git a/Modules/FindBoost.cmake b/Modules/FindBoost.cmake index 0eec4ad..3642b3e 100644 --- a/Modules/FindBoost.cmake +++ b/Modules/FindBoost.cmake @@ -375,9 +375,9 @@ endfunction() # Guesses Boost's compiler prefix used in built library names # Returns the guess by setting the variable pointed to by _ret function(_Boost_GUESS_COMPILER_PREFIX _ret) - if(${CMAKE_CXX_COMPILER_ID} STREQUAL Intel - OR ${CMAKE_CXX_COMPILER} MATCHES icl - OR ${CMAKE_CXX_COMPILER} MATCHES icpc) + if(CMAKE_CXX_COMPILER_ID STREQUAL Intel + OR CMAKE_CXX_COMPILER MATCHES icl + OR CMAKE_CXX_COMPILER MATCHES icpc) if(WIN32) set (_boost_COMPILER -iw) else() @@ -403,7 +403,7 @@ function(_Boost_GUESS_COMPILER_PREFIX _ret) set(_boost_COMPILER -vc6) # yes, this is correct elseif (BORLAND) set(_boost_COMPILER -bcb) - elseif(${CMAKE_CXX_COMPILER_ID} STREQUAL SunPro) + elseif(CMAKE_CXX_COMPILER_ID STREQUAL SunPro) set(_boost_COMPILER -sw) elseif (MINGW) if(${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION} VERSION_LESS 1.34) --- Summary of changes: hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, master, updated. v3.0.2-1982-ge0fef85
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, master has been updated via e0fef85c7a493b655cb6a7d0c4b6e7bb11e8a6b6 (commit) via 94a061d3729e203ba59e537470e230b9b493639d (commit) from f17989b32dece80f430db33f15dc25141be4d3af (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e0fef85c7a493b655cb6a7d0c4b6e7bb11e8a6b6 commit e0fef85c7a493b655cb6a7d0c4b6e7bb11e8a6b6 Merge: f17989b 94a061d Author: Brad King brad.k...@kitware.com AuthorDate: Mon Oct 6 09:41:16 2014 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Oct 6 09:41:16 2014 -0400 Merge topic 'FindThreads-macro' 94a061d3 FindThreads: use a macro for the repetitive thread library checks --- Summary of changes: Modules/FindThreads.cmake | 40 +--- 1 file changed, 17 insertions(+), 23 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, master, updated. v3.0.2-1988-g3f91919
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, master has been updated via 3f9191932262f2279a7d25bf0dbb2fc224bd27cb (commit) via 1c838addf590f8ae67e43f0eb02a6e02b46264f3 (commit) from c74d2ddfa47792326c6d8b74df8816e27ad87e4c (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3f9191932262f2279a7d25bf0dbb2fc224bd27cb commit 3f9191932262f2279a7d25bf0dbb2fc224bd27cb Merge: c74d2dd 1c838ad Author: Brad King brad.k...@kitware.com AuthorDate: Mon Oct 6 09:41:23 2014 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Oct 6 09:41:23 2014 -0400 Merge topic 'fix-cobertura-parsing' 1c838add cmParseCoberturaCoverage: Initialize CurFileName to empty string --- Summary of changes: Source/CTest/cmParseCoberturaCoverage.cxx |1 + 1 file changed, 1 insertion(+) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, master, updated. v3.0.2-1984-gb153143
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, master has been updated via b1531431dd4914ffd8cd48e7d5b23fe77360dc19 (commit) via 9f32a2411b35df1d80a65a3e27e9db6faf959c91 (commit) from e0fef85c7a493b655cb6a7d0c4b6e7bb11e8a6b6 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b1531431dd4914ffd8cd48e7d5b23fe77360dc19 commit b1531431dd4914ffd8cd48e7d5b23fe77360dc19 Merge: e0fef85 9f32a24 Author: Brad King brad.k...@kitware.com AuthorDate: Mon Oct 6 09:41:18 2014 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Oct 6 09:41:18 2014 -0400 Merge topic 'ninja-console-pool' 9f32a241 Ninja: Use 'console' pool for CMake re-run if possible (#14915) --- Summary of changes: Source/cmGlobalNinjaGenerator.cxx | 23 ++- Source/cmGlobalNinjaGenerator.h |3 ++- Source/cmLocalNinjaGenerator.cxx | 25 + Source/cmLocalNinjaGenerator.h|1 + 4 files changed, 50 insertions(+), 2 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, master, updated. v3.0.2-1986-gc74d2dd
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, master has been updated via c74d2ddfa47792326c6d8b74df8816e27ad87e4c (commit) via fb009f00aeae142b7fbf6bbec78dd1e6ab2f7ae2 (commit) from b1531431dd4914ffd8cd48e7d5b23fe77360dc19 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c74d2ddfa47792326c6d8b74df8816e27ad87e4c commit c74d2ddfa47792326c6d8b74df8816e27ad87e4c Merge: b153143 fb009f0 Author: Brad King brad.k...@kitware.com AuthorDate: Mon Oct 6 09:41:21 2014 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Oct 6 09:41:21 2014 -0400 Merge topic 'wix-fix-root-dir-prop' fb009f00 CPackWiX: Work around RelativePath() returning an empty string for the root --- Summary of changes: Source/CPack/WiX/cmCPackWIXGenerator.cxx |5 + 1 file changed, 5 insertions(+) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.0.2-5612-ga185981
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via a1859811ec00a1b0c3755c023e32cce83c0ffe0d (commit) via 9fbd1712e3e0ee6291246bda58d34f8022b3fa81 (commit) from 0bfa2a5fb0e4ab94d9c22fe3ccf71ba9d180d456 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a1859811ec00a1b0c3755c023e32cce83c0ffe0d commit a1859811ec00a1b0c3755c023e32cce83c0ffe0d Merge: 0bfa2a5 9fbd171 Author: Brad King brad.k...@kitware.com AuthorDate: Mon Oct 6 10:12:32 2014 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Oct 6 10:12:32 2014 -0400 Merge topic 'autorcc-depends' into next 9fbd1712 Tests/QtAutogen: Fix selection of try_compile'd binary http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=9fbd1712e3e0ee6291246bda58d34f8022b3fa81 commit 9fbd1712e3e0ee6291246bda58d34f8022b3fa81 Author: Brad King brad.k...@kitware.com AuthorDate: Mon Oct 6 10:11:36 2014 -0400 Commit: Brad King brad.k...@kitware.com CommitDate: Mon Oct 6 10:11:36 2014 -0400 Tests/QtAutogen: Fix selection of try_compile'd binary diff --git a/Tests/QtAutogen/CMakeLists.txt b/Tests/QtAutogen/CMakeLists.txt index 8adf87e..028649e 100644 --- a/Tests/QtAutogen/CMakeLists.txt +++ b/Tests/QtAutogen/CMakeLists.txt @@ -127,26 +127,7 @@ if (NOT CMAKE_GENERATOR STREQUAL Ninja) message(SEND_ERROR Initial build of autorcc_depends failed. Output: ${output}) endif() - set(info_file ${CMAKE_CURRENT_BINARY_DIR}/autorcc_depends/info_file.txt) - if (NOT EXISTS ${info_file}) -unset(info_file) -foreach(_config ${CMAKE_BUILD_TYPE} ${CMAKE_CONFIGURATION_TYPES}) - set(_info_file ${CMAKE_CURRENT_BINARY_DIR}/autorcc_depends/info_file_${_config}.txt) - if (EXISTS ${_info_file}) -set(info_file ${_info_file}) -break() - else() -message(Does not exist: ${CMAKE_CURRENT_BINARY_DIR}/autorcc_depends/info_file_${_config}.txt) - endif() -endforeach() -if (NOT info_file) - file(GLOB info_files ${CMAKE_CURRENT_BINARY_DIR}/autorcc_depends/info_file* ) - message(info_files glob: ${info_files}) - message(SEND_ERROR No valid info_file found!) -endif() - endif() - - file(STRINGS ${info_file} qrc_files) + file(STRINGS ${CMAKE_CURRENT_BINARY_DIR}/autorcc_depends/info_file.txt qrc_files) list(GET qrc_files 0 qrc_file1) diff --git a/Tests/QtAutogen/autorcc_depends/CMakeLists.txt b/Tests/QtAutogen/autorcc_depends/CMakeLists.txt index 590271f..afd95bc 100644 --- a/Tests/QtAutogen/autorcc_depends/CMakeLists.txt +++ b/Tests/QtAutogen/autorcc_depends/CMakeLists.txt @@ -20,8 +20,5 @@ add_executable(test_res1 res1.qrc ) target_link_libraries(test_res1 ${QT_CORE_TARGET}) - -file(GENERATE - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/info_file$$BOOL:$CONFIG:_$CONFIG.txt - CONTENT $TARGET_FILE:test_res1\n -) +add_custom_command(TARGET test_res1 POST_BUILD COMMAND + ${CMAKE_COMMAND} -E echo $TARGET_FILE:test_res1 info_file.txt) --- Summary of changes: Tests/QtAutogen/CMakeLists.txt | 21 + Tests/QtAutogen/autorcc_depends/CMakeLists.txt |7 ++- 2 files changed, 3 insertions(+), 25 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.0.2-5620-gd33aceb
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via d33aceb1e1351f51f793376b0bb4be13b23cce2e (commit) via 51ec99a8af927eb70a3c7f1447d8ffc1cd316a25 (commit) via da98d8cbc23da6bb137298947e1676bda66833f5 (commit) via 6f1f0af9c61457bb547946c9384080ad8fb611e8 (commit) via f25e431d6efc2f03b49e15c831df9ee17594eea2 (commit) via f0661bf318b75ebb191a4e0ba07e4e15d260710d (commit) via ca9cc25ce8c6f74998fd9f30d36449814c170ea5 (commit) via 0b9cd437c3538ff5aa1858d743a289b06129 (commit) from a1859811ec00a1b0c3755c023e32cce83c0ffe0d (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d33aceb1e1351f51f793376b0bb4be13b23cce2e commit d33aceb1e1351f51f793376b0bb4be13b23cce2e Merge: a185981 51ec99a Author: Ben Boeckel ben.boec...@kitware.com AuthorDate: Mon Oct 6 15:29:43 2014 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Oct 6 15:29:43 2014 -0400 Merge topic 'ubsan-support' into next 51ec99a8 tests: add a test for ubsan da98d8cb dev: add release notes for UBSan support 6f1f0af9 ctest: add a UBSan memorycheck type f25e431d tests: set sanitizer options properly f0661bf3 tests: fix copy/paste from tsan - asan comments ca9cc25c ctest: add support for additional sanitizer options 0b9c ctest: update documentation for CTEST_MEMORYCHECK_TYPE http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=51ec99a8af927eb70a3c7f1447d8ffc1cd316a25 commit 51ec99a8af927eb70a3c7f1447d8ffc1cd316a25 Author: Ben Boeckel ben.boec...@kitware.com AuthorDate: Mon Oct 6 14:13:37 2014 -0400 Commit: Ben Boeckel ben.boec...@kitware.com CommitDate: Mon Oct 6 15:28:45 2014 -0400 tests: add a test for ubsan diff --git a/Tests/CTestTestMemcheck/CMakeLists.txt b/Tests/CTestTestMemcheck/CMakeLists.txt index 7422eb5..b564892 100644 --- a/Tests/CTestTestMemcheck/CMakeLists.txt +++ b/Tests/CTestTestMemcheck/CMakeLists.txt @@ -150,6 +150,21 @@ set_tests_properties(CTestTestMemcheckDummyAddressSanitizer PROPERTIES PASS_REGULAR_EXPRESSION .*Memory checking results:.*heap-buffer-overflow - 1.*) +# add UndefinedBehaviorSanitizer test +set(CTEST_EXTRA_CODE +set(CTEST_MEMORYCHECK_SANITIZER_OPTIONS \simulate_sanitizer=1\) +) + +set(CMAKELISTS_EXTRA_CODE +add_test(NAME TestSan COMMAND \${CMAKE_COMMAND}\ +-P \${CMAKE_CURRENT_SOURCE_DIR}/testUndefinedBehaviorSanitizer.cmake\) +) +gen_mc_test_internal(DummyUndefinedBehaviorSanitizer -DMEMCHECK_TYPE=UndefinedBehaviorSanitizer) +set(CMAKELISTS_EXTRA_CODE ) +set(CTEST_EXTRA_CODE) +set_tests_properties(CTestTestMemcheckDummyUndefinedBehaviorSanitizer PROPERTIES +PASS_REGULAR_EXPRESSION +.*Memory checking results:.*left shift of negative value -256 - 1.*) gen_mc_test(DummyPurify \${PSEUDO_PURIFY}) gen_mc_test(DummyValgrind \${PSEUDO_VALGRIND}) diff --git a/Tests/CTestTestMemcheck/testUndefinedBehaviorSanitizer.cmake b/Tests/CTestTestMemcheck/testUndefinedBehaviorSanitizer.cmake new file mode 100644 index 000..8ef3c0a --- /dev/null +++ b/Tests/CTestTestMemcheck/testUndefinedBehaviorSanitizer.cmake @@ -0,0 +1,21 @@ +# this file simulates a program that has been built with undefined behavior +# sanitizer options + +message(UBSAN_OPTIONS = [$ENV{UBSAN_OPTIONS}]) +string(REGEX REPLACE .*log_path=\([^\]*)\.* \\1 LOG_FILE $ENV{UBSAN_OPTIONS}) +message(LOG_FILE=[${LOG_FILE}]) + +# if we are not asked to simulate address sanitizer don't do it +if(NOT $ENV{UBSAN_OPTIONS}] MATCHES simulate_sanitizer.1) + return() +endif() +# clear the log file +file(REMOVE ${LOG_FILE}.2343) + +# create an error like undefined behavior santizer creates; +# these names come from ubsan_diag.cc and ubsan_handlers.cc +# in llvm + +file(APPEND ${LOG_FILE}.2343 +unknown: runtime error: left shift of negative value -256 +) http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=da98d8cbc23da6bb137298947e1676bda66833f5 commit da98d8cbc23da6bb137298947e1676bda66833f5 Author: Ben Boeckel ben.boec...@kitware.com AuthorDate: Fri Oct 3 13:48:41 2014 -0400 Commit: Ben Boeckel ben.boec...@kitware.com CommitDate: Mon Oct 6 15:28:45 2014 -0400 dev: add release notes for UBSan support diff --git a/Help/release/dev/ubsan-support.rst b/Help/release/dev/ubsan-support.rst new file mode 100644 index 000..7bd6133 --- /dev/null +++ b/Help/release/dev/ubsan-support.rst @@ -0,0 +1,6 @@ +ubsan-support +- + +* Add a ``UndefinedBehaviorSanitizer`` memcheck tooling type. +* Add support for sanitizer options through + :variable:`CTEST_MEMORYCHECK_SANITIZER_OPTIONS`.
[Cmake-commits] CMake branch, next, updated. v3.0.2-5624-gb838deb
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via b838deb2e9627bf2d607de300f4a9ca287baec38 (commit) via 89a51d50425d49841b0430819019e15319129de3 (commit) via d7c209ed58c556411a0692d216b284e6c5f220ca (commit) via 46368eddfdca1ee83a0126e4b3dfde575125f3e1 (commit) from d33aceb1e1351f51f793376b0bb4be13b23cce2e (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b838deb2e9627bf2d607de300f4a9ca287baec38 commit b838deb2e9627bf2d607de300f4a9ca287baec38 Merge: d33aceb 89a51d5 Author: Rolf Eike Beer e...@sf-mail.de AuthorDate: Mon Oct 6 15:50:00 2014 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Oct 6 15:50:00 2014 -0400 Merge topic 'FindThreads_overhaul' into next 89a51d50 FindThreads: introduce THREADS_PREFER_PTHREAD_FLAG (#14767) d7c209ed FindThreads: introduce an imported target to link to 46368edd FindThreads: move checking of the -pthread compiler flag into a macro http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=89a51d50425d49841b0430819019e15319129de3 commit 89a51d50425d49841b0430819019e15319129de3 Author: Rolf Eike Beer e...@sf-mail.de AuthorDate: Mon Oct 6 21:43:45 2014 +0200 Commit: Rolf Eike Beer e...@sf-mail.de CommitDate: Mon Oct 6 21:43:45 2014 +0200 FindThreads: introduce THREADS_PREFER_PTHREAD_FLAG (#14767) diff --git a/Modules/FindThreads.cmake b/Modules/FindThreads.cmake index c900789..ee3d44c 100644 --- a/Modules/FindThreads.cmake +++ b/Modules/FindThreads.cmake @@ -25,6 +25,17 @@ # :: # # CMAKE_THREAD_PREFER_PTHREAD +# +# If the use of the -pthread compiler and linker flag is prefered then the +# caller can set +# +# :: +# +# THREADS_PREFER_PTHREAD_FLAG +# +# Please note that the compiler flag can only be used with the imported +# target. Use of both the imported target as well as this switch is highly +# recommended for new code. #= # Copyright 2002-2009 Kitware, Inc. @@ -126,6 +137,13 @@ else() set(Threads_FOUND TRUE) else() +# Check for -pthread first if enabled. This is the recommended +# way, but not backwards compatible as one must also pass -pthread +# as compiler flag then. +if (THREADS_PREFER_PTHREAD_FLAG) + _check_pthreads_flag() +endif () + _check_threads_lib(pthreads pthread_create CMAKE_HAVE_PTHREADS_CREATE) _check_threads_lib(pthread pthread_create CMAKE_HAVE_PTHREAD_CREATE) if(CMAKE_SYSTEM_NAME MATCHES SunOS) http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d7c209ed58c556411a0692d216b284e6c5f220ca commit d7c209ed58c556411a0692d216b284e6c5f220ca Author: Timo Rothenpieler b...@btbn.de AuthorDate: Mon Oct 6 21:36:13 2014 +0200 Commit: Rolf Eike Beer e...@sf-mail.de CommitDate: Mon Oct 6 21:36:13 2014 +0200 FindThreads: introduce an imported target to link to This not only holds the library, but can also hold compiler flags needed, e.g. the -pthread flag preferred by gcc on some platforms. There was no clean way to get that compiler flag from the module until now. diff --git a/Modules/FindThreads.cmake b/Modules/FindThreads.cmake index aac9c0e..c900789 100644 --- a/Modules/FindThreads.cmake +++ b/Modules/FindThreads.cmake @@ -14,6 +14,12 @@ # CMAKE_USE_PTHREADS_INIT- are we using pthreads # CMAKE_HP_PTHREADS_INIT - are we using hp pthreads # +# The following import target is created +# +# :: +# +# CMake::Threads +# # For systems with multiple thread libraries, caller can set # # :: @@ -178,3 +184,17 @@ endif() set(CMAKE_REQUIRED_QUIET ${CMAKE_REQUIRED_QUIET_SAVE}) include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake) FIND_PACKAGE_HANDLE_STANDARD_ARGS(Threads DEFAULT_MSG Threads_FOUND) + +if(THREADS_FOUND AND NOT HAVE_CMAKE_THREADS_TARGET) + add_library(CMake::Threads INTERFACE IMPORTED GLOBAL) + + if(THREADS_HAVE_PTHREAD_ARG) +set_property(TARGET CMake::Threads PROPERTY INTERFACE_COMPILE_OPTIONS -pthread) + endif() + + if(CMAKE_THREAD_LIBS_INIT) +set_property(TARGET CMake::Threads PROPERTY INTERFACE_LINK_LIBRARIES ${CMAKE_THREAD_LIBS_INIT}) + endif() + + set(HAVE_CMAKE_THREADS_TARGET TRUE) +endif() http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=46368eddfdca1ee83a0126e4b3dfde575125f3e1 commit 46368eddfdca1ee83a0126e4b3dfde575125f3e1 Author: Rolf Eike Beer e...@sf-mail.de AuthorDate: Mon Oct 6 21:26:49 2014 +0200 Commit: Rolf Eike Beer e...@sf-mail.de CommitDate: Mon Oct 6 21:30:09 2014 +0200 FindThreads:
[Cmake-commits] CMake branch, next, updated. v3.0.2-5626-g279b884
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via 279b884a14f424c64ec7d72b68cc8e6e613eb854 (commit) via f34983898dc2178e1d0a68153cd3f89b9b37e10f (commit) from b838deb2e9627bf2d607de300f4a9ca287baec38 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=279b884a14f424c64ec7d72b68cc8e6e613eb854 commit 279b884a14f424c64ec7d72b68cc8e6e613eb854 Merge: b838deb f349838 Author: Rolf Eike Beer e...@sf-mail.de AuthorDate: Mon Oct 6 16:03:26 2014 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Oct 6 16:03:26 2014 -0400 Merge topic 'FPHSA_exact_version' into next f3498389 FPHSA: when EXACT version match is requested only compare the components given http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f34983898dc2178e1d0a68153cd3f89b9b37e10f commit f34983898dc2178e1d0a68153cd3f89b9b37e10f Author: Rolf Eike Beer e...@sf-mail.de AuthorDate: Fri Oct 3 18:49:00 2014 +0200 Commit: Rolf Eike Beer e...@sf-mail.de CommitDate: Mon Oct 6 22:01:52 2014 +0200 FPHSA: when EXACT version match is requested only compare the components given Given that you have a foobar that identifies itself as 1.2.3 from now on a find_package(foobar 1.2 EXACT) will succeed, as 1.2.3 will now be considered as being 1.2. Until now this was only the case for version 1.2.0. diff --git a/Modules/FindPackageHandleStandardArgs.cmake b/Modules/FindPackageHandleStandardArgs.cmake index e8d1dfb..f6e536b 100644 --- a/Modules/FindPackageHandleStandardArgs.cmake +++ b/Modules/FindPackageHandleStandardArgs.cmake @@ -290,12 +290,40 @@ function(FIND_PACKAGE_HANDLE_STANDARD_ARGS _NAME _FIRST_ARG) if(VERSION) if(${_NAME}_FIND_VERSION_EXACT) # exact version required -if (NOT ${${_NAME}_FIND_VERSION} VERSION_EQUAL ${VERSION}) - set(VERSION_MSG Found unsuitable version \${VERSION}\, but required is exact version \${${_NAME}_FIND_VERSION}\) - set(VERSION_OK FALSE) +# count the dots in the version string +string(REGEX REPLACE [^.] _VERSION_DOTS ${VERSION}) +# add one dot because there is one dot more than there are components +string(LENGTH ${_VERSION_DOTS}. _VERSION_DOTS) +if (_VERSION_DOTS GREATER ${_NAME}_FIND_VERSION_COUNT) + # Because of the C++ implementation of find_package() ${_NAME}_FIND_VERSION_COUNT + # is at most 4 here. Therefore a simple lookup table is used. + if (${_NAME}_FIND_VERSION_COUNT EQUAL 1) +set(_VERSION_REGEX [^.]*) + elseif (${_NAME}_FIND_VERSION_COUNT EQUAL 2) +set(_VERSION_REGEX [^.]*\\.[^.]*) + elseif (${_NAME}_FIND_VERSION_COUNT EQUAL 3) +set(_VERSION_REGEX [^.]*\\.[^.]*\\.[^.]*) + else () +set(_VERSION_REGEX [^.]*\\.[^.]*\\.[^.]*\\.[^.]*) + endif () + string(REGEX REPLACE ^(${_VERSION_REGEX})\\..* \\1 _VERSION_HEAD ${VERSION}) + unset(_VERSION_REGEX) + if (NOT ${_NAME}_FIND_VERSION VERSION_EQUAL _VERSION_HEAD) +set(VERSION_MSG Found unsuitable version \${VERSION}\, but required is exact version \${${_NAME}_FIND_VERSION}\) +set(VERSION_OK FALSE) + else () +set(VERSION_MSG (found suitable exact version \${VERSION}\)) + endif () + unset(_VERSION_HEAD) else () - set(VERSION_MSG (found suitable exact version \${VERSION}\)) + if (NOT ${${_NAME}_FIND_VERSION} VERSION_EQUAL ${VERSION}) +set(VERSION_MSG Found unsuitable version \${VERSION}\, but required is exact version \${${_NAME}_FIND_VERSION}\) +set(VERSION_OK FALSE) + else () +set(VERSION_MSG (found suitable exact version \${VERSION}\)) + endif () endif () +unset(_VERSION_DOTS) else() # minimum version specified: if (${${_NAME}_FIND_VERSION} VERSION_GREATER ${VERSION}) --- Summary of changes: Modules/FindPackageHandleStandardArgs.cmake | 36 --- 1 file changed, 32 insertions(+), 4 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.0.2-5628-g05d7933
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via 05d793389215d5f80e7b4e444ecb1452250e6cbb (commit) via 71da30cae09d56a81fe43b8c65b9dfeea1d7dd06 (commit) from 279b884a14f424c64ec7d72b68cc8e6e613eb854 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=05d793389215d5f80e7b4e444ecb1452250e6cbb commit 05d793389215d5f80e7b4e444ecb1452250e6cbb Merge: 279b884 71da30c Author: Nils Gladitz nilsglad...@gmail.com AuthorDate: Mon Oct 6 16:29:55 2014 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Oct 6 16:29:55 2014 -0400 Merge topic 'fix-ninja-rsp-var-duplication' into next 71da30ca Ninja: Fix variable duplication in RSP rules http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=71da30cae09d56a81fe43b8c65b9dfeea1d7dd06 commit 71da30cae09d56a81fe43b8c65b9dfeea1d7dd06 Author: Nils Gladitz nilsglad...@gmail.com AuthorDate: Mon Oct 6 22:29:09 2014 +0200 Commit: Nils Gladitz nilsglad...@gmail.com CommitDate: Mon Oct 6 22:29:09 2014 +0200 Ninja: Fix variable duplication in RSP rules Stream clear() resets stream state but does not actually clear its content. diff --git a/Source/cmGlobalNinjaGenerator.cxx b/Source/cmGlobalNinjaGenerator.cxx index 543ecdb..f391203 100644 --- a/Source/cmGlobalNinjaGenerator.cxx +++ b/Source/cmGlobalNinjaGenerator.cxx @@ -205,7 +205,7 @@ void cmGlobalNinjaGenerator::WriteBuild(std::ostream os, args.size() + buildstr.size() + assignments.size() (size_t) cmdLineLimit) { buildstr += _RSP_FILE; -variable_assignments.clear(); +variable_assignments.str(std::string()); cmGlobalNinjaGenerator::WriteVariable(variable_assignments, RSP_FILE, rspfile, , 1); assignments += variable_assignments.str(); --- Summary of changes: Source/cmGlobalNinjaGenerator.cxx |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, master, updated. v3.0.2-1989-gb8f1947
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, master has been updated via b8f194732f788bb1090437100efda7695295c279 (commit) from 3f9191932262f2279a7d25bf0dbb2fc224bd27cb (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b8f194732f788bb1090437100efda7695295c279 commit b8f194732f788bb1090437100efda7695295c279 Author: Kitware Robot kwro...@kitware.com AuthorDate: Tue Oct 7 00:01:08 2014 -0400 Commit: Kitware Robot kwro...@kitware.com CommitDate: Tue Oct 7 00:01:08 2014 -0400 CMake Nightly Date Stamp diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake index 253beba..cb57761 100644 --- a/Source/CMakeVersion.cmake +++ b/Source/CMakeVersion.cmake @@ -1,5 +1,5 @@ # CMake version number components. set(CMake_VERSION_MAJOR 3) set(CMake_VERSION_MINOR 0) -set(CMake_VERSION_PATCH 20141006) +set(CMake_VERSION_PATCH 20141007) #set(CMake_VERSION_RC 1) --- Summary of changes: Source/CMakeVersion.cmake |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.0.2-5631-gff01a61
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via ff01a61060dedea83dfba83bf636dabd85d89c61 (commit) via 36c509b9c23725a9e731b4f68a5bfb209bf3cfa1 (commit) via b8f194732f788bb1090437100efda7695295c279 (commit) from 05d793389215d5f80e7b4e444ecb1452250e6cbb (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ff01a61060dedea83dfba83bf636dabd85d89c61 commit ff01a61060dedea83dfba83bf636dabd85d89c61 Merge: 05d7933 36c509b Author: Clinton Stimpson clin...@elemtech.com AuthorDate: Tue Oct 7 00:31:58 2014 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Tue Oct 7 00:31:58 2014 -0400 Merge topic 'rpath-osx-10_6' into next 36c509b9 OSX: Only enable @rpath support on OS X 10.6 or greater. b8f19473 CMake Nightly Date Stamp http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=36c509b9c23725a9e731b4f68a5bfb209bf3cfa1 commit 36c509b9c23725a9e731b4f68a5bfb209bf3cfa1 Author: Clinton Stimpson clin...@elemtech.com AuthorDate: Mon Oct 6 22:24:10 2014 -0600 Commit: Clinton Stimpson clin...@elemtech.com CommitDate: Mon Oct 6 22:24:10 2014 -0600 OSX: Only enable @rpath support on OS X 10.6 or greater. Even though 10.5 supports @rpath, the support is not complete enough for CMake. For instance, install_name_tool doesn't support adding and removing rpaths. diff --git a/Modules/Platform/Darwin.cmake b/Modules/Platform/Darwin.cmake index e5c5f36..6a6b338 100644 --- a/Modules/Platform/Darwin.cmake +++ b/Modules/Platform/Darwin.cmake @@ -30,8 +30,8 @@ set(CMAKE_SHARED_MODULE_SUFFIX .so) set(CMAKE_MODULE_EXISTS 1) set(CMAKE_DL_LIBS ) -# Enable rpath support for 10.5 and greater where it is known to work. -if(${DARWIN_MAJOR_VERSION} GREATER 8) +# Enable rpath support for 10.6 and greater where it is known to work. +if(${DARWIN_MAJOR_VERSION} GREATER 9) set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG -Wl,-rpath,) endif() diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index b476a27..cc7d38b 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@ -3742,7 +3742,7 @@ bool cmTarget::HasMacOSXRpathInstallNameDir(const std::string config) const } w without CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG being set.; wThis could be because you are using a Mac OS X version; -w less than 10.5 or because CMake's platform configuration is; +w less than 10.6 or because CMake's platform configuration is; w corrupt.; cmake* cm = this-Makefile-GetCMakeInstance(); cm-IssueMessage(cmake::FATAL_ERROR, w.str(), this-GetBacktrace()); --- Summary of changes: Modules/Platform/Darwin.cmake |4 ++-- Source/CMakeVersion.cmake |2 +- Source/cmTarget.cxx |2 +- 3 files changed, 4 insertions(+), 4 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits