Commit Graph

14832 Commits

Author SHA1 Message Date
Brad King c8f4ae9ccf Merge topic 'GNU-linker-pushpop_state-detection'
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:16 -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
Brad King 0a69e10cbf Merge topic 'FindVulkan-debug-libraries'
74bb57cae9 FindVulkan: Search for dxc / volk debug libraries
7c7c7721e9 FindVulkan: Fix test

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10475
2025-03-20 09:15:16 -04:00
lumina37 74bb57cae9 FindVulkan: Search for dxc / volk debug libraries
Fixes: #25722
Signed-off-by: lumina37 <starry.qvq@gmail.com>
2025-03-19 09:14:53 -04:00
Peter Kokot 47805ca590 CMakeAddFortranSubdirectory: Update documentation
This adds few improvements to the CMakeAddFortranSubdirectory module
documentation.

- Added a basic usage example and "See Also" section
- Function arguments are described separate from the function signature.
2025-03-19 02:00:02 +01:00
Brad King 20bb463acc Merge topic 'aix-export-tbss'
e9c772404b AIX: Consider tbss symbols in ExportImportList

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10486
2025-03-18 13:11:58 -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 81210b0098 Merge topic 'patch-MacroAddFileDependencies'
cdda7d044d Qt4Macros: Replace obsolete/deprecated macro_add_file_dependencies()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10481
2025-03-18 09:52:23 -04:00
Brad King 5ea47acecc Merge topic 'patch-AddFileDependencies'
7dc53c5362 KDE3Macros: Replace obsolete/deprecated add_file_dependencies()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10482
2025-03-18 09:51:17 -04:00
Brad King 970179502f Merge topic 'patch-SelectLibraryConfigurations'
dfd6af0460 SelectLibraryConfigurations: Update documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10480
2025-03-18 09:49:56 -04:00
Brad King 31fab89027 Merge topic 'patch-GetPrerequisites'
d6e1d220a0 GetPrerequisites: Update documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10483
2025-03-18 09:48:35 -04:00
Brad King c0f6a1184b Merge topic 'patch-CMakeDetermineVSServicePack'
0f27b9bab6 CMakeDetermineVSServicePack: Update documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10485
2025-03-18 09:45:56 -04:00
Brad King 80682590b7 Merge topic 'patch-CMakeExpandImportedTargets'
fb34f1d630 CMakeExpandImportedTargets: Update documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10484
2025-03-18 09:44:30 -04:00
Brad King 555f603bd5 Merge topic 'patch-FindQt3'
c7a5fc355c FindQt3: Update documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10476
2025-03-18 09:40:47 -04:00
Brad King 73294d2a7d Merge topic 'ASM_MARMASM-config'
9b5915c178 MARMASM: Fix loading linker information

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10487
2025-03-18 09:18:49 -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 46838bbe11 Merge topic 'msvc-c++23'
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:05 -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
Peter Kokot 0f27b9bab6 CMakeDetermineVSServicePack: Update documentation 2025-03-16 23:10:15 +01:00
Peter Kokot fb34f1d630 CMakeExpandImportedTargets: Update documentation 2025-03-16 23:03:05 +01:00
Peter Kokot d6e1d220a0 GetPrerequisites: Update documentation
This updates the module documentation to ease the upgrade path to
file(GET_RUNTIME_DEPENDENCIES) and syncs formatting as used in other
documentation pages. Lowercase style is used for functions, some missing
arguments added to signatures, and examples section added.
2025-03-16 22:49:09 +01:00
Peter Kokot 7dc53c5362 KDE3Macros: Replace obsolete/deprecated add_file_dependencies()
The AddFileDependencies module is deprecated as of CMake 3.20 but
doesn't emit warnings/deprecation notices yet. This for now only
upgrades the code usage of KDE3Macros module without this deprecated
module.
2025-03-16 02:01:55 +01:00
Peter Kokot cdda7d044d Qt4Macros: Replace obsolete/deprecated macro_add_file_dependencies()
The MacroAddFileDependencies module is deprecated as of CMake 3.14 but
doesn't emit warnings/deprecation notices yet. This for now only
upgrades the code usage of Qt4Macros module when used with FindQt4
without this deprecated module.

Additionally, the lowercase style is used in the documentation.
2025-03-16 01:56:37 +01:00
Peter Kokot dfd6af0460 SelectLibraryConfigurations: Update documentation
This describes the module in more details and adds examples section.
2025-03-16 01:25:38 +01:00
Peter Kokot c7a5fc355c FindQt3: Update documentation
Although the FindQt module (which includes this one) has been deprecated
since CMake 3.14, this update enhances the online documentation for
better readability.

- Additionally, Qt3_FOUND has been added to the documented variable
  list, as it is automatically set by
  find_package_handle_standard_args().
- Examples section added.
2025-03-15 12:14:55 +01:00
Brad King 3d8954cd20 Merge topic 'patch-CheckLanguage'
7bc642a7eb CheckLanguage: Add include() to example and reword documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10465
2025-03-14 12:15:35 -04:00
Brad King 718886fa60 Merge topic 'FortranCInterface-Cray'
ce45045d50 FortranCInterface: Add support for Cray module mangling

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10466
2025-03-14 12:14:16 -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
Victor Brunini ce45045d50 FortranCInterface: Add support for Cray module mangling
Cray Fortran uses mangling of the form `my_sub$my_module_` with the
subroutine name first.  Teach FortranCInterface to detect this case.
Add `FortranCInterface_MODULE_{,_}ORDER` result variables to report it.

With optimizations on, Cray Fortran inlines the module subroutine into
the calling object, so our symbol with the `INFO` string is not used.
Add a directive to suppress inlining to avoid this.
2025-03-13 10:18:02 -05:00
Brad King 5d1ec25c60 Merge topic 'test-cray-clang'
a5f5a87482 Tests/RunCMake/if: Optionally skip checking write-only directory permissions
2a37015319 Tests/FortranModules: Skip submodules with Cray Fortran compiler
fa4ac78f4a Tests/FortranModules: Simplify check for submodules support
2c28321adb Tests: Combine conditions for BundleUtilities test
6dfd8e19b5 GetPrerequisites: Recognize CrayPE system libraries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10464
2025-03-13 09:46:51 -04:00
Brad King b040b91b2b Merge topic 'cpack-project-path'
2d9ae9de96 CPack: Allow source-relative CPACK_PROJECT_CONFIG_FILE

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10461
2025-03-13 09:44:20 -04:00
Brad King 776c4e628a Merge topic 'patch-FindWget'
24de3b49c3 FindWget: Update documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10460
2025-03-13 09:43:03 -04:00
Brad King 3f29c9d457 Merge topic 'msvc-c++23'
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:55 -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
Peter Kokot 7bc642a7eb CheckLanguage: Add include() to example and reword documentation 2025-03-13 14:26:24 +01:00
Brad King 6dfd8e19b5 GetPrerequisites: Recognize CrayPE system libraries 2025-03-12 16:37:14 -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
Peter Kokot 24de3b49c3 FindWget: Update documentation 2025-03-12 18:08:25 +01:00
Nikita Nemkin 2d9ae9de96 CPack: Allow source-relative CPACK_PROJECT_CONFIG_FILE
Resolve relative CPACK_PROJECT_CONFIG_FILE explicitly at config
generation time. Otherwise, it will be resolved at runtime
relative to the CPack execution directory (which could be anything).

Additionally, issue a warning if reading PACK_PROJECT_CONFIG_FILE
fails at runtime.

Fixes: #15522
2025-03-12 20:37:01 +05:00
Brad King 47ceb32cf3 Merge topic 'patch-CMakeBackwardCompatibilityCXX'
9883281982 CMakeBackwardCompatibilityCXX: Update documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10459
2025-03-12 09:26:05 -04:00
Brad King 069cc12f4e Merge topic 'patch-TestForSSTREAM'
c2eb4b58c0 TestForSSTREAM: Update documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10457
2025-03-12 09:24:47 -04:00
Brad King 601277ed4e Merge topic 'patch-TestForANSIForScope'
8f25772351 TestForANSIForScope: Update documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10453
2025-03-12 09:23:36 -04:00
Brad King 8747ff63cd Merge topic 'patch-TestForANSIStreamHeaders'
8c2cd72a0f TestForANSIStreamHeaders: Update documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10456
2025-03-12 09:21:39 -04:00
Peter Kokot c2eb4b58c0 TestForSSTREAM: Update documentation
This describes the module in more details to make upgrading code easier.

Additionally, also the CMAKE_HAS_ANSI_STRING_STREAM cache variable is
described as it was already briefly documented at the
CMakeBackwardCompatibilityCXX module.
2025-03-11 16:05:12 +01:00
Peter Kokot 8f25772351 TestForANSIForScope: Update documentation
This describes the module in more details to make upgrading code easier.
2025-03-11 16:02:22 +01:00