Commit Graph

14838 Commits

Author SHA1 Message Date
Brad King
eddf66eaef CMakeDetermineASMCompiler: De-duplicate list of compiler info variables 2025-03-24 12:31:51 -04:00
Brad King
c0224f5aa1 CMakeDetermineCompilerABI: Make ABI info string more robust
Apply the fix from commit 70c2dc8a64 (ENH: Make compiler id detection
more robust, 2008-03-10, v2.6.0~67) the `INFO:abi` string.
2025-03-24 12:31:47 -04:00
Brad King
67ab580804 Windows/Clang: Fix indentation in platform information module 2025-03-24 12:22:25 -04:00
Brad King
b167d25104 Merge topic 'FindQt4-QT4_FOUND'
dfa2b58cb6 FindQt4: Restore QT4_FOUND setting

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10496
2025-03-21 09:32:52 -04:00
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
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
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
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