Commit Graph

56047 Commits

Author SHA1 Message Date
Brad King bd1b169f79 Merge branch 'release-3.21' 2022-02-01 09:51:26 -05:00
Brad King f30c0eff53 Merge branch 'release-3.20' 2022-02-01 09:51:14 -05:00
Brad King ba6d89ac5a Merge branch 'release-3.22' 2022-02-01 09:50:41 -05:00
Brad King 983df681c8 Merge topic 'help-try-compile-result-var'
34d263270e Help: Drop incorrect versionadded for try_compile result variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6923
2022-02-01 09:50:41 -05:00
Brad King cb66d25747 Merge topic 'help-try-compile-result-var' into release-3.22
34d263270e Help: Drop incorrect versionadded for try_compile result variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6923
2022-02-01 09:50:40 -05:00
Kitware Robot 0294570d06 CMake Nightly Date Stamp 2022-02-01 00:01:17 -05:00
Brad King fc2735426d Merge branch 'release-3.20' into release-3.21 2022-01-31 11:36:57 -05:00
Brad King d647ca1849 Merge branch 'help-try-compile-result-var' into release-3.21
Merge-request: !6923
2022-01-31 11:36:46 -05:00
Brad King d6bfce26ad Merge branch 'help-try-compile-result-var' into release-3.20
Merge-request: !6923
2022-01-31 11:35:58 -05:00
friendlyanon 34d263270e Help: Drop incorrect versionadded for try_compile result variable
In commit c705279bae (Help: Add `.. versionadded` directives to commands
documentation, 2020-11-08, v3.20.0-rc1~508^2) we accidentally added
``versionadded`` markup suggesting that the first argument to
`try_compile` was fixed as `RESULT_VAR` prior to CMake 3.14.  This was
probably due to misinterpreting the change from commit 7975edeac5 (Help:
User-provided variable names for try_* commands, 2019-02-24,
v3.14.0-rc3~16^2~3).

The result variable has never been fixed.  Drop the incorrect markup.
2022-01-31 10:59:56 -05:00
Brad King 5305d5aa1a Merge topic 'link-interface-direct'
f3ad061858 Add usage requirements to update direct link dependencies
193a999cd5 cmTarget: Add INTERFACE_LINK_LIBRARIES_DIRECT{,_EXCLUDE} backtrace storage
22d5427aa6 cmGeneratorTarget: Add LookupLinkItem option to consider own target name
f3d2eab36a cmGeneratorTarget: Fix link interface caching of partial results
d75ab9d066 cmGeneratorTarget: Clarify CMP0022 logic in ComputeLinkInterfaceLibraries
f3e9e03fe0 cmGeneratorTarget: Simplify CMP0022 warning check
216aa14997 cmGeneratorTarget: Return early from ExpandLinkItems with no items
1bc98371d1 Tests: Remove unnecessary policy setting from ObjectLibrary test
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6886
2022-01-31 10:36:55 -05:00
Brad King e7c300e356 Merge branch 'release-3.22' 2022-01-31 10:31:31 -05:00
Brad King 8035784967 Merge topic 'iar_cmp0057'
cc4da8d13a IAR/CXX: Fix compatibility with CMP0057 OLD

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6921
2022-01-31 10:31:31 -05:00
Brad King 74466016ec Merge topic 'iar_cmp0057' into release-3.22
cc4da8d13a IAR/CXX: Fix compatibility with CMP0057 OLD

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6921
2022-01-31 10:31:30 -05:00
Brad King d3006c0ca7 Merge topic 'shorter-obj'
5f8c5657a9 Shorten object name even if still longer than CMAKE_OBJECT_PATH_MAX

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !6915
2022-01-31 10:30:30 -05:00
Brad King 3de6155ca0 Merge topic 'update-kwsys'
e83bb75160 Merge branch 'upstream-KWSys' into update-kwsys
d01d634bc7 KWSys 2022-01-29 (389a74dc)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6919
2022-01-31 10:29:38 -05:00
Craig Scott 440bd4845b Merge topic 'doc-rel-path-target_include_directories'
3efa3251e9 Help: Clarify relative path handling for target_include_directories()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6924
2022-01-31 01:05:12 -05:00
Craig Scott 7980ce328d Merge topic 'doc-LINKER_LANGUAGE'
f59d255173 Help: Highlight internal nature of linker preference variables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6922
2022-01-31 00:25:05 -05:00
Craig Scott 3efa3251e9 Help: Clarify relative path handling for target_include_directories()
Fixes: #22853
2022-01-31 16:24:07 +11:00
Kitware Robot cacfadd84a CMake Nightly Date Stamp 2022-01-31 00:01:31 -05:00
Craig Scott f59d255173 Help: Highlight internal nature of linker preference variables
In d2efc90598 (Help: Move linker preference variables to the internal
section, 2022-01-15), the internal nature of the
CMAKE_<LANG>_LINKER_PREFERENCE and
CMAKE_<LANG>_LINKER_PREFERENCE_PROPAGATES variables was
made clearer. The LINKER_LANGUAGE target property references
the former, but doesn't mention that the variable is internal. Make
the internal nature of the variable and the preference implementation
in general clearer in the LINKER_LANGUAGE docs.
2022-01-30 17:09:04 +11:00
Kitware Robot 4b033ca0eb CMake Nightly Date Stamp 2022-01-30 00:01:13 -05:00
Raul Tambre cc4da8d13a IAR/CXX: Fix compatibility with CMP0057 OLD
Commit a9073db7 (IAR: update language specification detection, 2021-09-23)
added usage of the if() IN_LIST operation and forgot to account for it not
being available in CMP0057 OLD mode.
Push and temporarily enable the policy. Also avoid the unnecessary temporary
variable for the list.

Fixes #23147.
2022-01-29 22:55:24 +02:00
Brad King e83bb75160 Merge branch 'upstream-KWSys' into update-kwsys
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2022-01-29 (389a74dc)
2022-01-29 07:06:10 -05:00
KWSys Upstream d01d634bc7 KWSys 2022-01-29 (389a74dc)
Code extracted from:

    https://gitlab.kitware.com/utils/kwsys.git

at commit 389a74dc7bef2c10d663569bf61c64e25f46b7c7 (master).

Upstream Shortlog
-----------------

Brad King (1):
      259cdb6a SystemTools: Update SetPermissions test case to avoid 0 perms on POSIX

Christopher Chavez (1):
      5a33629f ProcessUNIX.c: fix select(), FD_SETSIZE on macOS
2022-01-29 07:06:10 -05:00
Brad King 55b4e3318d Merge topic 'FindOpenSSL-wince'
b5a21b0d84 FindOpenSSL: Fix ws2 reference on WinCE

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6914
2022-01-29 06:51:45 -05:00
Brad King f3ad061858 Add usage requirements to update direct link dependencies
Link line construction starts with `LINK_LIBRARIES` and appends
dependencies from the transitive closure of `INTERFACE_LINK_LIBRARIES`.
Only the entries of `LINK_LIBRARIES` are considered direct link
dependencies.  In some advanced use cases, particularly involving static
libraries and static plugins, usage requirements need to update the list
of direct link dependencies.  This may mean adding new items, removing
existing items, or both.

Add target properties to encode these usage requirements:

* INTERFACE_LINK_LIBRARIES_DIRECT
* INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE

Fixes: #22496
2022-01-29 06:48:13 -05:00
Brad King 193a999cd5 cmTarget: Add INTERFACE_LINK_LIBRARIES_DIRECT{,_EXCLUDE} backtrace storage
These properties will be given meaning by later commits.
2022-01-29 06:48:12 -05:00
Brad King 22d5427aa6 cmGeneratorTarget: Add LookupLinkItem option to consider own target name 2022-01-29 06:48:12 -05:00
Brad King f3d2eab36a cmGeneratorTarget: Fix link interface caching of partial results
`GetLinkInterface` and `GetLinkInterfaceLibraries` cache their results
to avoid repeating work.  In the case that the result does not depend on
the "head" target, they re-use results computed from the first call with
any "head" target.  However, if `GetLinkInterfaceLibraries` is called
first, then not all of the link interface is populated.  If
`GetLinkInterface` is later called, it needs to finish populating the
link interface even if a partially completed interface was cached.
2022-01-29 06:48:12 -05:00
Brad King d75ab9d066 cmGeneratorTarget: Clarify CMP0022 logic in ComputeLinkInterfaceLibraries
Follow up commit 1d709ea2f5 (cmGeneratorTarget: Propagate backtraces
from INTERFACE_LINK_LIBRARIES, 2021-12-15), which made the logic a bit
more complicated due to having backtraces for CMP0022 NEW behavior.
2022-01-29 06:48:12 -05:00
Brad King f3e9e03fe0 cmGeneratorTarget: Simplify CMP0022 warning check
Since commit 1d709ea2f5 (cmGeneratorTarget: Propagate backtraces from
INTERFACE_LINK_LIBRARIES, 2021-12-15) we can use the special storage of
the property directly.
2022-01-29 06:48:12 -05:00
Brad King 216aa14997 cmGeneratorTarget: Return early from ExpandLinkItems with no items 2022-01-29 06:48:12 -05:00
Brad King 1bc98371d1 Tests: Remove unnecessary policy setting from ObjectLibrary test
Since commit 72e7c45e98 (Tests: Bump CMake minimum required in tests to
2.8.12, 2020-12-22, v3.20.0-rc1~224^2), policy CMP0022 is set to NEW for
the entire test.  Remove a leftover explicit setting.
2022-01-29 06:48:12 -05:00
Brad King d2f4f17b90 Help: Cross-reference LINK_LIBRARIES and INTERFACE_LINK_LIBRARIES
Document in each property its role in combination with the other.
2022-01-29 06:48:12 -05:00
Brad King 4e8f24e977 PCH: Clear link interface cache when adding PCH object to it
On platforms using `CMAKE_LINK_PCH`, the implementation of
`PRECOMPILE_HEADERS_REUSE_FROM`, when re-using the PCH from one object
library in another, adds a PCH object file to the link interface.
Clear any cached link interface to ensure it is used.
2022-01-29 06:48:11 -05:00
Brad King 854e67985e cmLinkItem: Clarify name of CMP0027 check member
The only purpose of `cmLinkImplItem`'s `FromGenex` member is to decide
whether to check CMP0027.  That won't be needed for link items added by
new interfaces in the future.  Clarify the name to indicate that we do
not always need to know if the item came from a generator expression.
2022-01-29 06:48:11 -05:00
Brad King f6170c1322 cmGeneratorExpressionDAGChecker: Re-order EvaluatingLinkLibraries condition
Place the modern properties first.
2022-01-29 06:46:35 -05:00
Brad King ed8158324b Merge topic 'ibmclang-aix'
07e2eb50f0 IBMClang: Do not use -fvisibility on AIX

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6917
2022-01-29 06:31:15 -05:00
Brad King 16fbf6ccb6 Merge topic 'gcc12-warning'
ae101921e8 Source: Avoid gcc 12 compilation warning

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6916
2022-01-29 06:30:19 -05:00
Kitware Robot 4b2ab96c51 CMake Nightly Date Stamp 2022-01-29 00:01:17 -05:00
Brad King 07e2eb50f0 IBMClang: Do not use -fvisibility on AIX
Use of `-fvisibility=hidden` fails:

  unsupported option '-fvisibility=hidden' for target 'powerpc-ibm-aix7.2.0.0'

Apply the change from commit 4feba34d02 (GNU: Do not use -fvisibility on
AIX or HP-UX, 2016-09-03, v3.7.0-rc1~173^2~2) to IBMClang also.

Issue: #23157
2022-01-28 15:43:21 -05:00
leha-bot b5a21b0d84 FindOpenSSL: Fix ws2 reference on WinCE
Fixes: #23070
2022-01-28 11:21:52 -05:00
Nick Little 5f8c5657a9 Shorten object name even if still longer than CMAKE_OBJECT_PATH_MAX
In some cases the shortened path may end up working in practice, even if
it is over CMAKE_OBJECT_PATH_MAX, where the original path does not.
If the original path is too long, do the MD5 substitution whenever it
makes the path shorter.  Retain the warning if it is still too long.
2022-01-28 11:12:59 -05:00
Brad King 6108352f0a Merge topic 'ibmclang-compiler'
8c1731546c Help: Add release note for IBM Open XL C/C++ compiler support
24da80b70a Utilities: Suppress warnings in third-party code with IBMClang
6da99e671c IBMClang: Add support for IBM Open XL C/C++

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6785
2022-01-28 09:50:15 -05:00
Brad King ba069c10dd Merge topic 'cuda_vs_arch_all'
daf372c4d6 CUDA: Fix issuing error if default architecture detection fails
7a0d098352 CUDA: Error on empty/invalid CMAKE_CUDA_ARCHITECTURES set by user
d19273bc7b CUDA: Support all and all-major on Visual Studio
5f667d783a CUDA: Actually use reverse architecture deprecation order for Clang

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Brad King <brad.king@kitware.com>
Merge-request: !6912
2022-01-28 09:40:50 -05:00
Brad King 4ff6ea0f2f Merge topic 'timestamp-microseconds'
c050d6a01e string(TIMESTAMP): add %f specifier for microseconds

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6910
2022-01-28 09:39:03 -05:00
Brad King c2f75492fa Merge branch 'release-3.22' 2022-01-28 09:37:12 -05:00
Brad King b1325f5912 Merge branch 'release-3.21' into release-3.22 2022-01-28 09:37:06 -05:00
Brad King 48af42444f Merge branch 'release-3.21' 2022-01-28 09:37:01 -05:00