Commit Graph

54620 Commits

Author SHA1 Message Date
Brad King b0b689d566 Merge topic 'cat_empty_file'
0b4a56e64b cmake: -E cat stops when an empty file is encountered

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !6539
2021-09-21 11:05:06 -04:00
Brad King 5fa9a65b1e Merge topic 'tests-cpack-deb-non-linux'
b07812c6de Tests: fix RunCMake.CPack_DEB.EXTRA on Debian non-Linux OSes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6540
2021-09-21 11:04:13 -04:00
Brad King af37066d35 Merge topic 'refactor-remove-cmToCStr-function'
3a1e6f5f59 remove cmToCStr function
dffa3f485c cmGlobalGenerator::PrintCompilerAdvice: use cmProp as augment
062432a6bc cmCurlSetCAInfo: use std::string as argument

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !6544
2021-09-21 11:03:19 -04:00
Brad King 4aeaf72fd6 Merge topic 'clang-manifest'
b73857561f Clang: embed windows manifests with GNU interface

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6534
2021-09-21 11:02:23 -04:00
Brad King bcdd8cfe44 Merge topic 'platform-vars'
a136b6ec98 MINGW: Define variable only when targeting Windows platforms
39c5dad0cb Ninja: Remove redundant check for GNU-like compiler on Windows
0b7ae84a96 Cygwin: Remove redundant definitions of CYGWIN and UNIX variables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !6538
2021-09-21 11:01:18 -04:00
Kitware Robot 6261210a67 CMake Nightly Date Stamp 2021-09-21 00:01:14 -04:00
Brad King b20980aa85 Merge branch 'release-3.21' 2021-09-20 13:30:38 -04:00
Brad King 7612abd52f CMake 3.21.3 v3.21.3 2021-09-20 12:43:52 -04:00
Brad King 9abbfe33e2 Merge branch 'release-3.21' 2021-09-20 12:38:44 -04:00
Brad King 36966f63ca Merge topic 'hip-no-hipcc'
cb93f72624 HIP: Simplify detection of HIP runtime CMake package
a71f0fc9c7 HIP: Remove ROMClang compiler id and use Clang directly
b125e9809a HIP: Detect ROCm path earlier
735f41fc2d HIP: Use 'rocm_agent_enumerator' to determine CMAKE_HIP_ARCHITECTURES

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: Raul Tambre <raul@tambre.ee>
Acked-by: Axel Huebl <axel.huebl@plasma.ninja>
Merge-request: !6533
2021-09-20 12:38:44 -04:00
Brad King bc0d6e61fd Merge topic 'hip-no-hipcc' into release-3.21
cb93f72624 HIP: Simplify detection of HIP runtime CMake package
a71f0fc9c7 HIP: Remove ROMClang compiler id and use Clang directly
b125e9809a HIP: Detect ROCm path earlier
735f41fc2d HIP: Use 'rocm_agent_enumerator' to determine CMAKE_HIP_ARCHITECTURES

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: Raul Tambre <raul@tambre.ee>
Acked-by: Axel Huebl <axel.huebl@plasma.ninja>
Merge-request: !6533
2021-09-20 12:38:43 -04:00
Brad King c03a216ca8 Merge branch 'release-3.21' 2021-09-20 12:23:19 -04:00
Brad King e2b63802c6 Merge branch 'release-3.20' into release-3.21 2021-09-20 12:23:07 -04:00
Brad King 5b7651f9b7 Merge branch 'release-3.20' 2021-09-20 12:22:49 -04:00
Brad King 0d3bfda22a CMake 3.20.6 v3.20.6 2021-09-20 11:28:01 -04:00
Brad King c179ab6491 Merge topic 'test-symlink'
6ea883d652 Tests: Avoid output when running symlink check

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6536
2021-09-20 10:02:25 -04:00
Kitware Robot ed0139e606 CMake Nightly Date Stamp 2021-09-20 00:02:28 -04:00
Marc Chevrier 3a1e6f5f59 remove cmToCStr function 2021-09-19 19:11:07 +02:00
Marc Chevrier dffa3f485c cmGlobalGenerator::PrintCompilerAdvice: use cmProp as augment 2021-09-19 19:11:07 +02:00
Marc Chevrier 062432a6bc cmCurlSetCAInfo: use std::string as argument 2021-09-19 19:10:59 +02:00
Kitware Robot 96c3849384 CMake Nightly Date Stamp 2021-09-19 00:01:37 -04:00
Pino Toscano b07812c6de Tests: fix RunCMake.CPack_DEB.EXTRA on Debian non-Linux OSes
The generated path with the packages uses $CPACK_TOPLEVEL_TAG, which
by default is $CPACK_SYSTEM_NAME, thus the OS name.

To make the expected stderr match also non-Linux OSes, accept any
non-slash characters in place of "Linux", so it works also on other
Debian OSes (e.g. Debian/Hurd).
2021-09-18 21:49:46 +02:00
Johnny Jazeix 0b4a56e64b cmake: -E cat stops when an empty file is encountered
Fixes: #22652
2021-09-18 18:54:53 +02:00
Marc Chevrier e4ad87c5dd Merge topic 'VersionCompare-use-std_string'
7e154ebd59 cmSystemTools::VersionCompare: use std::string for arguments

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !6535
2021-09-18 11:06:15 -04:00
Kitware Robot 4c54b26623 CMake Nightly Date Stamp 2021-09-18 00:01:14 -04:00
Brad King a136b6ec98 MINGW: Define variable only when targeting Windows platforms
The `MINGW` variable indicates that the compiler targets MinGW, a GNU
ABI on Windows.  Since commit aff3147917 (Modernize GNU compiler info on
Windows, 2009-12-02, v2.8.2~636), we load the `Platform/Windows-GNU`
module for compilers targetin MinGW, so set the variable there instead.
This is equivalent to `Platform/Windows-MSVC` setting the `MSVC`
variable.  Also remove `if(MINGW)` checks from the module, which have
not been necessary since the enclosed logic was moved to that module.

The undocumented `CMAKE_COMPILER_IS_MINGW` internal variable is now
unused, so remove it too.

Fixes: #22647
2021-09-17 12:17:35 -04:00
Brad King 39c5dad0cb Ninja: Remove redundant check for GNU-like compiler on Windows
Update the Ninja generator's check to work using whatever language is
being enabled instead of hard-coding C and CXX.  With that, the
undocumented internal `CMAKE_COMPILER_IS_MINGW` variable is only set by
compilers already covered by other alternatives in the condition.  See
commit b3de0dfe93 (Ninja: Use forward slashes for any GCC on Windows,
2015-05-07, v3.3.0-rc1~93^2~3).
2021-09-17 12:15:11 -04:00
Brad King 7b09ff186e Merge branch 'release-3.21' 2021-09-17 09:35:10 -04:00
Brad King 1a1e8aaceb Merge branch 'release-3.20' into release-3.21 2021-09-17 09:35:04 -04:00
Brad King e05e620059 Merge branch 'release-3.20' 2021-09-17 09:34:51 -04:00
Brad King e1e24fa63d Merge branch 'release-3.21' 2021-09-17 09:33:45 -04:00
Brad King c23e8411e5 Merge topic 'android-PATH'
94f3776774 Android: Restore searching PATH for executables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6528
2021-09-17 09:33:45 -04:00
Brad King 1127b591ec Merge topic 'android-PATH' into release-3.21
94f3776774 Android: Restore searching PATH for executables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6528
2021-09-17 09:33:44 -04:00
Brad King 3767c612e0 Merge branch 'release-3.21' 2021-09-17 09:32:50 -04:00
Brad King dfb31d3a3f Merge topic 'iar-enable-in-list-operator'
f77ffbc0e3 IAR: Restore support for projects not enabling policy CMP0057

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6527
2021-09-17 09:32:50 -04:00
Brad King 58ac1eaa70 Merge topic 'iar-enable-in-list-operator' into release-3.21
f77ffbc0e3 IAR: Restore support for projects not enabling policy CMP0057

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6527
2021-09-17 09:32:49 -04:00
Brad King 6ea883d652 Tests: Avoid output when running symlink check
Since commit 58d10cf6f1 (Alternative symlink-creating mode for
file(INSTALL ...), 2021-08-02) we test creating a symlink during
configuration to decide whether to activate some tests.  Capture
the process output during the check to avoid leaking the error
message on failure.
2021-09-17 09:28:57 -04:00
Marc Chevrier 7e154ebd59 cmSystemTools::VersionCompare: use std::string for arguments 2021-09-17 11:58:46 +02:00
Kitware Robot 241048d6ce CMake Nightly Date Stamp 2021-09-17 00:01:19 -04:00
Thomas Bernard b73857561f Clang: embed windows manifests with GNU interface
Solves: #22611
2021-09-17 00:35:32 +02:00
Craig Scott 0d2719d311 Merge topic 'xcode-embed-libraries'
6ef7bfbb64 Xcode: add support for embedding dynamic libraries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6490
2021-09-16 17:46:09 -04:00
Brad King cb93f72624 HIP: Simplify detection of HIP runtime CMake package
It only makes sense to use the CMake package from the same ROCm
installation that the compiler uses.  Ask the HIP compiler to report the
location of the ROCm installation.  Verify up front that it contains the
expected CMake package file.
2021-09-16 15:33:53 -04:00
Brad King a71f0fc9c7 HIP: Remove ROMClang compiler id and use Clang directly
Since commit bd844387df (ROCMClang: Add the ROCm toolkit derived clang
compiler to CMake, 2020-08-28, v3.21.0-rc1~66^2~6) and commit ff0d2858e1
(HIP: Extract clang compiler details from hipcc, 2020-10-21,
v3.21.0-rc1~66^2~5), the separate `ROCMClang` compiler id for `hipcc`
has caused a few problems:

* The compiler id changed from behavior of CMake 3.20 and below,
  breaking projects that already built with `hipcc` treated as `Clang`.

* The implementation of `target_compile_features` was incomplete for
  the `ROCMClang` identity.

* Only `hipcc` was identified as `ROCMClang`, so after it is unwrapped
  to the underlying `clang++`, future runs of new CMake versions on
  an existing build tree would not repeat this.

* Clang should be usable as a HIP compiler without the `hipcc` wrapper.

Remove the `ROMClang` compiler identity, and revise HIP language support
to work directly with a Clang compiler.

Reject direct `hipcc` usage as a HIP compiler.  For now it cannot be
supported because it interferes with flags CMake needs to pass to Clang.

Fixes: #22536, #22460, #22593
2021-09-16 15:33:47 -04:00
Brad King b125e9809a HIP: Detect ROCm path earlier
Fail early if it is not found.

Use the detected location as a hint to find `rocm_agent_enumerator`.

Also remove the leading `_` prefix in case we want to document this
publicly later.
2021-09-16 14:45:07 -04:00
Zack Galbreath 735f41fc2d HIP: Use 'rocm_agent_enumerator' to determine CMAKE_HIP_ARCHITECTURES 2021-09-16 14:41:30 -04:00
Brad King 0b7ae84a96 Cygwin: Remove redundant definitions of CYGWIN and UNIX variables
These are set by modules loaded for `CMAKE_SYSTEM_NAME`.  We do not
need to set them again if the compiler defines `__CYGWIN__`.

Also remove the now-unused undocumented `CMAKE_COMPILER_IS_CYGWIN`
internal variable.
2021-09-16 09:55:26 -04:00
Brad King c9c6e8d6e8 Merge branch 'android-PATH' into release-3.20
Merge-request: !6528
2021-09-16 09:03:07 -04:00
hhb 94f3776774 Android: Restore searching PATH for executables
Since commit a7f41a7ee4 (Android: Fix find_* search order within NDK for
unified toolchains, 2020-10-13, v3.20.0-rc1~610^2), we turn off
`CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH`.  This breaks `find_program`
searching `PATH` for host executables.  Fortunately, the setting turns
out not to be necessary, perhaps since commit cbc51a8be3 (Android:
restructure android search paths, 2020-11-06, v3.20.0-rc1~509^2).
Without it, none of NDK tests fail, so remove it to restore pre-3.20
behavior.

Fixes: #22634
2021-09-16 08:45:33 -04:00
Jean-Marc Hengen f77ffbc0e3 IAR: Restore support for projects not enabling policy CMP0057
Since commit 5b9bfe738c (IAR: Moved search logic to BinUtils.,
2021-07-19, v3.21.1~14^2), we use the `IN_LIST` operator in the
`CMakeFindBinUtils` module.  Set policy `CMP0057` to ensure it is
available regardless of the project's policy settings.

Fixes: #22640
2021-09-16 08:30:51 -04:00
Brad King ffb9978e95 Merge topic 'clarify_cmake_policy_warning_doc'
1230ceb97e Help: Improve explanation on CMAKE_POLICY_WARNING warnings occur

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6522
2021-09-16 08:24:56 -04:00