summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'upstream-KWSys' into update-kwsysBrad King2019-07-254-15/+22
|\ | | | | | | | | * upstream-KWSys: KWSys 2019-07-25 (a24a6acb)
| * KWSys 2019-07-25 (a24a6acb)KWSys Upstream2019-07-255-18/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Code extracted from: https://gitlab.kitware.com/utils/kwsys.git at commit a24a6acbbb4a51cf6fefbeb10d1f63ed1b670c69 (master). Upstream Shortlog ----------------- Brad King (3): 15896025 SystemTools: Use C++11 in SystemToolsAppendComponents c6f8e24a SystemTools: Fix CollapseFullPath with relative base path 5ca03af6 SystemTools: Revert "Reduce scope of 'buf' variable in CollapseFullPath" David Bodnar (5): 116a4919 RegularExpression: Reduce scope of 'len' variable 31f5cdeb RegularExpression: Initialize private members on construction 6e36d909 SystemTools: Reduce scope of 'buf' variable in CollapseFullPath a93bc28c SystemTools: Drop unnecessary .c_str() 6c3dfd25 CommandLineArguments: initialize internal class members directly
* | Merge branch 'release-3.15'Brad King2019-07-250-0/+0
|\ \
| * \ Merge branch 'makefile-depend-relative-include' into release-3.15Brad King2019-07-257-4/+47
| |\ \ | | | | | | | | | | | | Merge-request: !3599
| * \ \ Merge branch 'backport-clang-gnulike-support' into release-3.15Brad King2019-07-2420-43/+42
| |\ \ \ | | | | | | | | | | | | | | | Merge-request: !3592
* | \ \ \ Merge topic 'ninja-swift-map-file-path'Brad King2019-07-251-2/+2
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3391a3eca8 Ninja: do not normalise swift support file paths Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3597
| * | | | | Ninja: do not normalise swift support file pathsSaleem Abdulrasool2019-07-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When building the output-map-file.json, do not convert the path to a Ninja path, which will make it relative. If `cmake` is invoked with the `-B` option the files will be written relative to the directory where CMake was invoked rather than relative to the build tree. This path need not be a relative path since it is used internally by CMake to determine where to write the output map file. This allows the use of `-B` option in CMake in projects with Swift targets.
* | | | | | Merge topic 'makefile-depend-relative-include'Brad King2019-07-257-4/+47
|\ \ \ \ \ \ | | |_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | d46bac5d38 Makefile: Fix regression in dependencies on relative includes Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3599
| * | | | | Makefile: Fix regression in dependencies on relative includesBrad King2019-07-247-4/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit a13a5c948e (Replace use of CollapseCombinedPath with CollapseFullPath, 2019-03-19, v3.15.0-rc1~361^2~1), one code path now calls `CollapseFullPath` with a base path that may be relative. Backport KWSys commit c6f8e24a3 (SystemTools: Fix CollapseFullPath with relative base path, 2019-07-24) to handle such base paths. This case occurs when a build tree is placed in a directory inside a source tree such that CMake is willing to generate a relative path from the build tree to the source tree. Add a test covering this case. Fixes: #19507
* | | | | | Merge topic 'clang-gnulike-support'Brad King2019-07-2519-42/+39
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a4657ef670 Merge branch 'backport-clang-gnulike-support' into clang-gnulike-support 161b33f12b Help/guide/tutorial: Revert "require C++14 for the Tutorial" 4f15a6a5c2 Tests: Revert "require C++14 for the Tutorial" 5cfc39127e Merge branch 'backport-clang-gnulike-support' into clang-gnulike-support d50b31be35 Clang: For MSVC ABI do not use modes older than C++14 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3592
| * \ \ \ \ \ Merge branch 'backport-clang-gnulike-support' into clang-gnulike-supportBrad King2019-07-240-0/+0
| |\ \ \ \ \ \ | | | |_|_|/ / | | |/| | | |
| | * | | | | Tests: Revert "require C++14 for the Tutorial"Brad King2019-07-2413-13/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert commit a2a90f41e3 (Tests: require C++14 for the Tutorial, 2019-03-21, v3.15.0-rc1~41^2~2). In commit d50b31be35 (Clang: For MSVC ABI do not use modes older than C++14, 2019-07-23) we fixed the C++ standard selection for GNU-like Clang with the MSVC ABI so the test code itself no longer needs to do it. In particular, changing the tests in this way broke the tutorial's narrative.
| * | | | | | Help/guide/tutorial: Revert "require C++14 for the Tutorial"Brad King2019-07-2412-12/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert the changes from commit a2a90f41e3 (Tests: require C++14 for the Tutorial, 2019-03-21, v3.15.0-rc1~41^2~2) for the content in its new home. In commit d50b31be35 (Clang: For MSVC ABI do not use modes older than C++14, 2019-07-23) we fixed the C++ standard selection for GNU-like Clang with the MSVC ABI so the test code itself no longer needs to do it. In particular, changing the tests in this way broke the tutorial's narrative.
| * | | | | | Merge branch 'backport-clang-gnulike-support' into clang-gnulike-supportBrad King2019-07-247-30/+15
| |\ \ \ \ \ \ | | |/ / / / /
| | * | | | | Clang: For MSVC ABI do not use modes older than C++14Brad King2019-07-247-30/+15
| | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit d44c0db0b2 (clang: setup correct configuration in gnu mode, 2019-02-20, v3.15.0-rc1~41^2~5) we support the GNU-like Clang that targets the MSVC ABI. However, Clang cannot compile with the MSVC standard library unless it runs in a mode aware of C++14 (since MSVC itself does not even have a lower mode). When `CMAKE_CXX_STANDARD` is set to 98 or 11, use C++14 anyway. Since Clang's default mode is aware of C++14, another option is to not add any flags for 98 or 11. However, if a future Clang version ever defaults to a higher C++ standard, setting the standard to 98 or 11 should at least not use a mode higher than 14. Also revert test updates from commit 4819ff9647 (Tests: fix failures with gnu mode clang on windows, 2019-03-21, v3.15.0-rc1~41^2~3) that were meant to work around the standard selection problem. Fixes: #19496
* | | | | | CMake Nightly Date StampKitware Robot2019-07-251-1/+1
| | | | | |
* | | | | | Merge topic 'find_pkg_use_new_global_controls'Brad King2019-07-2414-12/+98
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 609fe39043 FindPackage: Support `NO_[]_PATH` global call options ff29c92df6 Tests: find_file restore PATH env variable after test runs Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3590
| * | | | | | FindPackage: Support `NO_[]_PATH` global call optionsRobert Maynard2019-07-2213-12/+96
| | | | | | |
| * | | | | | Tests: find_file restore PATH env variable after test runsRobert Maynard2019-07-221-0/+2
| | | | | | |
* | | | | | | Merge topic 'math_exp_not'Brad King2019-07-244-59/+75
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d427f12b73 math(EXPR): Implement ~(exp_NOT) expression as documented Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3582
| * | | | | | | math(EXPR): Implement ~(exp_NOT) expression as documentedGabor Bencze2019-07-234-59/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: #19252
* | | | | | | | Merge branch 'release-3.15'Brad King2019-07-240-0/+0
|\ \ \ \ \ \ \ \ | | |_|_|_|_|/ / | |/| | | | | |
| * | | | | | | Merge branch 'fix-emulator-arguments' into release-3.15Brad King2019-07-232-1/+4
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge-request: !3591
* | \ \ \ \ \ \ \ Merge topic 'fix-emulator-arguments'Brad King2019-07-242-1/+4
|\ \ \ \ \ \ \ \ \ | | |/ / / / / / / | |/| | | / / / / | |_|_|_|/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | bf6f5467a0 Fix allocation in CROSSCOMPILING_EMULATOR evaluation Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3591
| * | | | | | | Fix allocation in CROSSCOMPILING_EMULATOR evaluationMarek Antoniak2019-07-232-1/+4
| | |_|_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit fec441ec17 (Teach CROSSCOMPILING_EMULATOR to support arguments, 2019-05-30, v3.15.0-rc1~6^2) the new member `cmCustomCommandGenerator::EmulatorsWithArguments` was not initialized to the proper size. Fix this and add a test case covering the crash that could occur with multiple commands where an emulator appears only in a later command. Fixes: #19500 Co-Author: Brad King <brad.king@kitware.com>
* | | | | | | CMake Nightly Date StampKitware Robot2019-07-241-1/+1
| |_|_|_|/ / |/| | | | |
* | | | | | Merge branch 'release-3.15'Brad King2019-07-230-0/+0
|\ \ \ \ \ \ | | |/ / / / | |/| | | |
| * | | | | Merge branch 'InstallRequiredSystemLibraries-redist' into release-3.15Brad King2019-07-221-6/+14
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | Merge-request: !3585
* | \ \ \ \ \ Merge topic 'InstallRequiredSystemLibraries-redist'Brad King2019-07-231-6/+14
|\ \ \ \ \ \ \ | | |/ / / / / | |/| | / / / | |_|_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | 13c3ec545b IRSL: Fix discovery of VS 2019 v141 toolset redistributables 0484165da0 IRSL: Fix typo in v143 toolset version check Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3585
| * | | | | IRSL: Fix discovery of VS 2019 v141 toolset redistributablesJames Butler2019-07-221-4/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since VS 2019, the v141 toolset redistributables can be found in either the VS 2019 or VS 2017 install directory. Update the logic to search multiple versions of VS. Fixes: #19488
| * | | | | IRSL: Fix typo in v143 toolset version checkJames Butler2019-07-221-2/+2
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | Fix the toolset v143 check from commit 33ee779330 (IRSL: Fix discovery of VS 2019 v142 toolset redistributables, 2019-04-03, v3.14.2~6^2) to check the correct variable.
* | | | | Merge topic 'parsers-bison-3.3'Brad King2019-07-238-1225/+1273
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8f0b3f92d5 LexerParser: Regenerate parsers with bison 3.3 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3588
| * | | | | LexerParser: Regenerate parsers with bison 3.3Brad King2019-07-228-1225/+1273
| | | | | | | | | | | | | | | | | | | | | | | | Run `Utilities/Scripts/regenerate-parsers.bash`.
* | | | | | Merge topic 'cmHasLiteralPrefix_cm_string_view'Brad King2019-07-231-9/+28
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 301f5356fd cmAlgorithms: Make cmHasPrefix and cmHasSuffix cm::string_view based Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Daniel Pfeifer <daniel@pfeifer-mail.de> Merge-request: !3583
| * | | | | | cmAlgorithms: Make cmHasPrefix and cmHasSuffix cm::string_view basedSebastian Holtermann2019-07-221-9/+28
| | |_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make `cmHasPrefix`, `cmHasSuffix` and `cmStripSuffixIfExists` accept arguments as `cm::string_view` instead of `const std::string&`. This lets them accept literal strings without having to allocate a temporary `std::string`. Add variants of `cmHasPrefix`, `cmHasSuffix` and `cmStripSuffixIfExists` that accept a single character as second argument.
* | | | | | Merge topic 'make-imported-targets-more-equal'Brad King2019-07-234-4/+17
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 680a3c63bb target_*: Allow setting INTERFACE properties of UNKNOWN IMPORTED targets 62b5d1e4ad cmTargetPropCommandBase: Order target type condition by order in enum Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3581
| * | | | | | target_*: Allow setting INTERFACE properties of UNKNOWN IMPORTED targetsAvraham Shukron2019-07-224-2/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extend the change made by commit fe4b25ec2f (Teach target_* commands to set INTERFACE properties of IMPORTED targets, 2017-09-18, v3.11.0-rc1~433^2~2) to work with imported targets of type `UNKNOWN`. Fixes: #19434
| * | | | | | cmTargetPropCommandBase: Order target type condition by order in enumAvraham Shukron2019-07-221-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This improves readability.
* | | | | | | Merge topic 'command-refactoring3'Brad King2019-07-2329-383/+244
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dfaa87f1b3 cmState: Support BuiltinCommands as free functions 28f2d12a05 cmCommand: De-virtualize function InvokeInitialPass de77d355ac cmState: Add scripted commands by value 0101ace131 cmUnexpectedCommand: Replace with lambda expression 015001aaf1 cmState: Hold commands by value 1eebc29563 cmCommand: deprecate functions GetMakefile and SetError Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3574
| * | | | | | | cmState: Support BuiltinCommands as free functionsRegina Pfeifer2019-07-227-62/+34
| | | | | | | |
| * | | | | | | cmCommand: De-virtualize function InvokeInitialPassRegina Pfeifer2019-07-216-86/+24
| | | | | | | |
| * | | | | | | cmState: Add scripted commands by valueRegina Pfeifer2019-07-215-89/+50
| | | | | | | |
| * | | | | | | cmUnexpectedCommand: Replace with lambda expressionRegina Pfeifer2019-07-216-70/+22
| | | | | | | |
| * | | | | | | cmState: Hold commands by valueRegina Pfeifer2019-07-216-39/+69
| | | | | | | |
| * | | | | | | cmCommand: deprecate functions GetMakefile and SetErrorDaniel Pfeifer2019-07-2114-45/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace the members for the Makefile and the Error with a cmExecutionStatus. Re-implement GetMakefile and SetError based on that. Both functions should be called directly on the cmExecutionStatus that is passed to InitialPass. This will help us make all Commands immutable and remove the need for cloning.
* | | | | | | | Merge topic 'ssl-warning'Brad King2019-07-232-5/+7
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dd3e476786 OpenSSL: Issue an error if OpenSSL is not found Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Brad King <brad.king@kitware.com> Merge-request: !3565
| * | | | | | | | OpenSSL: Issue an error if OpenSSL is not foundKyle Edwards2019-07-182-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When building with the built-in Curl, CMAKE_USE_OPENSSL is only set to ON by default if an OpenSSL installation is detected. However, this can cause the user to mistakenly build without OpenSSL support if OpenSSL is not installed, because CMAKE_USE_OPENSSL is set to OFF in that case. Always set CMAKE_USE_OPENSSL to ON by default on systems where it could be available, skipping the initial detection, resulting in an error when we try to use OpenSSL later on. Detect this error and advise the user to either install OpenSSL or set CMAKE_USE_OPENSSL to OFF. Co-Authored-by: Brad King <brad.king@kitware.com>
* | | | | | | | | CMake Nightly Date StampKitware Robot2019-07-231-1/+1
| |_|_|/ / / / / |/| | | | | | |
* | | | | | | | Merge topic 'bootstrap-c++14'Brad King2019-07-221-1/+20
|\ \ \ \ \ \ \ \ | |_|_|_|/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9dfb66372e bootstrap: Verify C++14 capabilities before using them Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3587
| * | | | | | | bootstrap: Verify C++14 capabilities before using themBrad King2019-07-181-1/+20
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit a605bf438e (Extend C++17/C++14 feature checks to cover more standard library APIs, 2019-02-27, cpp-modules-20190312.1~52^2~1) we added checks to the main build of CMake to verify C++14 capabilities before using C++14 flags to build. Add these to the bootstrap check too.