Commit Graph

62021 Commits

Author SHA1 Message Date
Kitware Robot
1f98b65e3e CMake Nightly Date Stamp 2023-05-28 00:01:09 -04:00
Kitware Robot
5d39aad169 CMake Nightly Date Stamp 2023-05-27 00:01:13 -04:00
Brad King
b8449712a3 Merge topic 'implicit-link-dir-exclude'
023de565d3 Optionally exclude implicit link directories via environment

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: Roscoe A. Bartlett <rabartl@sandia.gov>
Merge-request: !8506
2023-05-26 09:27:23 -04:00
Brad King
a3223bfa68 Merge topic 'intelllvm-link-shared-modules'
9875b11969 IntelLLVM: Use compiler driver as linker for MODULE libraries too

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8505
2023-05-26 09:24:48 -04:00
Brad King
8ed8c73bd4 Merge topic 'update-kwsys'
4032968220 Merge branch 'upstream-KWSys' into update-kwsys
5df527f7af KWSys 2023-05-25 (c9f0da47)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8504
2023-05-26 09:22:09 -04:00
Kitware Robot
a645a80040 CMake Nightly Date Stamp 2023-05-26 00:01:10 -04:00
Brad King
023de565d3 Optionally exclude implicit link directories via environment
A misconfigured compiler may pass extraneous implicit link directories
to its linker.  If they are in `CMAKE_<LANG>_IMPLICIT_LINK_DIRECTORIES`,
CMake may generate extra `-L` flags on mixed-language link lines that
break linking.  Add an environment variable that users can set to work
around such misconfiguration of their compilers.
2023-05-25 13:42:58 -04:00
William R. Dieter
9875b11969 IntelLLVM: Use compiler driver as linker for MODULE libraries too
Since commit 79921fb00c (IntelLLVM: Set linker to compiler driver for
Windows, 2021-10-19, v3.23.0-rc1~127^2) we default to the compiler
driver as linker for executables, shared libraries, and static
libraries.  Not doing so for shared modules was an oversight.  Copying
the shared library command line for shared modules fixes the problem
(and also is what we do for MSVC).

The MSVC linker is fine for many cases, however it does not support GPU
offload code generated by the IntelLLVM compilers.  Using the compiler
driver as linker, or at least a linker that understands the object
format, is required for linking shared modules that use GPU offload
(e.g., with SYCL or OpenMP).

Signed-off-by: William R. Dieter <william.r.dieter@intel.com>
2023-05-25 13:17:41 -04:00
Brad King
cf7b7600c6 Merge topic 'misc-cxx-modules-fixes'
28ece63fee cxxmodules: Fix exported path to installed module sources in subdirs
f2a699261b cxxmodules: Do not expect collator install scripts with no CXX_MODULES
f9677cc122 Tests: Improve RunCMake.CXXModules expectation matching and error reporting

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !8474
2023-05-25 09:48:08 -04:00
Brad King
4032968220 Merge branch 'upstream-KWSys' into update-kwsys
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2023-05-25 (c9f0da47)
2023-05-25 09:43:54 -04:00
KWSys Upstream
5df527f7af KWSys 2023-05-25 (c9f0da47)
Code extracted from:

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

at commit c9f0da473ac2c21b25c1819141c4828dd238b4d3 (master).

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

Timo Röhling (1):
      9119f1a1 SystemInformation: Tolerate empty /proc/cpuinfo
2023-05-25 09:43:54 -04:00
Kitware Robot
02db7f044d CMake Nightly Date Stamp 2023-05-25 00:01:09 -04:00
Kitware Robot
ae21371e70 CMake Nightly Date Stamp 2023-05-24 00:01:13 -04:00
Tyler
28ece63fee cxxmodules: Fix exported path to installed module sources in subdirs
When generating the `IMPORTED_CXX_MODULES_[CONFIG]` target property,
there was a missing path separator after a non-empty relative directory
part of the path to a module source file.

Co-authored-by: Brad King <brad.king@kitware.com>
2023-05-23 15:01:52 -04:00
Tyler
f2a699261b cxxmodules: Do not expect collator install scripts with no CXX_MODULES
Calling `install(EXPORT)` with the `CXX_MODULES_DIRECTORY` parameter
leads to installation rules being generated which `include()` CMake
scripts that set the `IMPORTED_CXX_MODULES_[CONFIG]` target property for
relevant targets.  However, these scripts don't get generated for
targets in an export set which don't have any C++20 modules.  When the
installation rules attempt to `include()` the missing scripts, the
install fails.

Co-authored-by: Brad King <brad.king@kitware.com>
2023-05-23 15:01:32 -04:00
Brad King
f9677cc122 Tests: Improve RunCMake.CXXModules expectation matching and error reporting 2023-05-23 15:00:46 -04:00
Brad King
d491ea1973 Merge topic 'ep-update-disconnected'
8cc45e150a ExternalProject: Make hg download method respect UPDATE_DISCONNECTED
1512dc43cb ExternalProject: Avoid reconfigure when updates are disconnected
1d29cf37a1 Tests: Reduce warning noise in ExternalProjectUpdate test

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8498
2023-05-23 11:06:19 -04:00
Brad King
6503ce9434 Merge topic 'correct_cuda_complex_adding_bad_rpath_entries'
4f10111e95 CUDA: Cuda* tests add rpath entry only for need cuda lib directory

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8473
2023-05-23 11:05:01 -04:00
Brad King
77aaf1b04a Merge topic 'help_configure_file'
b2b97d015e Help: configure_file: add $CACHE{VAR} and $ENV{VAR} to description

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8500
2023-05-23 11:02:43 -04:00
Brad King
ffb4804c88 Merge topic 'iar-fix-support-avr-8101'
57f22c6a3d IAR:Fix version detection for xlinkavr

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8501
2023-05-23 11:01:48 -04:00
Brad King
1242ea14c5 Merge topic 'framework-path-parsing'
5884303e69 Apple Framework: enhance path parsing

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8499
2023-05-23 11:00:36 -04:00
Brad King
ee98a8d24a Merge topic 'FindOpenSSL-deps'
f7e1e0545f FindOpenSSL: Enable static library dependencies on more platforms

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Jürg Billeter <j@bitron.ch>
Merge-request: !8497
2023-05-23 10:57:51 -04:00
Craig Scott
8cc45e150a ExternalProject: Make hg download method respect UPDATE_DISCONNECTED 2023-05-23 22:39:44 +10:00
Craig Scott
1512dc43cb ExternalProject: Avoid reconfigure when updates are disconnected
When UPDATE_DISCONNECTED is true, create separate update_disconnected
and patch_disconnected targets which have ALWAYS set to false.
Make the configure step depend on patch_disconnected in this case too.
This ensures the configure, build, install and test steps are not
executed unnecessarily when updates are disconnected.

Make the update and patch commands depend on the details of those
steps. This ensures they are re-executed when any of those details
change, even if updates are disconnected.

Allow updates to occur even if UPDATE_DISCONNECTED is true, but don't
contact the remote in that case. If asked to update to a ref that isn't known
locally, that is now detected and causes a fatal error when updates are
disconnected. Previously, the build would have silently and erroneously
continued to use the old ref.

Fixes: #16419, #19703, #21146
2023-05-23 22:39:44 +10:00
Brad King
e05230ebcf Merge topic 'ci-fedora-38'
1689e0a118 ci: Subsume Clang C++ modules testing in main Fedora+Clang jobs
bdaa9e1e4e ci: use Fedora 38 images and environments
b69c63d3aa ci: update Linux image to Fedora 38
9c388fb064 ci: Remove nlohmann-json from Fedora base image
d9d061d19f ci: Disable sccache in clang-analyzer job
fad150d314 clang-tidy module: Update to build against LLVM/Clang 16
ce3ec02bb2 clang-tidy module: Drop unused variable
2c27968619 clang-tidy: ignore warnings new in version 16
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8502
2023-05-23 06:16:32 -04:00
Kitware Robot
17f574e867 CMake Nightly Date Stamp 2023-05-23 00:01:08 -04:00
Brad King
1689e0a118 ci: Subsume Clang C++ modules testing in main Fedora+Clang jobs
Fedora 38 comes with LLVM/Clang 16.0, which supports the features we
need for C++ modules.
2023-05-22 17:16:13 -04:00
Brad King
bdaa9e1e4e ci: use Fedora 38 images and environments 2023-05-22 17:16:12 -04:00
Brad King
b69c63d3aa ci: update Linux image to Fedora 38 2023-05-22 17:16:12 -04:00
Brad King
9c388fb064 ci: Remove nlohmann-json from Fedora base image
Revert commit f24c6ae5b8 (ci: Add nlohmann-json to Fedora base image,
2023-05-17).  The previously-upcoming dependency on nlohmann-json has
been replaced with our existing dependency on jsoncpp.
2023-05-22 17:16:12 -04:00
Brad King
d9d061d19f ci: Disable sccache in clang-analyzer job
The `ccc-analyzer` compiler wrapper preprocesses differently
for clang-analyzer than for normal compilation.  In particular,
the `__clang_analyzer__` preprocessor definition is added.

This does not interact well with `sccache` because it indexes based on
the compiler's normal preprocessing but stores results from the entire
`ccc-analyzer` invocation.
2023-05-22 17:16:12 -04:00
Brad King
fad150d314 clang-tidy module: Update to build against LLVM/Clang 16 2023-05-22 17:16:12 -04:00
Brad King
ce3ec02bb2 clang-tidy module: Drop unused variable 2023-05-22 17:16:12 -04:00
Brad King
2c27968619 clang-tidy: ignore warnings new in version 16
These warnings can be fixed in the future.  Ignore them for now.
2023-05-22 17:16:12 -04:00
Brad King
9ea7b4ac66 clang-tidy: Fix readability-redundant-string-cstr warnings 2023-05-22 17:15:58 -04:00
Brad King
bd4ec7a71e clang-tidy: Fix modernize-loop-convert warnings 2023-05-22 17:15:45 -04:00
Brad King
93ee2b369c Source: Fix -Wdangling-reference warnings exposed by gcc 13 2023-05-22 17:14:54 -04:00
Brad King
7b3ec2b891 Tests: Avoid printing function address in FindOpenAL.Test 2023-05-22 17:14:54 -04:00
Brad King
d531b9e7d1 zstd: Suppress clang-analyzer warnings 2023-05-22 16:51:16 -04:00
Brad King
bba02b8b4b zlib: Suppress clang-analyzer warnings 2023-05-22 16:51:16 -04:00
Brad King
395f0cb69c nghttp2: Suppress clang-analyzer warnings 2023-05-22 16:51:16 -04:00
Brad King
b18eca763c libuv: Suppress clang-analyzer warnings 2023-05-22 16:51:16 -04:00
Brad King
5ec464a76f librhash: Suppress clang-analyzer warnings 2023-05-22 16:51:15 -04:00
Brad King
e24c403816 liblzma: Suppress clang-analyzer warnings 2023-05-22 16:51:15 -04:00
Brad King
48297cf770 libarchive: Suppress clang-analyzer warnings 2023-05-22 16:51:15 -04:00
Brad King
91e4d27765 bzip2: Suppress clang-analyzer warnings 2023-05-22 16:51:15 -04:00
Brad King
e090f348d3 curl: Avoid redundant getenv calls in curltest
Also avoid using the result without checking for NULL.
2023-05-22 16:51:15 -04:00
Brad King
71817dc37c ccmake: Tell clang-analyzer a loop body runs at least once 2023-05-22 16:51:15 -04:00
Brad King
04b0d5c862 codespell: Fix typos 2023-05-22 16:51:15 -04:00
Brad King
3728f079af codespell: Avoid escape sequence that looks like misspelled "nodes" 2023-05-22 16:50:51 -04:00