a9ea55f0d7 Fix CMAKE_PARENT_LIST_FILE after return from include() or find_package()
41708398eb cmMakefile: Factor out base class for list file scope RAII
ce8be3da80 cmMakefile: De-duplicate CMAKE_CURRENT_LIST_FILE variable names
0b85f8f137 Tests: Add cases for CMAKE_PARENT_LIST_FILE with include() and find_package()
002979e145 Tests/RunCMake/include: Match incidental line numbers more robustly
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10505
Prior to commit abfe98ce6c (ASM: Consider C/CXX compilers only if
enabled, 2025-04-08) one could pass `-DCMAKE_C_COMPILER=...` to
configure a project that enables `ASM` before/without `C` or `CXX`.
This was previously allowed accidentally as a side effect of the way we
implemented support for using the selected `C` or `CXX` compiler for
`ASM`. Restore it for compatibility, but also preserve the effect of
commit 6baf65ec46 (ASM: Do not consider MSVC C/CXX compiler for generic
ASM, 2025-04-08) by excluding `cl`.
Even though these modules are removed with a policy, documentation can
still be improved a bit to help when upgrading CMake code.
Changes:
- Synced modules documentation with other similar find modules.
- Added examples section to hint how to rewrite code using the
FindPython module.
- FindPythonLibs:
- Deprecated variables moved to a separate section.
- PythonLibs_FOUND variable used. The PYTHONLIBS_FOUND variable is
also set to the same value since CMake 3.3.
- FindPythonInterp:
- PythonInterp_FOUND variable used. The PYTHONINTERP_FOUND variable is
also set to the same value since CMake 3.3.
Since KWSys commit `4feb470ab` (SystemTools: Remove GetActualCaseForPath
from CollapseFullPath, 2024-10-23), imported by commit ede7f2afa6 (KWSys
2024-10-24 (e1acde2e), 2024-10-24, v4.0.0-rc1~589^2~1^2), the KWSys
`CollapseFullPath` function that we use to normalize source file paths
no longer looks up the on-disk case of file paths. This change was
intentionally made to reduce unnecessary disk accesses. The change may
affect Windows-only projects that were never built on a case sensitive
filesystem. Call out the change in the 4.0 release notes.
Issue: #26854
- Added examples section.
- Explained the DevIL package libraries and imported targets in more
details.
- Separated the result variables and cache variables.
- Module documentation synced as much as possible for the time being
with other similar find modules.
- Updated and synced module documentation according to other similar
find modules.
- Added a separate examples section.
- Commands are listed using the `command` directives.
- Updated documentation for the `SquishTestScript.cmake` file. This is
not actually a module but a test script that `FindSquish` uses and
also isn't technically deprecated as it is still used. Documentation
changed a bit to explain it is an internal script that shouldn't be
used in the project directly.
In commit 8514ee9b31 (HIP: analyze output of `hipcc` to determine
default GPU architecture, 2021-05-27, v3.21.0-rc1~66^2) we dropped these
from most tests, but missed `HIP.TryCompile`. Since commit 735f41fc2d
(HIP: Use 'rocm_agent_enumerator' to determine CMAKE_HIP_ARCHITECTURES,
2021-09-15, v3.21.3~1^2~3) we automatically select architectures anyway.
4ed399ccfb GNUInstallDirs: Change special path defaults to absolute
7566a477f7 GNUInstallDirs: Factor out helper for special absolute path logic
42dfcbf1a5 GNUInstallDirs: Refactor LIBDIR default calculation
9789f7d05e GNUInstallDirs: Add internal helper to compute specific defaults
83f44bbf53 GNUInstallDirs: Factor out helper to compute system type
0c9b6aa9e4 GNUInstallDirs: De-duplicate description of defaults
18e1341950 GNUInstallDirs: Move defaults from arguments to variables
9f41a67fce GNUInstallDirs: Reduce duplication of CMAKE_INSTALL_ prefix
...
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10542