Commit Graph

60044 Commits

Author SHA1 Message Date
Kitware Robot
d8c8e61633 CMake Nightly Date Stamp 2022-11-19 00:01:10 -05:00
Brad King
4391808712 Merge topic 'file-COPY_FILE-retry'
d34986036f ExternalData: Improve robustness on Windows to copy a data object to a file
efa9eec040 file(COPY_FILE): Add option to retry on Windows if input access fails
fa518188d8 cmSystemTools: Remove unused CopySingleFile overload

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7934
2022-11-18 09:40:13 -05:00
Brad King
0784261a68 Merge topic 'clang-tidy-module-pragma-once-check'
91a7c0b51c CMake: fix violations of #pragma once check
aa0c99c55c clang-tidy module: add test for #pragma once check
c9af6f2ff6 clang-tidy module: add #pragma once check
68a4d97da7 clang-tidy module: allow header files in test cases

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !7933
2022-11-18 09:35:21 -05:00
Brad King
1cefd1da95 Merge topic 'ninja-swiftmodule-no-exe'
38c8807c5a Ninja: Avoid re-linking a Swift executable on every build

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7901
2022-11-18 09:34:35 -05:00
Brad King
72af27279b Merge topic 'nvhpc_fortran_extensions'
a98a82f24b Fortran: Support cuf file extension when using nvfortran

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7925
2022-11-18 09:32:40 -05:00
Brad King
7be4574790 Merge topic 'refactor-cmDocumentation'
6e3e8827fa Refactor: `cmGlobalGeneratorFactory::GetDocumentation` returns entry
e99a4acbcd cmGlobalGeneratorFactory.h: Simplify returning default values
7daadd304f cmake.cxx: Simplify `cmake::AppendExtraGeneratorsDocumentation()`
df2047c2ac cpack.cxx: Optimize calls to `std::osteam::operator<<`
f6180485bb cpack.cxx: Eliminate redundant `if`
d7c183f35c cpack.cxx: Deduplicate "Generators" section creation code
9c06f0dd71 cmake.cxx: Move `static` functions to an anonymous namespace
69918b07e1 cmDocumentationEntry: Drop all user provided ctors for C++ >= 14
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7605
2022-11-18 09:28:46 -05:00
Brad King
e558beeef6 Merge topic 'build-local-interface-genex'
38cbf5e15b Genex: Add $<BUILD_LOCAL_INTERFACE:...> genex
37b5c78688 cmGeneratorExpression: Refactor stripExportInterface() to use enum class

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7919
2022-11-18 09:27:35 -05:00
Brad King
1cc936f314 Merge topic 'genex-TARGET_PROPERTY-scope'
8437141b53 Genex: Fix TARGET_PROPERTY lookup scope in transitive usage requirements

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: Robert Maynard <robertjmaynard@gmail.com>
Merge-request: !7928
2022-11-18 09:25:43 -05:00
Brad King
331e812cf4 Merge branch 'release-3.25' 2022-11-18 09:23:36 -05:00
Brad King
66b64b5984 Merge topic 'FindCUDAToolkit_handle_nvptxcompiler_static_not_existing'
c7ece269da FindCUDAToolkit: Handle toolkits that don't provide nvptxcompiler

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7932
2022-11-18 09:23:36 -05:00
Brad King
87f7553754 Merge topic 'FindCUDAToolkit_handle_nvptxcompiler_static_not_existing' into release-3.25
c7ece269da FindCUDAToolkit: Handle toolkits that don't provide nvptxcompiler

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7932
2022-11-18 09:23:35 -05:00
Brad King
572679a62e Merge topic 'ci-fedora-37'
757d9f1507 gitlab-ci: use Fedora 37 images and environments
919ac4c937 ci: add LLVMFlang compiler to Fedora base image
960a2cf124 ci: update Linux image to Fedora 37
3090d05689 clang-tidy: ignore warnings new in versions 14 and 15
90286c1a08 gitlab-ci: Fix rules for running two dependent test jobs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !7930
2022-11-18 09:00:00 -05:00
Kitware Robot
ee7479fb5a CMake Nightly Date Stamp 2022-11-18 00:01:09 -05:00
Brad King
d34986036f ExternalData: Improve robustness on Windows to copy a data object to a file
When an external data object was recently created on disk, perhaps
fetched by the current process or another process, it may be
inaccessible on Windows for a short time.  Tell our `file(COPY_FILE)`
call to retry a few times to copy the object to the final file path.

Hopefully this will resolve our long-standing spurious failures of the
`Module.ExternalData` test on Windows.
2022-11-17 15:05:07 -05:00
Brad King
efa9eec040 file(COPY_FILE): Add option to retry on Windows if input access fails
On Windows, a file may be inaccessible for a short time after it is
created.  This occurs for various reasons, including indexing, antivirus
tools, and NTFS's asynchronous semantics.  Add an `INPUT_MAY_BE_RECENT`
option to tell CMake that the input file may have been recently created
so that we can retry a few times to read it.
2022-11-17 15:05:07 -05:00
Kyle Edwards
91a7c0b51c CMake: fix violations of #pragma once check 2022-11-17 13:55:52 -05:00
Sean Orner
aa0c99c55c clang-tidy module: add test for #pragma once check 2022-11-17 13:55:52 -05:00
Igor-Mikhail-Valentin Glebov
c9af6f2ff6 clang-tidy module: add #pragma once check
Co-Authored-by: Kyle Edwards <kyle.edwards@kitware.com>
2022-11-17 13:55:52 -05:00
Kyle Edwards
68a4d97da7 clang-tidy module: allow header files in test cases 2022-11-17 13:55:52 -05:00
Robert Maynard
c7ece269da FindCUDAToolkit: Handle toolkits that don't provide nvptxcompiler
Some versions of the CUDA toolkit don't provide any static
libraries, and therefore we need to handle that `nvptxcompiler_static`
might not be found
2022-11-17 13:41:11 -05:00
Brad King
fa518188d8 cmSystemTools: Remove unused CopySingleFile overload 2022-11-17 13:27:19 -05:00
Evan Wilde
38c8807c5a Ninja: Avoid re-linking a Swift executable on every build
Swift doesn't emit swiftmodules for executables, so we shouldn't put it
in dependency graph.  Ninja sees the "missing" dependency and always
tries to rebuild/re-link the target.
2022-11-17 13:05:22 -05:00
Kyle Edwards
38cbf5e15b Genex: Add $<BUILD_LOCAL_INTERFACE:...> genex
Fixes: #23209
2022-11-17 09:31:27 -05:00
Kyle Edwards
37b5c78688 cmGeneratorExpression: Refactor stripExportInterface() to use enum class 2022-11-17 09:31:27 -05:00
Brad King
757d9f1507 gitlab-ci: use Fedora 37 images and environments 2022-11-17 08:23:52 -05:00
Brad King
919ac4c937 ci: add LLVMFlang compiler to Fedora base image
Also explicitly install `clang`.

Issue: #22387
2022-11-17 08:23:52 -05:00
Brad King
960a2cf124 ci: update Linux image to Fedora 37 2022-11-17 08:23:52 -05:00
Brad King
3090d05689 clang-tidy: ignore warnings new in versions 14 and 15
These warnings can be fixed in the future.  Ignore them for now.
2022-11-17 08:23:52 -05:00
Brad King
90286c1a08 gitlab-ci: Fix rules for running two dependent test jobs 2022-11-17 08:23:52 -05:00
Brad King
c5a945dce8 Merge topic 'vs-build-parallel'
48db261e69 cmake --build: Use both inter- and intra-project parallelism with msbuild

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7926
2022-11-17 08:15:54 -05:00
Brad King
14cf3b1039 Merge topic 'file-archive-zstd-compression-level'
ed519b1cba file(ARCHIVE_CREATE): Allow higher compression level for Zstd

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7924
2022-11-17 08:15:04 -05:00
Brad King
d3b361c43b Merge topic 'automoc-var-init'
70c721befb AutoMoc: Don't initialize already defined CMAKE_AUTOMOC_ variables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7922
2022-11-17 08:13:40 -05:00
Brad King
d183038b68 Merge topic 'compiler-predefines-only-cxx'
d538cb0e18 Only initialize CMAKE_CXX_COMPILER_PREDEFINES_COMMAND

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7923
2022-11-17 08:12:27 -05:00
Brad King
a1099f7f7e Merge branch 'release-3.25' 2022-11-17 08:07:27 -05:00
Brad King
926d26fdb0 Merge branch 'release-3.24' 2022-11-17 08:07:26 -05:00
Brad King
3e2b3f6639 Merge branch 'release-3.24' into release-3.25 2022-11-17 08:07:15 -05:00
Brad King
daa2fc5833 Merge branch 'test-FindBoost-python-versions' into release-3.24
Merge-request: !7929
2022-11-17 08:06:36 -05:00
Brad King
fbad2102d5 Merge branch 'release-3.25' 2022-11-17 08:06:19 -05:00
Brad King
311695e319 Merge topic 'test-FindBoost-python-versions'
6b1f933cb8 Tests: Update FindBoost.TestPython for Python 3.11 and 3.12

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7929
2022-11-17 08:06:19 -05:00
Brad King
818ea1e497 Merge topic 'test-FindBoost-python-versions' into release-3.25
6b1f933cb8 Tests: Update FindBoost.TestPython for Python 3.11 and 3.12

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7929
2022-11-17 08:06:18 -05:00
Brad King
8437141b53 Genex: Fix TARGET_PROPERTY lookup scope in transitive usage requirements
When `$<TARGET_PROPERTY:tgt,prop>` is used in an `INTERFACE_*` target
property for usage requirements, it may be evaluated in the context of a
dependent target in another directory.  Look up the `tgt` name in the
directory of the target whose property holds the expression so that
imported targets isolated to that directory are visible.

Fixes: #24163
2022-11-17 07:57:21 -05:00
Alex Turbov
6e3e8827fa Refactor: cmGlobalGeneratorFactory::GetDocumentation returns entry
Before, a documentation entry was in/out parameter.
Now it's a normal return value.

This also makes possible to eliminate defaulted default ctor
for `cmDocumentationEntry` for C++ 11.

Also, simplify `cmake::AppendGlobalGeneratorsDocumentation()`.
2022-11-17 16:37:13 +04:00
Alex Turbov
e99a4acbcd cmGlobalGeneratorFactory.h: Simplify returning default values 2022-11-17 16:37:13 +04:00
Alex Turbov
7daadd304f cmake.cxx: Simplify cmake::AppendExtraGeneratorsDocumentation() 2022-11-17 16:37:13 +04:00
Alex Turbov
df2047c2ac cpack.cxx: Optimize calls to std::osteam::operator<< 2022-11-17 16:37:13 +04:00
Alex Turbov
f6180485bb cpack.cxx: Eliminate redundant if 2022-11-17 16:37:12 +04:00
Alex Turbov
d7c183f35c cpack.cxx: Deduplicate "Generators" section creation code 2022-11-17 16:37:12 +04:00
Alex Turbov
9c06f0dd71 cmake.cxx: Move static functions to an anonymous namespace 2022-11-17 16:37:12 +04:00
Alex Turbov
69918b07e1 cmDocumentationEntry: Drop all user provided ctors for C++ >= 14
There is no need for them cuz:

- the last field has a default value
- all static instances use 2 arguments convertible to `std::string`
- "dynamic" instances used for _Generator_ doc entries access
  fields diectly using default constructed instance

Moreover, compiler may generate move ctor/assign when needed.
2022-11-17 16:37:12 +04:00
Alex Turbov
439d2cf9cb cmake.cxx: Optimize calls to std::osteam::operator<< 2022-11-17 16:37:12 +04:00