Commit Graph

14717 Commits

Author SHA1 Message Date
Peter Kokot
dfa2b58cb6 FindQt4: Restore QT4_FOUND setting
Commit 1a8e43d57d (FindPackageHandleStandardArgs: Clarify the FOUND_VAR
option, 2024-12-31, v4.0.0-rc1~247^2) simplified the
`<PackageName>_FOUND` and `<PACKAGENAME>_FOUND` variables one step
further but missed that this specific module sets the `QT4_FOUND`
variable also for the case where `find_package_handle_standard_args()`
isn't called (for example, when the found package is Qt3 or Qt5 and
later).  Restore the `set()` call in case `QT4_FOUND` is used in the
code.
2025-03-21 08:36:57 -04:00
Brad King
8214004200 Merge topic 'GNU-linker-pushpop_state-detection' into release-4.0
d5be7c7f31 Linker: Detect GNU push-state/pop-state flags more robustly
7b552b9a64 Linker: Save GNU push-/pop-state detection with compiler inspection results
a9b126b0da Linker: Save linker inspection results with compiler inspection results
3f5f2b2d49 Linker: Honor CMAKE_<LANG>_LINK_LIBRARY_USING_FEATURE_SUPPORTED when FALSE

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10468
2025-03-21 08:07:13 -04:00
Marc Chevrier
d5be7c7f31 Linker: Detect GNU push-state/pop-state flags more robustly
Try actually passing them to the linker to see whether it complains.

Fixes: #26766
2025-03-20 11:00:02 -04:00
Marc Chevrier
7b552b9a64 Linker: Save GNU push-/pop-state detection with compiler inspection results
Previously we saved it in the cache, which:

* Persists even if a new version of CMake changes how the check works.
* Does not propagate to `try_compile` checks.
2025-03-20 11:00:02 -04:00
Marc Chevrier
a9b126b0da Linker: Save linker inspection results with compiler inspection results
Reconfigure `CMake<LANG>Compiler.cmake` again after linker information
is detected.
2025-03-20 11:00:02 -04:00
Aditya Vidyadhar Kamath
e9c772404b AIX: Consider tbss symbols in ExportImportList
Export `tbss` (thread variable but part of `bss` section) variables, e.g.:

    [125]  m  0x00000010    .tbss    1 extern                   s2n_errno
    [126]  a4 0x00000004      0   0    CM      UL   -   -
2025-03-18 09:56:26 -04:00
Brad King
4223b2410f Merge topic 'ASM_MARMASM-config' into release-4.0
9b5915c178 MARMASM: Fix loading linker information

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10487
2025-03-18 09:18:47 -04:00
Brad King
52b62cf4e1 Merge topic 'ASM_MARMASM-config' into release-3.31
9b5915c178 MARMASM: Fix loading linker information

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10487
2025-03-18 09:16:34 -04:00
Marc Chevrier
9b5915c178 MARMASM: Fix loading linker information
Fix misspelled `ASM_DIALECT` variable value.
2025-03-17 12:02:38 -04:00
Brad King
89f6be8264 Merge topic 'msvc-c++23' into release-4.0
d54916d03a MSVC: Revert use of temporary -std:c++23preview flag for C++23

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10470
2025-03-17 11:42:03 -04:00
Brad King
d54916d03a MSVC: Revert use of temporary -std:c++23preview flag for C++23
Revert commit b3f1c60aff (MSVC: Use -std:c++23preview flag for C++23
when available, 2025-03-12), except for the VS flag table update.
MSVC documentation states that the flag will be removed in the future
when `-std:c++23` is added.  Therefore it is only suitable for manual
specification by end-users.

Issue: #26692
2025-03-14 09:55:18 -04:00
Brad King
5cfb301524 Merge topic 'msvc-c++23' into release-4.0
b3f1c60aff MSVC: Use -std:c++23preview flag for C++23 when available
1b4a802413 MSVC: Split C++23 flag selection into dedicated block

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10462
2025-03-13 09:40:53 -04:00
Brad King
b3f1c60aff MSVC: Use -std:c++23preview flag for C++23 when available
This was added by VS 17.13.

Fixes: #26692
2025-03-12 14:50:32 -04:00
Brad King
1b4a802413 MSVC: Split C++23 flag selection into dedicated block 2025-03-12 14:50:31 -04:00
Marc Chevrier
ee066d2271 LinkerId: Suppress decorated diagnostics during linker inspection
Fixes: #26747
2025-03-10 10:36:27 -04:00
Kitware Robot
de273b2e11 LICENSE: Replace references to Copyright.txt with LICENSE.rst
```
git grep -lz 'Copyright.txt or https://cmake.org/licensing ' |
  while IFS= read -r -d $'\0' f ; do
    sed -i '/Copyright.txt or https:\/\/cmake.org\/licensing / {
              s/Copyright.txt/LICENSE.rst/
            }' "$f" ; done
```
2025-03-03 09:56:07 -05:00
Brad King
283a48403f CPack/RPM: Fix detection of RPM support for weak dependencies
Add a missing `find_program` call to populate `RPM_EXECUTABLE`.
This was left out of two previous changes that intended to query
the `rpm` executable:

* In commit 9b53eca317 (CPack/RPM: Fix weak dep support, 2021-06-29,
  v3.21.0-rc2~4^2), without `RPM_EXECUTABLE` the query always failed,
  so we were concluding that weak dependencies are not supported even
  when they are.

* In commit 488de6294a (CPack: correctly perform querytags on old
  versions of RPM, 2025-01-09, v4.0.0-rc1~182^2~3), without
  `RPM_EXECUTABLE` the query always failed.  This change has not
  yet been in a release anyway.

Also fix the test case for the "suggests" field to verify this.

Issue: #22350
Reported-by: Balazs Kosaras <balazskosaras@gmail.com>
2025-02-28 17:24:44 -05:00
Brad King
ab4e74ad0b CPack/RPM: Remove redundant conditions for presence of rpmbuild
If `rpmbuild` is missing, error out early.

While at it, drop unfinished `alien` support.
2025-02-28 17:06:47 -05:00
Connor Baker
c5d81a2468 FindCUDAToolkit: Fix precondition for dependency on Threads
`FindThreads` requires that C or CXX be enabled.  Previously we were
only checking that `CMAKE_{C,CXX}_COMPILER` have been set, which does
not mean the languages have been enabled.
2025-02-16 11:21:18 -05:00
Marc Chevrier
e9770a315d FindPython: Support for multiple searches in same directory
This is a complement to commit 9b0510fa57 (FindPython: add support for
multiple searches in same directory, 2025-01-05).
2025-02-13 09:36:43 -05:00
Brad King
576abb42cf Merge topic 'linker-configuration-haiku' into release-4.0
379785e869 Linker configuration: Add missing platform Haiku

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10318
2025-02-10 16:16:20 -05:00
Begasus
379785e869 Linker configuration: Add missing platform Haiku
Add Haiku information modules missed by commit c1c4cf9545 (Linker
configuration: introduce a new architecture, 2024-06-05,
v3.31.0-rc1~307^2~1).
2025-02-10 10:27:27 -05:00
Brad King
feaa0f5cc0 Merge topic 'aix-id-var' into release-4.0
ff03db6657 AIX: Add platform id variables 'AIX' and 'CMAKE_HOST_AIX'

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10304
2025-02-08 09:29:45 -05:00
Brad King
357c8fd7be Merge topic 'xcode-compiler-id-no-xctest' into release-4.0
e7062a79bd Xcode: Remove compiler id dependency on xctest

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Jason Juang <jasjuang@gmail.com>
Merge-request: !10303
2025-02-08 09:25:50 -05:00
Brad King
e9b044730e Merge topic 'ticlang-uppercase-arm-architecture' into release-4.0
3fa159dd57 TIClang: Make ARM architecture id uppercase

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10302
2025-02-08 09:22:55 -05:00
Evan Wilde
e7062a79bd Xcode: Remove compiler id dependency on xctest
Previously the compiler identification project would implicitly generate
unit-tests that depend on XCTest when building for iOS, visionOS, and tvOS.

Fixes: #26600
2025-02-07 11:30:05 -05:00
Aditya Vidyadhar Kamath
ff03db6657 AIX: Add platform id variables 'AIX' and 'CMAKE_HOST_AIX'
This allows projects to use `if(AIX)` blocks instead of spelling
out `if(CMAKE_SYSTEM_NAME STREQUAL "AIX")`.  We already have similar
variables for many other platforms.
2025-02-07 11:10:43 -05:00
Brad King
13cf00ad71 Merge topic 'ticlang-uppercase-arm-architecture' into release-3.31
3fa159dd57 TIClang: Make ARM architecture id uppercase

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10302
2025-02-07 09:46:14 -05:00
Josef Angstenberger
3fa159dd57 TIClang: Make ARM architecture id uppercase
The initial compiler support implemented in commit 9ba0a54554 (TIClang:
Add support for TI Clang-based compilers, including tiarmclang,
2023-12-06) introduced `Arm` as architecture instead of `ARM` which is
used for all other compilers.
2025-02-07 09:29:32 -05:00
Brad King
4c50496a11 Merge topic 'tasking-output-ext-small-enh' into release-4.0
83ce71dd38 Tasking: Enable WHOLE_ARCHIVE link feature
5729d6a66d Tasking: Detect ARM architecture for C++
1241c7dbcf Tasking: Set response file flag
754210a3f6 Tasking: Set object extension to .o

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10298
2025-02-07 08:25:51 -05:00
Josef Angstenberger
83ce71dd38 Tasking: Enable WHOLE_ARCHIVE link feature
Issue: #26426
2025-02-06 10:55:31 -05:00
Josef Angstenberger
5729d6a66d Tasking: Detect ARM architecture for C++
The preprocessor switch to detect architectures on Tasking
differ for C and C++.

Issue: #26426
2025-02-06 10:55:31 -05:00
Josef Angstenberger
1241c7dbcf Tasking: Set response file flag
If not explicitly set to `-f `, the default `@` is used,
which is not supported by Tasking.

Issue: #26426
2025-02-06 10:55:31 -05:00
Josef Angstenberger
754210a3f6 Tasking: Set object extension to .o
The extension `.o` is used by the compiler itself,
and is the only one found in its documentation.

Issue: #26426
2025-02-06 10:55:31 -05:00
Ryan Curtin
6745af99c8 FindArmadillo: Fix wrapper linking with MSVC
Transitive linking does not work with MSVC, so we must link against both
Armadillo and its dependencies directly if `ARMA_USE_WRAPPER` is enabled.
2025-02-05 13:25:28 -05:00
Robert Maynard
a745b6869e
CUDA/Clang: Update architectures supported by CUDA 12.8 2025-02-04 12:21:16 -05:00
Brad King
568a9795a6 Merge topic 'ci-fedora41-dnf-cache'
f398a517be ci: Update to rebuilt Fedora base images
e9fb64f3b7 Source: Drop incorrect class documentation that had typos
2844296c7b FindMPI: Fix typo in comment
72cce810ce ci(fedora41-hip): update the image in sync w/ `fedora41`
fa08bd803d ci(fedora41): refactor tests removal from Python packages
0e5159656a ci(fedora41): split install prerequisites and build for Rust packages
88c5cf809a ci(fedora41): split install prerequisites and build RBEnv into separate phases
86e96322eb ci(fedora41): tune RVM build to speedup and minimize the final image
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10283
2025-02-04 09:00:59 -05:00
Brad King
796db3a229 Merge topic 'ExternalData-add-httpheader'
5106f34eed ExternalData: Add option to specify HTTP headers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10275
2025-02-04 08:59:42 -05:00
Brad King
b0849dfa4f Merge topic 'FindRuby-comments'
21a5ca5fc2 FindRuby: Update comments

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10280
2025-02-04 08:57:59 -05:00
Brad King
903ad75616 Merge topic 'use-math-hex'
2c3df0237d Modules: Use math() for hex to decimal conversion

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alex Turbov <i.zaufi@gmail.com>
Merge-request: !10281
2025-02-04 08:54:50 -05:00
Brad King
e2ab33d689 Merge topic 'instrumentation-ctest-find-labels'
1595713596 instrumentation: Fix expected location of Labels when using CTest launchers
d2a3d596d6 instrumentation: Fix expected location of Labels when using CTest launchers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10264
2025-02-04 08:51:11 -05:00
Brad King
ee35812ddf Merge topic 'fix-swift-whole-archive'
c894bc0831 Linker: Restore support for WHOLE_ARCHIVE with Swift libraries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10266
2025-02-04 08:47:56 -05:00
Brad King
2844296c7b FindMPI: Fix typo in comment 2025-02-03 12:03:07 -05:00
Charlie Savage
21a5ca5fc2 FindRuby: Update comments 2025-02-03 11:44:02 -05:00
Jakob Ronestjärna
5106f34eed ExternalData: Add option to specify HTTP headers
Add a `ExternalData_HTTPHEADERS` variable to specify them.

Fixes: #26638
2025-02-03 11:30:59 -05:00
Alexandra Cherdantseva
c894bc0831 Linker: Restore support for WHOLE_ARCHIVE with Swift libraries
Add Swift linker information modules missed by commit c1c4cf9545 (Linker
configuration: introduce a new architecture, 2024-06-05,
v3.31.0-rc1~307^2~1) and needed since commit 1e35163ae8 (WHOLE_ARCHIVE
link feature: rely now on linker configuration, 2024-07-01,
v3.31.0-rc1~307^2).

Fixes: #26657
2025-02-03 10:32:34 -05:00
Martin Duffy
1595713596 instrumentation: Fix expected location of Labels when using CTest launchers 2025-02-03 09:08:44 -05:00
Nikita Nemkin
2c3df0237d Modules: Use math() for hex to decimal conversion
math() can parse hex numbers prefixed with "0x" since 3.13.
2025-02-03 15:04:57 +05:00
Brad King
d65f522a50 Merge topic 'FindRuby-compat-vars'
2d86cf314f FindRuby: Drop upper-case RUBY_ results in favor of Ruby_ variables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10273
2025-02-02 07:03:10 -05:00
Brad King
4a11fd8dde Merge topic 'help-formatting'
d1d134534d Help: Add formatting to FindGettext and FindGnuplot
d138555959 Help: Use Title Case for all "Imported Targets" sections
bbbf3536c9 Help: Make sure all deprecated utility modules have a notice
969b039f40 Help: Reference correct variables in 3.6 release notes
9c963de998 Help: Remove stray spaces and one colon
51e4d81f16 Help: Remove accidental blockquotes around lists
718043b540 Help: Convert some literal blocks into tables and lists
914d580a4f Utilities/Sphinx: Ignore warning in generated texinfo documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10269
2025-02-01 07:19:04 -05:00