Commit Graph

44494 Commits

Author SHA1 Message Date
Brad King a09d14bbce Merge topic 'cmake-dependent-option-doc'
d192caefff CMakeDependentOption: Document that 4th parameter follows if-syntax

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3643
2019-08-06 09:57:19 -04:00
Brad King fdaad9a067 Merge branch 'release-3.15' 2019-08-06 09:42:26 -04:00
Brad King 6f359e120f Merge topic 'clang-frontend-variant'
a245479372 clang: Work around toolchain file use of internal CMake variables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3650
2019-08-06 09:41:38 -04:00
Kitware Robot 53fc083d37 CMake Nightly Date Stamp 2019-08-06 00:01:07 -04: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 1c3404a301 Merge branch 'clang-frontend-variant' into release-3.15
Merge-request: !3650
2019-08-05 10:28:29 -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
Hong Xu d192caefff CMakeDependentOption: Document that 4th parameter follows if-syntax 2019-08-05 10:15:21 -04:00
Brad King a245479372 clang: Work around toolchain file use of internal CMake variables
Since commit d44c0db0b2 (clang: setup correct configuration in gnu mode,
2019-02-20, v3.15.0-rc1~41^2~5) our Clang compiler information modules
need the `CMAKE_<LANG>_COMPILER_FRONTEND_VARIANT` variable that we
compute during compiler detection.  However, some existing toolchain
files set our internal `CMAKE_<LANG>_COMPILER_ID_RUN` variables and
block that detection, but do not set the new frontend variant variable.
Help them out by setting `CMAKE_<LANG>_COMPILER_FRONTEND_VARIANT` anyway.

Fixes: #19515, #19539
2019-08-05 09:43:00 -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