44488 Commits

Author SHA1 Message Date
Igor Ivanov
3c94069660 Add --trace-redirect parameter to redirect trace output to a file 2019-08-10 11:41:53 +03:00
Brad King
2327cc0e05 Merge topic 'control-block3'
41364824ad cmFunctionBlocker: Recycle functions
6491270e0d cmFunctionBlocker: Move check for matching args
af24e4ef6e cmFunctionBlocker: Move common logic to base
ef38ff22f7 cm*FunctionBlocker: Extract function Replay
b51fba6298 cmMakefile: Add OnExecuteCommand callback
c76500949d cm*FunctionBlocker: Move to source file

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3632
2019-08-05 10:42:50 -04:00
Brad King
c969d4628b Merge topic 'cleanup_cmake_constructor'
0962589627 cmake: Initialize booleans at declaration and cleanup constructor

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3646
2019-08-05 10:40:46 -04:00
Brad King
e0f735f8f5 Merge topic 'shared-deps-no-iface'
d75cad01f0 Fix rpath-link for shared lib with only private deps
4b2e1fc9ee cmGeneratorTarget: Use local var to de-duplicate CMP0022 checks
94648953be cmLinkItem: Simplify tracking of whether link interface is explicit

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3642
2019-08-05 10:37:47 -04:00
Brad King
26a3bccb60 Merge topic 'link-library-file-flag'
f6d6dbc293 Make CMAKE_LINK_LIBRARY_FILE_FLAG work like CMAKE_LINK_LIBRARY_FLAG

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3641
2019-08-05 10:31:18 -04:00
Brad King
e9ade44cb1 Merge branch 'release-3.15' 2019-08-05 10:27:47 -04:00
Brad King
7eb2fd6ca6 Merge topic 'fileapi-install-generators'
d70a0f8681 fileapi: Fix codemodel target install destination for cross-dir rules

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3639
2019-08-05 10:20:27 -04:00
Kitware Robot
3ebd3fa51d CMake Nightly Date Stamp 2019-08-05 00:01:06 -04:00
Kitware Robot
18a0d47bec CMake Nightly Date Stamp 2019-08-04 00:01:07 -04:00
Sebastian Holtermann
0962589627 cmake: Initialize booleans at declaration and cleanup constructor 2019-08-03 11:44:38 +02:00
Kitware Robot
2a5d077a89 CMake Nightly Date Stamp 2019-08-03 00:01:09 -04:00
Brad King
d75cad01f0 Fix rpath-link for shared lib with only private deps
Under CMP0022 NEW behavior, the link interface is explicit even if there
are no public dependencies (`INTERFACE_LINK_LIBRARIES` is not set).
Mark it as such to activate our tracking of private runtime dependencies
of shared libraries for generation of `-rpath-link` flags.

Fixes: #19556
2019-08-02 14:50:57 -04:00
Brad King
4b2e1fc9ee cmGeneratorTarget: Use local var to de-duplicate CMP0022 checks 2019-08-02 14:48:34 -04:00
Brad King
94648953be cmLinkItem: Simplify tracking of whether link interface is explicit
We now only need a boolean.
2019-08-02 14:43:16 -04:00
Brad King
f6d6dbc293 Make CMAKE_LINK_LIBRARY_FILE_FLAG work like CMAKE_LINK_LIBRARY_FLAG
The `CMAKE_LINK_LIBRARY_FILE_FLAG` variable is meant for linkers that
want library file paths to be preceded by a flag.  This is used only
for OpenWatcom to add the `library` argument before library file paths.
Refactor the approach to treat `CMAKE_LINK_LIBRARY_FILE_FLAG` as a
command-line string fragment to add just before the library file path.
This has two advantages:

* `CMAKE_LINK_LIBRARY_FILE_FLAG` now works like `CMAKE_LINK_LIBRARY_FLAG`.
* `CMAKE_LINK_LIBRARY_FILE_FLAG` can now be an attached flag whose value
  is the library file path.

Technically this is a change in behavior, but this setting was created
for internal use and should be rarely used outside of CMake itself.

Fixes: #19541
2019-08-02 13:37:39 -04:00
Brad King
edca8d5c3a Merge branch 'fileapi-install-generators' into release-3.15
Merge-request: !3639
2019-08-02 11:06:22 -04:00
Brad King
7bacf0233b Merge topic 'use_cmHasPrefix'
a693e875db Cleanups: Use cmHas{Prefix,Suffix} instead of String{Starts,Ends}With

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3637
2019-08-02 10:56:59 -04:00
Brad King
94f7d19a98 Merge topic 'cmStringAlgorithms_modernize'
4aa555f9da Tests: Add CMakeLib.testStringAlgorithms test
75cf7ec263 cmStringAlgorithms: Modernize cmWrap using cm::string_view
e5d3ea22d4 cmStringAlgorithms: Add cmCatViews and cmStrCat functions
a7d0fe9c24 cmStringAlgorithms: Simplify cmJoin using cm::string_view
541361a58b cmStringAlgorithms: Simplify cmStrCmp using cm::string_view

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3628
2019-08-02 10:55:39 -04:00
Brad King
97d9876c78 Merge branch 'release-3.15' 2019-08-02 10:38:26 -04:00
Brad King
fa722a8792 Merge topic 'clang-cl-non-windows'
863f7eb6d7 clang: Restore support for clang-cl on non-Windows hosts

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3634
2019-08-02 10:37:57 -04:00
Kitware Robot
a1e32626f7 CMake Nightly Date Stamp 2019-08-02 00:01:05 -04:00
Sebastian Holtermann
a693e875db Cleanups: Use cmHas{Prefix,Suffix} instead of String{Starts,Ends}With 2019-08-01 13:33:00 +02:00
Sebastian Holtermann
4aa555f9da Tests: Add CMakeLib.testStringAlgorithms test 2019-08-01 11:45:04 +02:00
Sebastian Holtermann
75cf7ec263 cmStringAlgorithms: Modernize cmWrap using cm::string_view 2019-08-01 11:45:04 +02:00
Sebastian Holtermann
e5d3ea22d4 cmStringAlgorithms: Add cmCatViews and cmStrCat functions 2019-08-01 11:45:04 +02:00
Sebastian Holtermann
a7d0fe9c24 cmStringAlgorithms: Simplify cmJoin using cm::string_view 2019-08-01 10:38:12 +02:00
Sebastian Holtermann
541361a58b cmStringAlgorithms: Simplify cmStrCmp using cm::string_view 2019-08-01 10:38:12 +02:00
Kitware Robot
33d9a69130 CMake Nightly Date Stamp 2019-08-01 00:01:08 -04:00
Brad King
d70a0f8681 fileapi: Fix codemodel target install destination for cross-dir rules
Since commit e89ad0f94e (install: Allow installing targets created in
another directory, 2018-06-18, v3.13.0-rc1~407^2) we support calling
`install(TARGETS)` for targets created in another directory.  However,
install generators are associated with the directory in which the call
to `install()` appears.  This may not be the same directory in which the
target is defined.  Record in each target the list of install generators
it has.

Fixes: #19546
2019-07-31 19:32:55 -04:00
Regina Pfeifer
41364824ad cmFunctionBlocker: Recycle functions 2019-07-31 13:22:42 -04:00
Brad King
1ea751c8d1 Merge branch 'clang-cl-non-windows' into release-3.15
Merge-request: !3634
2019-07-31 13:04:03 -04:00
Brad King
863f7eb6d7 clang: Restore support for clang-cl on non-Windows hosts
The frontend variant detection logic added by commit 53fbe23f3f (clang:
introduce CMAKE_<lang>_COMPILER_FRONTEND_VARIANT, 2019-02-20,
v3.15.0-rc1~41^2~8) assumes that `clang-cl` only runs on a Windows host.
It is also available on non-Windows hosts.  Fix the condition.

Fixes: #19544
2019-07-31 12:52:35 -04:00
Brad King
1672d3d5a5 Merge topic 'clang-tidy-8'
4af094c8df clang-tidy: Blacklist violations for version 8

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3627
2019-07-31 11:54:28 -04:00
Brad King
403b6b3bc3 Merge topic 'fileapi-optimize'
b61fcdc8bc fileapi: Compute codemodel compile groups without target-wide settings
e337e60a50 fileapi: Compute codemodel compile groups before converting to Json
d89c0ecf79 fileapi: Generate codemodel Json backtraces earlier
833d9eae4e fileapi: Refactor codemodel defines de-duplication
c9c397a14a fileapi: Avoid unnecessary CompileData move

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3621
2019-07-31 11:52:21 -04:00
Brad King
09fe6e6e94 Merge topic 'ninja-1.10'
c81a86ee6d Ninja: Record dyndep support by Ninja 1.10
83368b4dd5 Ninja: Drop unused dyndep version check
fd58bb83e6 Ninja: Use in-class initialization of global generator members

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !3256
2019-07-31 11:49:23 -04:00
Brad King
3cf89d18c3 Merge topic 'ExternalProject-avoid-extra-checkout'
627fc5b44f ExternalProject: Avoid unnecessary checkout on clone

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3626
2019-07-31 11:47:09 -04:00
Brad King
ac7ac46fce Merge topic 'FindPythonInterp-no-version-verify'
800c3ab2e0 FindPythonInterp: Document lack of version filtering for plain `python`

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Rolf Eike Beer <eike@sf-mail.de>
Merge-request: !3631
2019-07-31 11:45:38 -04:00
Brad King
dad7868db8 Merge branch 'release-3.15' 2019-07-31 11:43:52 -04:00
Brad King
955ebe1c93 Merge topic 'source_group-tree-files'
93af8a2583 source_group: Fix regression in relative FILES

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3630
2019-07-31 11:43:17 -04:00
Brad King
cb88632790 Merge topic 'vs-spectre-off'
f9b7c660d7 VS: Fix mapping of `-Qspectre-` flag

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3629
2019-07-31 11:41:37 -04:00
Kitware Robot
72c1d564cc CMake Nightly Date Stamp 2019-07-31 00:01:13 -04:00
Regina Pfeifer
6491270e0d cmFunctionBlocker: Move check for matching args 2019-07-31 00:03:17 +02:00
Regina Pfeifer
af24e4ef6e cmFunctionBlocker: Move common logic to base 2019-07-31 00:03:17 +02:00
Regina Pfeifer
ef38ff22f7 cm*FunctionBlocker: Extract function Replay 2019-07-31 00:03:17 +02:00
Regina Pfeifer
b51fba6298 cmMakefile: Add OnExecuteCommand callback
In cmCTestScriptHandler, port away from cmFunctionBlocker
and update the elapsed time with the new callback instead.
2019-07-31 00:03:17 +02:00
Brad King
c81a86ee6d Ninja: Record dyndep support by Ninja 1.10
Upstream Ninja 1.10 and above support the `dyndep` feature we need
for Fortran.
2019-07-30 13:53:44 -04:00
Brad King
83368b4dd5 Ninja: Drop unused dyndep version check
Our dyndep support version 1 has been merged to upstream Ninja.
We never developed a second dyndep version, so simply drop our
checks for different versions.
2019-07-30 13:53:41 -04:00
Brad King
fd58bb83e6 Ninja: Use in-class initialization of global generator members 2019-07-30 13:53:34 -04:00
Brad King
800c3ab2e0 FindPythonInterp: Document lack of version filtering for plain python
Also drop the `CMakeOnly.MajorVersionSelection-PythonInterp_2` test
because some environments now have a plain `python` executable for
Python 3.

Fixes: #19536
2019-07-30 12:09:43 -04:00
Tetragramm
627fc5b44f ExternalProject: Avoid unnecessary checkout on clone
The clone step checks out the cloned branch but is always followed by an
explicit checkout of the desired `GIT_TAG`.  Tell `git clone` not to
check out.
2019-07-30 11:45:33 -04:00