Commit Graph

44330 Commits

Author SHA1 Message Date
Robert Maynard 98164b707f Tutorial: MultiPackage now correctly compiles 2019-07-25 07:34:41 -04:00
Brad King a1c6d7e9af Merge branch 'release-3.15' 2019-07-25 07:27:14 -04:00
Brad King 9111590aca Merge topic 'ninja-swift-map-file-path'
3391a3eca8 Ninja: do not normalise swift support file paths

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3597
2019-07-25 07:21:18 -04:00
Brad King c173ed1184 Merge topic 'makefile-depend-relative-include'
d46bac5d38 Makefile: Fix regression in dependencies on relative includes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3599
2019-07-25 07:20:09 -04:00
Brad King 6e0d92cc53 Merge topic 'clang-gnulike-support'
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
2019-07-25 07:17:22 -04:00
Brad King 070a5e3835 Merge branch 'makefile-depend-relative-include' into release-3.15
Merge-request: !3599
2019-07-25 07:15:42 -04:00
Kitware Robot 00be1957da CMake Nightly Date Stamp 2019-07-25 00:01:08 -04:00
Brad King 156f4c2f80 Merge topic 'find_pkg_use_new_global_controls'
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
2019-07-24 11:55:03 -04:00
Brad King 47777942a5 Merge topic 'math_exp_not'
d427f12b73 math(EXPR): Implement ~(exp_NOT) expression as documented

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3582
2019-07-24 11:53:54 -04:00
Brad King d46bac5d38 Makefile: Fix regression in dependencies on relative includes
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
2019-07-24 11:37:31 -04:00
Brad King a96363f899 Merge branch 'release-3.15' 2019-07-24 08:16:44 -04:00
Brad King 3a3e59617a Merge topic 'fix-emulator-arguments'
bf6f5467a0 Fix allocation in CROSSCOMPILING_EMULATOR evaluation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3591
2019-07-24 08:16:10 -04:00
Brad King 420073e536 Merge branch 'backport-clang-gnulike-support' into release-3.15
Merge-request: !3592
2019-07-24 08:12:51 -04:00
Brad King a4657ef670 Merge branch 'backport-clang-gnulike-support' into clang-gnulike-support 2019-07-24 08:04:52 -04:00
Brad King 161b33f12b Help/guide/tutorial: Revert "require C++14 for the Tutorial"
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.
2019-07-24 08:04:20 -04:00
Brad King 4f15a6a5c2 Tests: Revert "require C++14 for the Tutorial"
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.
2019-07-24 08:02:37 -04:00
Brad King 5cfc39127e Merge branch 'backport-clang-gnulike-support' into clang-gnulike-support 2019-07-24 08:00:53 -04:00
Brad King d50b31be35 Clang: For MSVC ABI do not use modes older than C++14
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
2019-07-24 07:40:30 -04:00
Kitware Robot 1f618fae4d CMake Nightly Date Stamp 2019-07-24 00:01:09 -04:00
Saleem Abdulrasool 3391a3eca8 Ninja: do not normalise swift support file paths
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.
2019-07-23 17:56:19 -07:00
Brad King 07b93cb185 Merge branch 'fix-emulator-arguments' into release-3.15
Merge-request: !3591
2019-07-23 08:38:57 -04:00
Marek Antoniak bf6f5467a0 Fix allocation in CROSSCOMPILING_EMULATOR evaluation
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>
2019-07-23 08:33:31 -04:00
Brad King a1debb8b08 Merge branch 'release-3.15' 2019-07-23 07:38:54 -04:00
Brad King 452419efb9 Merge topic 'InstallRequiredSystemLibraries-redist'
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
2019-07-23 07:38:12 -04:00
Gabor Bencze d427f12b73 math(EXPR): Implement ~(exp_NOT) expression as documented
Fixes: #19252
2019-07-23 07:33:50 -04:00
Brad King 59b3000c08 Merge topic 'parsers-bison-3.3'
8f0b3f92d5 LexerParser: Regenerate parsers with bison 3.3

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3588
2019-07-23 07:33:23 -04:00
Brad King dcd4d3e9bf Merge topic 'cmHasLiteralPrefix_cm_string_view'
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
2019-07-23 07:32:30 -04:00
Brad King 5396c5fce4 Merge topic 'make-imported-targets-more-equal'
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
2019-07-23 07:30:53 -04:00
Brad King 6f476a4169 Merge topic 'command-refactoring3'
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
2019-07-23 07:29:11 -04:00
Brad King 75c99bfb21 Merge topic 'ssl-warning'
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
2019-07-23 07:26:33 -04:00
Kitware Robot 63dfa74f5f CMake Nightly Date Stamp 2019-07-23 00:01:08 -04:00
Robert Maynard 609fe39043 FindPackage: Support NO_[]_PATH global call options 2019-07-22 17:17:02 -04:00
Robert Maynard ff29c92df6 Tests: find_file restore PATH env variable after test runs 2019-07-22 17:17:02 -04:00
Avraham Shukron 680a3c63bb target_*: Allow setting INTERFACE properties of UNKNOWN IMPORTED targets
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
2019-07-22 10:23:39 -04:00
Brad King 4cac01c63a Merge branch 'InstallRequiredSystemLibraries-redist' into release-3.15
Merge-request: !3585
2019-07-22 10:20:06 -04:00
James Butler 13c3ec545b IRSL: Fix discovery of VS 2019 v141 toolset redistributables
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
2019-07-22 10:06:45 -04:00
James Butler 0484165da0 IRSL: Fix typo in v143 toolset version check
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.
2019-07-22 10:06:44 -04:00
Sebastian Holtermann 301f5356fd cmAlgorithms: Make cmHasPrefix and cmHasSuffix cm::string_view based
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.
2019-07-22 16:04:22 +02:00
Regina Pfeifer dfaa87f1b3 cmState: Support BuiltinCommands as free functions 2019-07-22 15:27:56 +02:00
Brad King 4cd039b78a Merge topic 'bootstrap-c++14'
9dfb66372e bootstrap: Verify C++14 capabilities before using them

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3587
2019-07-22 09:04:11 -04:00
Avraham Shukron 62b5d1e4ad cmTargetPropCommandBase: Order target type condition by order in enum
This improves readability.
2019-07-22 08:53:52 -04:00
Brad King 8f0b3f92d5 LexerParser: Regenerate parsers with bison 3.3
Run `Utilities/Scripts/regenerate-parsers.bash`.
2019-07-22 08:45:40 -04:00
Brad King dbffd2f4d5 Merge topic 'refactor-processhandler'
ae2cfc4bd8 Refactor: Break cmCTestTestHandler::ProcessHandler() into smaller functions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3580
2019-07-22 08:21:26 -04:00
Brad King c1cb4945f3 Merge topic 'tutorial_reference_cmake_install_command'
c94e62c07e Tutorial: Updated to reference using cmake --install

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3572
2019-07-22 08:20:34 -04:00
Brad King 303cf2791a Merge topic 'doc-string-multibyte'
b97673f54b Help: Add note to each string() subcommand that assumes ASCII input
26cd64d977 Help: Fix language and formatting inconsistencies for string() command

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3559
2019-07-22 08:19:39 -04:00
Brad King 827b498a02 Merge topic 'static-library-flags'
59f2aa63e4 Swift: fix static library handling

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3576
2019-07-22 08:18:43 -04:00
Brad King aaf3859e0a Merge topic 'refactor-usage-requirements'
2682714a3f cmGeneratorTarget: Refactor usage requirement genex evaluation
3cbc15773f cmGeneratorTarget: Move static functions to anonymous namespace
33494a507d cmGeneratorTarget: Order usage requirement processing logic consistently
c131e62f7b cmGeneratorTarget: Remove unnecessary copy to local variable
fab72918c9 cmGeneratorTarget: Remove unused member of internal class
95d3598e04 cmGeneratorExpressionDAGChecker: Avoid const_cast

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Marc Chevrier <marc.chevrier@gmail.com>
Merge-request: !3578
2019-07-22 08:17:41 -04:00
Craig Scott 9e42075498 Merge topic 'cpack-install-scripts'
5f96601675 CPack: Introduce CPACK_INSTALL_SCRIPTS variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3531
2019-07-22 07:04:00 -04:00
Craig Scott f4131e4e1b Merge topic 'feature/message-indent'
5f6fd917a3 message(): Control indentation via CMAKE_MESSAGE_INDENT

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3464
2019-07-22 07:02:50 -04:00
Kitware Robot f3bbbb42f1 CMake Nightly Date Stamp 2019-07-22 00:01:06 -04:00