summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Configure CMake itself with policies through CMake 3.29Brad King2024-06-054-4/+4
|
* export: Increase maximum policy version in exported files to 3.29Brad King2024-06-052-3/+3
| | | | | | The files generated by `install(EXPORT)`, `export()`, and `install_jar_exports()` commands are known to work with policies as of CMake 3.29, so enable them in sufficiently new CMake versions.
* Add deprecation warnings for policies CMP0129 and belowBrad King2024-06-054-1/+31
| | | | | | | The OLD behaviors of all policies are deprecated, but only by documentation. Add an explicit deprecation diagnostic for policies introduced in CMake 3.23 and below to encourage projects to port away from setting policies to OLD.
* Tests: Modernize RunCMake.CMP0129 test conventions and conditionsBrad King2024-06-0516-29/+34
|
* Begin post-3.30 developmentBrad King2024-06-053-2/+11
|
* Merge branch 'release-3.30'Brad King2024-06-053-12/+3
|\
| * Begin 3.30 release versioningBrad King2024-06-051-3/+3
| |
| * Help: Drop development topic notes to prepare releaseBrad King2024-06-052-9/+0
|/ | | | | Release versions do not have the development topic section of the CMake Release Notes index page.
* Merge topic 'doc-3.30-relnotes'Brad King2024-06-0537-261/+236
|\ | | | | | | | | | | | | | | 01436f6edd Help: Organize and revise 3.30 release notes d5402283d8 Help: Consolidate 3.30 release notes Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9579
| * Help: Organize and revise 3.30 release notesBrad King2024-06-051-109/+145
| | | | | | | | | | | | | | | | Add section headers similar to the 3.29 release notes and move each individual bullet into an appropriate section. Revise a few bullets. Drop the `CXX_MODULE_STD` release note since it is an experimental feature.
| * Help: Consolidate 3.30 release notesBrad King2024-06-0537-261/+200
|/ | | | | Run the `Utilities/Release/consolidate-relnotes.bash` script to move notes from `Help/release/dev/*` into `Help/release/3.30.rst`.
* Merge topic 'FindPython-free-threaded-python'Brad King2024-06-056-98/+177
|\ | | | | | | | | | | | | | | | | 9a0dee7257 FindPython: Add support for free threaded python 4178ab928f FindPython: Fix spelling error Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !9578
| * FindPython: Add support for free threaded pythonMarc Chevrier2024-06-045-97/+176
| | | | | | | | Fixes: #26016
| * FindPython: Fix spelling errorMarc Chevrier2024-06-041-1/+1
| |
* | Merge topic 'FindMatlab-test-versions_checks'Brad King2024-06-051-0/+3
|\ \ | | | | | | | | | | | | | | | | | | bda14d99f5 Tests: Fix FindMatlab.versions_checks Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9583
| * | Tests: Fix FindMatlab.versions_checksSilvio Traversaro2024-06-041-0/+3
| | | | | | | | | | | | | | | | | | | | | `matlab_get_release_name_from_version("14.10" release_name)` does not write the `release_name` variable if the `14.10` is not a known version, so before checking for the variable to be empty, we should set it to an empty value.
* | | Merge topic 'FindMatlab-test-no_implicit_link_checks'Brad King2024-06-051-1/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | e265065ed6 Tests: Fix FindMatlab.no_implicit_link_checks Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9582
| * | | Tests: Fix FindMatlab.no_implicit_link_checksSilvio Traversaro2024-06-041-1/+1
| |/ / | | | | | | | | | | | | | | | `matlab_add_mex` uses the plain signature of `target_link_libraries`, so we need to use the plain signature also outside of `matlab_add_mex` to avoid a configuration error.
* | | Merge topic 'macos-check-archs'Brad King2024-06-058-4/+233
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | db409e5e68 APPLE: Check if compilers respect CMAKE_OSX_ARCHITECTURES 598bc70474 file: Add undocumented READ_MACHO subcommand on macOS Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9492
| * | | APPLE: Check if compilers respect CMAKE_OSX_ARCHITECTURESRené Bertin2024-06-041-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Not all compilers that can be used on APPLE platforms will respect the architecture(s) set in CMAKE_OSX_ARCHITECTURES and some will not raise an error if they are unable to do this. For instance, GCC will accept ignore additional architectures specified after the first -arch XXX (with a non-fatal warning) and will even link the simple test applications used in the ABI determination (and other tests that don't require external libraries) if an architecture is requested for which it doesn't have the required "multilib" set-up. Prevent unexpected build results or build failures that may occur after a lengthy build process: verify that the binary used to obtain the ABI information contains the requested architectures. Fixes: #25952
| * | | file: Add undocumented READ_MACHO subcommand on macOSRené Bertin2024-06-047-4/+198
| | | | | | | | | | | | | | | | | | | | | | | | Provide a way to parse the architectures of a Mach-O binary. Issue: #25952
* | | | Merge topic 'cmFileSet-FixWindowsPerformance'Brad King2024-06-051-5/+31
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c598a4609c cmFileSet: Fix poor performance of large file sets with export() on Windows Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !9572
| * | | | cmFileSet: Fix poor performance of large file sets with export() on WindowsJochem van Boxtel2024-06-041-5/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Exporting targets having large FILE_SETs with install(EXPORT) or export(EXPORT) currently performs poorly on Windows compared to Unix-like systems, because cmFileSet::EvaluateDirectoryEntries calls SystemTools::SameFile on every pair of parent directories in the file set. SystemTools::SameFile opens and closes two read-only filesystem handles. This causes a significant performance drop on Windows for FILE_SETs with even a couple of dozens of files. Use the recently added SystemTools::GetFileId function in kwsys (https://gitlab.kitware.com/utils/kwsys/-/merge_requests/298) instead of SameFile to cache the identity of a directory in cmFileSet::EvaluateDirectoryEntries. This means only one filesystem handle is needed per distinct directory path, instead of two per (even if they're equal) directory pair.
* | | | | CMake Nightly Date StampKitware Robot2024-06-051-1/+1
| |_|/ / |/| | |
* | | | Merge topic 'cpack-nuget-dependency-groups'Brad King2024-06-0411-17/+298
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 0f4d3664a9 CPack/NuGet: Build dependencies in groups Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9544
| * | | | CPack/NuGet: Build dependencies in groupsAlex Opie2024-06-0311-17/+298
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows particular frameworks to be targeted by particular dependencies, and for empty dependency groups to satisfy NuGet's framework-matching requirements.
* | | | | Merge topic 'gui-trailing-slash-on-dirs'Brad King2024-06-041-3/+9
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | afa1d0d0e3 CMakeGUI: Sanitize source and build dirs the same as command line Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9573
| * | | | | CMakeGUI: Sanitize source and build dirs the same as command lineCraig Scott2024-06-011-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes a difference when projects compare things like CMAKE_SOURCE_DIR with CMAKE_CURRENT_SOURCE_DIR and the source directory has a trailing slash in the GUI. The command line cmake invocation cleans the paths at the beginning, so such comparisons return true. But the GUI currently passes the paths unmodified, so such comparisons return false. Change the logic to sanitize the paths used through the GUI in the same way that the command line invocation does. Fixes: #21421
* | | | | | Merge topic 'cxx-checks-icpx-overriding'Brad King2024-06-041-1/+3
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 557a5f3083 cm_cxx_features: Filter out icpx -Woverriding-t-option warnings Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9577
| * | | | | | cm_cxx_features: Filter out icpx -Woverriding-t-option warningsBrad King2024-06-031-1/+3
| | |_|_|/ / | |/| | | | | | | | | | | | | | | | Issue: #20664
* | | | | | Merge topic 'cxx-checks-distcc'Brad King2024-06-041-0/+2
|\ \ \ \ \ \ | |_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | c9e30d75d2 cm_cxx_features: Ignore distcc warnings Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9574
| * | | | | cm_cxx_features: Ignore distcc warningsMartin Mokry2024-06-021-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Filter out warnings of distcc which does not provide information about compiler feature availability. Fixes: #22573
* | | | | | CMake Nightly Date StampKitware Robot2024-06-041-1/+1
| | | | | |
* | | | | | Merge branch 'release-3.29'Brad King2024-06-031-2/+2
|\ \ \ \ \ \
| * | | | | | CMake 3.29.4v3.29.4Brad King2024-06-032-3/+3
| | | | | | |
* | | | | | | Merge branch 'release-3.29'Brad King2024-06-030-0/+0
|\ \ \ \ \ \ \ | |/ / / / / /
| * | | | | | Merge branch 'release-3.28' into release-3.29Brad King2024-06-031-0/+7
| |\ \ \ \ \ \
* | \ \ \ \ \ \ Merge branch 'release-3.28'Brad King2024-06-031-0/+7
|\ \ \ \ \ \ \ \ | | |/ / / / / / | |/| | / / / / | |_|_|/ / / / |/| | | | | |
| * | | | | | CMake 3.28.6v3.28.6Brad King2024-06-032-1/+8
| | | | | | |
* | | | | | | Merge topic 'cmake-C-crash'Brad King2024-06-038-6/+59
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7330121467 Fix crash in target-specific commands called from initial cache script Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9571
| * | | | | | | Fix crash in target-specific commands called from initial cache scriptBrad King2024-06-018-6/+59
| | |_|_|/ / / | |/| | | | | | | | | | | | | | | | | | | Fixes: #26018
* | | | | | | Merge topic 'checklanguage-modulepath'Brad King2024-06-031-0/+1
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 980c1ce3c8 CheckLanguage: Pass along CMAKE_MODULE_PATH Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !9565
| * | | | | | | CheckLanguage: Pass along CMAKE_MODULE_PATHDarryl Pogue2024-05-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Closes #26020.
* | | | | | | | Merge topic 'file-accept-empty-lists'Brad King2024-06-037-21/+29
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7c516f7e28 file(): TOUCH, TOUCH_NOCREATE and MAKE_DIRECTORY accept empty lists Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !9570
| * | | | | | | | file(): TOUCH, TOUCH_NOCREATE and MAKE_DIRECTORY accept empty listsCraig Scott2024-05-317-21/+29
| | |_|_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Projects may be generating a list of files or directories to pass as arguments to file(TOUCH), file(TOUCH_NOCREATE), or file(MAKE_DIRECTORY). Those lists might end up being empty, so rather than requiring at least one item, allow an empty list. Fixes: #24897
* | | | | | | | Merge topic 'ep-disable-source-changes'Brad King2024-06-036-2/+49
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 0cc1b550dd ExternalProject,FetchContent: Avoid CMAKE_DISABLE_SOURCE_CHANGES error Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !9569
| * | | | | | | | ExternalProject,FetchContent: Avoid CMAKE_DISABLE_SOURCE_CHANGES errorCraig Scott2024-05-316-2/+49
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The file(MAKE_DIRECTORY) implementation checks whether a path is allowed to be written to before it checks if it already exists. For the scenario where a SOURCE_DIR is an existing directory within the main project's source directory, this triggers a fatal error if CMAKE_DISABLE_SOURCE_CHANGES is set to true for ExternalProject, and some FetchContent scenarios. Therefore, add an explicit check for existence first to avoid making such error-triggering calls. Fixes: #21872
* | | | | | | | Merge topic 'doc-presets-cwd'Craig Scott2024-06-031-15/+21
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 15950197b0 Help: Presets read by --preset must be in the source directory Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9568
| * | | | | | | | Help: Presets read by --preset must be in the source directoryCraig Scott2024-06-021-15/+21
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | Issue: #21911
* | | | | | | | CMake Nightly Date StampKitware Robot2024-06-031-1/+1
| |_|_|_|_|/ / |/| | | | | |