[cmake-developers] [CMake 0015629]: A way to install the command-line tool links from the command line would be useful
The following issue has been SUBMITTED. == http://public.kitware.com/Bug/view.php?id=15629 == Reported By:Guy Harris Assigned To: == Project:CMake Issue ID: 15629 Category: CMake Reproducibility:N/A Severity: feature Priority: normal Status: new == Date Submitted: 2015-06-23 17:56 EDT Last Modified: 2015-06-23 17:56 EDT == Summary:A way to install the command-line tool links from the command line would be useful Description: Now that you no longer have an installer package for OS X, the command-line tools have to be installed by running CMake through the GUI. For Wireshark, we have a script for OS X to install stuff for building Wireshark from source. That script downloads and installs CMake, which isn't *required* yet but is *supported* (and may eventually become the default or only tool for building). It'd be nice if it could run some program to install the command-line tools. (Wireshark also has command-line tools, but that's one of the reasons we *don't* do drag-install. The other is that we also install a launchd launch daemon to make it possible to capture traffic without root privileges.) == Issue History Date ModifiedUsername FieldChange == 2015-06-23 17:56 Guy Harris New Issue == -- 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-developers] [CMake 0015628]: CMake needs to request root privileges in order to install command-line tools
The following issue has been SUBMITTED. == http://public.kitware.com/Bug/view.php?id=15628 == Reported By:Guy Harris Assigned To: == Project:CMake Issue ID: 15628 Category: CMake Reproducibility:N/A Severity: minor Priority: normal Status: new == Date Submitted: 2015-06-23 17:52 EDT Last Modified: 2015-06-23 17:52 EDT == Summary:CMake needs to request root privileges in order to install command-line tools Description: Even if you try to install them in /usr/local/bin (which should be the case in *all* versions of OS X, and really needs to be the case in 10.11, as per the other issue I filed), you need root privileges to do so, and CMake doesn't do anything to install the symlinks as root. Steps to Reproduce: 1. Start CMake. 2. Select "Install For Command Line Use" from the "Tools" menu. 3. Fix it to install in /usr/local/bin rather than /usr/bin. 4. Click "Install Command Line Links". 5. Notice the lack of any prompt for your password, as would be required if it were requesting root privileges (and you hadn't done so in the last few minutes). 6. Notice the set of "Failed create symlink installation may be incomplete: /usr/local/bin/..." messages. == Issue History Date ModifiedUsername FieldChange == 2015-06-23 17:52 Guy Harris New Issue == -- 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-developers] [CMake 0015627]: CMake shouldn't default to installing command-line tools in /usr/bin
The following issue has been SUBMITTED. == http://public.kitware.com/Bug/view.php?id=15627 == Reported By:Guy Harris Assigned To: == Project:CMake Issue ID: 15627 Category: CMake Reproducibility:N/A Severity: minor Priority: normal Status: new == Date Submitted: 2015-06-23 17:48 EDT Last Modified: 2015-06-23 17:48 EDT == Summary:CMake shouldn't default to installing command-line tools in /usr/bin Description: /usr/bin is for Apple-supplied command-line tools, not third-party tools, just as /System/Library is for Applie-supplied software and /Library is for third-party software. Until El Capitan, you could get away with installing command-line tools in /usr/bin, although you needed to run with root privileges to do so, and if you upgrade to the next major release, /usr/bin gets reconstructed and you lose all the third-party tools installed there. In El Capitan, even root processes can't modify /usr/bin unless they're granted special entitlements (which Apple's unlikely to grant to third-party tools) or you're running with rootless mode turned off (which it isn't, by default, and you have to go through some effort to turn it off). You should default to installing in /usr/local/bin instead. Steps to Reproduce: 1. Start CMake. 2. Select "Install For Command Line Use" from the Tools menu. 3. Note the default target directory of /usr/bin. == Issue History Date ModifiedUsername FieldChange == 2015-06-23 17:48 Guy Harris New Issue == -- 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-developers] Add command line options for deprecation message control
Hi, I've implemented some changes to cmake.cxx and cmake.h, to implement setting the CMAKE_ERROR_DEPRECATED and CMAKE_WARN_DEPRECATED variables via command line options, for the Mantis issue 0014669, in a generic GCC style pattern. I've taken on board the previous suggestions, including adding tests for the new options and updating the cmake application options documentation. I've attached the proposed patch to this email, please let me know if there are any incorrect changes in the patch. Michael Scott From 2fc8c47ff2112a1f28d4f3c8513e29c94ecb6a9d Mon Sep 17 00:00:00 2001 From: Michael Scott Date: Sat, 13 Jun 2015 18:34:31 +0100 Subject: [PATCH] Refactored the -Wdev and -Wno-dev to use a generic -W parser, which follows the GCC pattern. Included support for setting CMAKE_ERROR_DEPRECATED and CMAKE_WARN_DEPRECATED via the deprecated warning. Added tests for new options and updated cmake application documentation to list new options. --- Help/manual/OPTIONS_BUILD.txt | 25 + Source/cmake.cxx | 107 + Source/cmake.h | 23 +++-- Tests/RunCMake/CommandLine/RunCMakeTest.cmake | 20 Tests/RunCMake/CommandLine/W_bad-arg1-result.txt | 1 + Tests/RunCMake/CommandLine/W_bad-arg1-stderr.txt | 2 + Tests/RunCMake/CommandLine/W_bad-arg2-result.txt | 1 + Tests/RunCMake/CommandLine/W_bad-arg2-stderr.txt | 2 + Tests/RunCMake/CommandLine/W_bad-arg3-result.txt | 1 + Tests/RunCMake/CommandLine/W_bad-arg3-stderr.txt | 2 + Tests/RunCMake/CommandLine/Wdeprecated-stderr.txt | 4 + Tests/RunCMake/CommandLine/Wdeprecated.cmake | 1 + .../CommandLine/Werror_deprecated-result.txt | 1 + .../CommandLine/Werror_deprecated-stderr.txt | 4 + Tests/RunCMake/CommandLine/Werror_deprecated.cmake | 1 + Tests/RunCMake/CommandLine/Wno-deprecated.cmake| 1 + .../CommandLine/Wno-error_deprecated.cmake | 1 + 17 files changed, 171 insertions(+), 26 deletions(-) create mode 100644 Tests/RunCMake/CommandLine/W_bad-arg1-result.txt create mode 100644 Tests/RunCMake/CommandLine/W_bad-arg1-stderr.txt create mode 100644 Tests/RunCMake/CommandLine/W_bad-arg2-result.txt create mode 100644 Tests/RunCMake/CommandLine/W_bad-arg2-stderr.txt create mode 100644 Tests/RunCMake/CommandLine/W_bad-arg3-result.txt create mode 100644 Tests/RunCMake/CommandLine/W_bad-arg3-stderr.txt create mode 100644 Tests/RunCMake/CommandLine/Wdeprecated-stderr.txt create mode 100644 Tests/RunCMake/CommandLine/Wdeprecated.cmake create mode 100644 Tests/RunCMake/CommandLine/Werror_deprecated-result.txt create mode 100644 Tests/RunCMake/CommandLine/Werror_deprecated-stderr.txt create mode 100644 Tests/RunCMake/CommandLine/Werror_deprecated.cmake create mode 100644 Tests/RunCMake/CommandLine/Wno-deprecated.cmake create mode 100644 Tests/RunCMake/CommandLine/Wno-error_deprecated.cmake diff --git a/Help/manual/OPTIONS_BUILD.txt b/Help/manual/OPTIONS_BUILD.txt index 4207db4..62eeb09 100644 --- a/Help/manual/OPTIONS_BUILD.txt +++ b/Help/manual/OPTIONS_BUILD.txt @@ -84,3 +84,28 @@ Enable warnings that are meant for the author of the CMakeLists.txt files. + +``-Wdeprecated`` + Enable deprecated macro and function warnings. + + Enable warnings for usage of deprecated macros and functions, that are meant + for the author of the CMakeLists.txt files. + +``-Wno-deprecated`` + Suppress deprecated macro and function warnings. + + Suppress warnings for usage of deprecated macros and functions, that are meant + for the author of the CMakeLists.txt files. + +``-Werror=deprecated`` + Make deprecated macro and function warnings errors. + + Make warnings for usage of deprecated macros and functions, that are meant + for the author of the CMakeLists.txt files, errors. + +``-Wno-error=deprecated`` + Make deprecated macro and function warnings not errors. + + Make warnings for usage of deprecated macros and functions, that are meant + for the author of the CMakeLists.txt files, not errors. + \ No newline at end of file diff --git a/Source/cmake.cxx b/Source/cmake.cxx index eeb6575..54317ae 100644 --- a/Source/cmake.cxx +++ b/Source/cmake.cxx @@ -125,8 +125,6 @@ cmake::cmake() this->WarnUnused = false; this->WarnUnusedCli = true; this->CheckSystemVars = false; - this->SuppressDevWarnings = false; - this->DoSuppressDevWarnings = false; this->DebugOutput = false; this->DebugTryCompile = false; this->ClearBuildSystem = false; @@ -251,15 +249,69 @@ bool cmake::SetCacheArgs(const std::vector& args) return false; } } -else if(arg.find("-Wno-dev",0) == 0) +else if(cmHasLiteralPrefix(arg, "-W")) { - this->SuppressDevWarnings = true; - this->DoSuppressDevWarnings = true; + std::string entry = arg.substr(2); + if (entry.empty()) +{ +++i; +if (i < args.size()) +
[cmake-developers] [CMake 0015626]: 3.3-rc2 segfault (regression)
The following issue has been SUBMITTED. == https://public.kitware.com/Bug/view.php?id=15626 == Reported By:Andrew Fuller Assigned To: == Project:CMake Issue ID: 15626 Category: CMake Reproducibility:always Severity: crash Priority: high Status: new == Date Submitted: 2015-06-23 13:49 EDT Last Modified: 2015-06-23 13:49 EDT == Summary:3.3-rc2 segfault (regression) Description: Manipulating a target that was first created in a different directory branch causes a segfault. Steps to Reproduce: 1. Create the following CMake files: $ tree . ├── CMakeLists.txt ├── dirA │ └── CMakeLists.txt └── dirB └── CMakeLists.txt $ cat CMakeLists.txt add_subdirectory( dirA ) add_subdirectory( dirB ) $ cat dirA/CMakeLists.txt add_library( foo INTERFACE ) $ cat dirB/CMakeLists.txt target_link_libraries( foo INTERFACE ${CMAKE_DL_LIBS} ) 2. Configure $ mkdir build && cd build && cmake .. [...] [1]6691 segmentation fault (core dumped) cmake .. Additional Information: This works fine with CMake 3.2.1. == Issue History Date ModifiedUsername FieldChange == 2015-06-23 13:49 Andrew Fuller New Issue == -- 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] Incorrect path handling in generation of export files
On 06/22/2015 05:00 PM, Dan Liew wrote: > One of the libraries listed in the INTERFACE_LINK_LIBRARIES has > invalid syntax because the slashes have not been escaped. I believe > the correct solution would be to have CMake convert all paths to CMake > style paths before writing them to export files. If we were to take that approach the conversion would need to take place much earlier so that the in-build targets behave the same way. For now the simplest thing to do is fix the escaping of the export files because that needs to be done anyway. > Source/cmExportFileGenerator.cxx > Source/cmExportBuildFileGenerator.cxx > Source/cmExportInstallFileGenerator.cxx > > in the CMake source tree. There are several places that just generate > double quotes around a raw value that should instead use EscapeForCMake. Here is a fix and a test: Export: Escape exported property values when writing CMake language files http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c47cc249 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] Add command line options for deprecation message control
On 06/22/2015 03:56 PM, Michael Scott wrote: > the actual and expected values are identical. Why would this happen? The expected value file is actually a regular expression that must match the actual value. This allows it to tolerate path differences and other minor variations in the actual output. Any regex meta-chars need to be escaped in the -stderr.txt file. Take a look at the code in Tests/RunCMake/RunCMake.cmake to see the transformations done. 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