Commit Graph

12947 Commits

Author SHA1 Message Date
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
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
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
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
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
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
Robert Maynard
a98a82f24b Fortran: Support cuf file extension when using nvfortran 2022-11-16 11:05:03 -05:00
Brad King
ad02e67a89 Merge topic 'FindPython-enhance-SOABI'
328d847f70 FindPython: enhance SOABI computation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7917
2022-11-16 09:35:42 -05:00
Brad King
c5a94e730a Merge topic 'qtifw-4.5'
351239b776 CPack/IFW: Add support for QtIFW 4.5

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7920
2022-11-16 08:59:13 -05:00
Joerg Bornemann
d538cb0e18 Only initialize CMAKE_CXX_COMPILER_PREDEFINES_COMMAND
Don't initialize the other CMAKE_<LANG>_COMPILER_PREDEFINES_COMMAND
variables.

The only language variant that is used is
CMAKE_CXX_COMPILER_PREDEFINES_COMMAND, and the other language variants
contained invalid, namely C++-specific commands.

Fixes: #23968
2022-11-16 13:08:31 +01:00
Joerg Bornemann
70c721befb AutoMoc: Don't initialize already defined CMAKE_AUTOMOC_ variables
Setting the variables CMAKE_AUTOGEN_ORIGIN_DEPENDS,
CMAKE_AUTOMOC_COMPILER_PREDEFINES, and CMAKE_AUTOMOC_MACRO_NAMES on the
cmake command line did not work as expected. CMakeGenericSystem.cmake
initialized these variables even if they were defined by the user.

This led to the confusing situation where the cache variant of a
variable had one value (defined on the command line) and the non-cache
variant of a variable had a different value (defined in
CMakeGenericSystem.cmake).

Fix this by checking whether the variables are defined before setting
their default values.

Fixes: #24069
2022-11-16 10:38:53 +01:00
Erlend E. Aasland
351239b776 CPack/IFW: Add support for QtIFW 4.5
Fixes: #24164
2022-11-15 16:30:50 -05:00
Marc Chevrier
328d847f70 FindPython: enhance SOABI computation
Fixes: #24121, #23651
2022-11-15 16:54:44 +01:00
Brad King
5dbc7be0da Merge topic 'legacy'
a44d415ed3 CMakeDetermineSystem: use execute_process() vs. exec_program()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7884
2022-11-15 08:53:50 -05:00
Brad King
7a4673965f Merge topic 'nvcc-isystem'
207fd956d8 CUDA: Use consistent -isystem flag style for NVIDIA nvcc

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7904
2022-11-14 10:32:32 -05:00
Brad King
38c8866dd1 Merge topic 'msvc-19.34-cpp-modules'
0e9782b336 msvc: bless MSVC 19.34 support for C++ modules as experimental

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7745
2022-11-14 10:18:21 -05:00
Brad King
d41243efc9 Merge topic 'msvc-19.34-cpp-modules' into release-3.25
0e9782b336 msvc: bless MSVC 19.34 support for C++ modules as experimental

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7745
2022-11-14 10:18:20 -05:00
Brad King
6495e7e555 Merge topic 'iar-asm-archid'
f9ff6ab2d1 IAR: Fix ASM compiler architecture detection

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7903
2022-11-14 10:15:56 -05:00
Michael Hirsch
a44d415ed3 CMakeDetermineSystem: use execute_process() vs. exec_program() 2022-11-13 14:26:39 -05:00
Ben Boeckel
0e9782b336 msvc: bless MSVC 19.34 support for C++ modules as experimental
Visual Studio 17.4 now contains official support for what CMake needs.
2022-11-11 16:54:05 -05:00
YantaoZhao
207fd956d8 CUDA: Use consistent -isystem flag style for NVIDIA nvcc
Replace `-isystem=` with `-isystem ` for consistency with other compilers.

Fixes: #24154
2022-11-11 12:19:41 -05:00
Felipe Torrezan
f9ff6ab2d1 IAR: Fix ASM compiler architecture detection
Narrow the regex to match the actual supported architectures,
avoiding mismatched detection.

Fixes: #24145
2022-11-11 09:08:03 -05:00
Brad King
e159b5b2ae Merge topic 'doc-improvements'
d4d1f85297 Help: Move a note about arguments and genexes into include file
968224484f Help: Drop unused `PROPERTY_GENEX` replace from `prop_tgt/INTERFACE_*` files
65457e4fae Help: Add _See Also_ sections to related CMake commands
c86ec79d07 Help: Use direct refs to genexes instead of ``$<GENEX-NAME>``
8c6274326d Help: Use CMake highlighting for command synopsis
c356a94512 Help: Use monospaced font for a genex name in a section title
f98c8707f4 Help: Use `code-block:: cmake` instead of `::` for sub-commands descriptions
2ba351ca4f Help: ``CMake`` → CMake
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7873
2022-11-10 10:11:22 -05:00
Brad King
8dc7f6a443 Merge topic 'find_cuda_toolkit_support_symlink_math_dirs'
6f707ab541 FindCUDAToolkit: Support math_libs directory being a symlink

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7893
2022-11-10 10:04:01 -05:00
Robert Maynard
6f707ab541 FindCUDAToolkit: Support math_libs directory being a symlink
Fixes #24140
2022-11-09 16:04:00 -05:00
Ilia K
3166547cf6 ASM_MARMASM: Add support for Microsoft ARM assembler language
https://learn.microsoft.com/en-us/cpp/assembler/arm/arm-assembler-reference

Fixes: #23999
2022-11-09 10:22:46 -05:00
Brad King
7e0c00c251 Merge topic 'googletest-addtests-skipped'
f54963e60f GoogleTest: Reports skipped test with gtest_add_tests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !7868
2022-11-08 09:18:01 -05:00
Brad King
a0ad3209b5 Merge topic 'find-version-vars'
9e3f1723ff Find{BZip2,LibLZMA,ZLIB}: use *_VERSION as modern CMake

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Craig Scott <craig.scott@crascit.com>
Merge-request: !7877
2022-11-08 09:04:43 -05:00
Brad King
dab81ced1b Merge topic 'sphinx-linkcheck'
a89c76a773 Build: Add `SPHINX_LINKCHECK` build option
137b00cda1 Build: Do not redirect `sphinx-build` output if CMake running in verbose mode
d954fb8a60 Build: Deduplicate `add_custom_command()` calls for Sphinx targets
2af8724485 Merge branch 'backport-sphinx-linkcheck' into sphinx-linkcheck
435b0c573c Help: Fix some redirects reported with sphinx linkcheck
ac5295a9de Help: Fix broken external links found by sphinx linkcheck

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7876
2022-11-08 09:02:31 -05:00
Brad King
c30cd5fef1 Merge topic 'sphinx-linkcheck' into release-3.25
435b0c573c Help: Fix some redirects reported with sphinx linkcheck
ac5295a9de Help: Fix broken external links found by sphinx linkcheck

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7876
2022-11-08 09:02:30 -05:00
Brad King
6593aa8f06 Merge topic 'FindOpenSSL-mingw-lib64'
ed24414eee FindOpenSSL: Search "lib64" for mingw 64-bit installs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7875
2022-11-08 08:15:10 -05:00
Brad King
5e0bd923bd Merge topic 'FindOpenSSL-mingw-lib64' into release-3.25
ed24414eee FindOpenSSL: Search "lib64" for mingw 64-bit installs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7875
2022-11-08 08:15:09 -05:00
Brad King
2624c88e2f Merge topic 'tasking_remove_system_processor'
0a1d558971 Tasking: Remove CMAKE_SYSTEM_PROCESSOR support per CMP0123

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7879
2022-11-08 08:11:42 -05:00
Michael Hirsch
9e3f1723ff Find{BZip2,LibLZMA,ZLIB}: use *_VERSION as modern CMake
The old *_VERSION_STRING is silently left set for backward compat.
2022-11-07 16:22:31 -05:00
Alex Turbov
2ba351ca4f Help: `CMake` → CMake 2022-11-07 22:55:06 +04:00
Alex Turbov
1d3630203c Help: Use captions for code snippets in the FetchContent module
Instead of "manually" added captions use the Sphinx option of
`code-block` directive.
2022-11-07 22:55:06 +04:00
Brad King
2af8724485 Merge branch 'backport-sphinx-linkcheck' into sphinx-linkcheck 2022-11-07 10:09:27 -05:00
Alex Turbov
435b0c573c Help: Fix some redirects reported with sphinx linkcheck
Mostly it's about replace `http:` with `https:` protocol.
2022-11-07 10:07:36 -05:00
Alex Turbov
ac5295a9de Help: Fix broken external links found by sphinx linkcheck 2022-11-07 10:05:41 -05:00
Christoph Seitz
0a1d558971 Tasking: Remove CMAKE_SYSTEM_PROCESSOR support per CMP0123
Architecture specific compile options should be set through
toolchain files.

Fixes: #24115
2022-11-07 09:22:02 -05:00
klytje
ed24414eee FindOpenSSL: Search "lib64" for mingw 64-bit installs 2022-11-07 09:04:00 -05:00
Brad King
4ac37b8a0e Merge topic 'ExternalProject-INSTALL_BYPRODUCTS'
8c6b2928f4 ExternalProject: Add `INSTALL_BYPRODUCTS` option
6d6baffb85 Tests: Fix ExternalLibraryWithSubstitution test
4bcfff2df3 ExternalProject: Clarify `BYPRODUCTS` docs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7866
2022-11-07 08:57:13 -05:00
Brad King
4e047870bc Merge topic 'CheckCompilerFlag-Swift'
2d5403ecaa CheckCompilerFlag: Add Swift Support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7865
2022-11-07 08:52:25 -05:00
DavidPerretSN
f54963e60f GoogleTest: Reports skipped test with gtest_add_tests
Skipped GTests were reported as success when tests where added with gtest_add_tests. This fixes this behaviour.

Fixes: #24130
2022-11-07 10:21:30 +01:00
Alex Turbov
029210730a Help: Use role :program:
When mention execitable names use Sphinx semantic role `:program`
instead of ``executable`` or **executable**.
2022-11-06 04:28:21 +04:00
Alois Klink
8c6b2928f4 ExternalProject: Add INSTALL_BYPRODUCTS option
Add an `INSTALL_BYPRODUCTS` option to `ExternalProject_Add` that can
be used to declare that files are `BYPRODUCTS` of the ExternalProject
install step.

This is often required by the Ninja generator to explicitly declare
dependencies. Previously, many users used `BUILD_BYPRODUCTS`, even if
their files were created by the install step, not the build step.

This commit essentially just copies the code for `BUILD_BYPRODUCTS`.

Fixes: #24120
Fixes: #23056
2022-11-05 16:26:45 +00:00
Evan Wilde
2d5403ecaa CheckCompilerFlag: Add Swift Support
Plumb through Swift `check_compiler_flag` support.
Add tests to check that valid flags work and invalid flags don't.
2022-11-04 09:32:06 -07:00
Brad King
c3b660710c Merge topic 'tasking-pic'
7e612977b9 Tasking: Fix PIC option for Tasking Toolset

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Christoph Seitz <christoph.seitz@posteo.de>
Merge-request: !7862
2022-11-04 11:28:24 -04:00
Brad King
7c52e9e951 Merge topic 'tasking-pic' into release-3.25
7e612977b9 Tasking: Fix PIC option for Tasking Toolset

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Christoph Seitz <christoph.seitz@posteo.de>
Merge-request: !7862
2022-11-04 11:28:23 -04:00