summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* CMake 3.31.1v3.31.1Brad King2024-11-211-1/+1
|
* Merge topic 'execute_process-OUTPUT_FILE-cloexec' into release-3.31Brad King2024-11-211-3/+23
|\ | | | | | | | | | | | | | | | | 60af429c5d execute_process: Restore CLOEXEC on OUTPUT_FILE and ERROR_FILE descriptors Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Acked-by: Bertrand Bellenot <bertrand.bellenot@cern.ch> Merge-request: !10014
| * execute_process: Restore CLOEXEC on OUTPUT_FILE and ERROR_FILE descriptorsBrad King2024-11-201-3/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 5420639a8d (cmExecuteProcessCommand: Replace cmsysProcess with cmUVProcessChain, 2023-06-01, v3.28.0-rc1~138^2~8), the descriptors for the `OUTPUT_FILE` and `ERROR_FILE` leak to child processes. With `ExternalProject` + `INSTALL_COMMAND` + `LOG_INSTALL`, the logging wrapper script leaks the log files' descriptors to the native build tool. If they happen to match the `make` job server's pipe fds, e.g., with GNU `make` <= 4.3, then the build fails with an error like: gmake[4]: *** read jobs pipe: Bad file descriptor. Stop. Fixes: #26398
| * CMake 3.29.8v3.29.8Brad King2024-08-291-1/+1
| |
| * CMake 3.29.7v3.29.7Brad King2024-07-161-1/+1
| |
| * Merge topic 'vs-17.11' into release-3.29Brad King2024-06-241-4/+2
| |\ | | | | | | | | | | | | | | | | | | dfe0f3f358 VS: Fix '-T version=14.4x' under VS 17.1x Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9622
| * \ Merge topic 'ctest-windows-std-handles' into release-3.29Brad King2024-06-243-34/+0
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | e4d0169107 ctest: Fix spurious build failures with CTEST_USE_LAUNCHERS on Windows Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9598
* | | | cmExperimental: Make CPS-export experimental notice more consistentMatthew Woehlke2024-11-191-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | There is an inadvertent inconsistency in the notice for the CPS export experimental feature as compared to other experimental feature notices. Change it to be consistent.
* | | | LLD linker: avoid regression on archive libraries deduplicationMarc Chevrier2024-11-181-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Due to a bug on LLD linker for ELF binaries, deduplication should occur only if CMP0156 and CMP0179 are NEW. Fixes: #26447
* | | | CMP0175: Do not reject USES_TERMINAL for add_custom_command(TARGET)Craig Scott2024-11-151-0/+1
| | | | | | | | | | | | | | | | Fixes: #26449
* | | | Clarify advice given by compatibility deprecation message for CMake < 3.10Brad King2024-11-141-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 84db8506ff (Deprecate compatibility with CMake versions older than 3.10, 2024-10-03, v3.31.0-rc1~23^2) the `cmake_minimum_required` and `cmake_policy` commands warn if the project does not enable policies as of 3.10 or higher. Clarify the advice given in the warning message about how to update the version specification, particularly without actually requiring a newer minimum version of CMake.
* | | | CMake 3.31.0v3.31.0Brad King2024-11-061-1/+1
| | | |
* | | | CMake 3.31.0-rc3v3.31.0-rc3Brad King2024-10-291-1/+1
| | | |
* | | | cmake_parse_arguments: Restore capture of value after repeated keywordCraig Scott2024-10-281-25/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a single-value keyword is repeated, and the first instance is missing a value, it prevents the value from the second instance from being stored in a variable. This was a regression introduced by commit ceeea4e511 (cmake_parse_arguments: Set variable if empty string given after keyword, 2024-08-18). That change also didn't create a variable if the keyword was given but without a value. The purpose of the change was to always define a variable if a keyword was given. Lastly, that change didn't protect the CMP0174 logic to make it only apply to the PARSE_ARGV form. The first two of the above problems are fixed here by tracking the keywords given instead of checking which keywords were missing values. The third problem is also fixed here, being tightly coupled to the same logic as the first two problems. Fixes: #26397
* | | | Merge topic 'link-strategy' into release-3.31Brad King2024-10-283-9/+9
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 39fd396421 LINK_LIBRARIES_STRATEGY: Rename strategies to clarify expectations Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Acked-by: Craig Scott <craig.scott@crascit.com> Merge-request: !9949
| * | | | LINK_LIBRARIES_STRATEGY: Rename strategies to clarify expectationsBrad King2024-10-253-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 7abd3137b7 (Linking: Optionally reorder direct dependencies from LINK_LIBRARIES, 2024-09-19, v3.31.0-rc1~53^2) the strategy name `PRESERVE_ORDER` has led users to expect that it strictly preserves order. While the part of the link line generation logic controlled by `LINK_LIBRARIES_STRATEGY` does preserve order, it is not the last step. Toolchain-specific de-duplication can cause the order to change on the actual link line generated in the build system. Rename the strategies: * `PRESERVE_ORDER` => `REORDER_MINIMALLY` * `REORDER` => `REORDER_FREELY` The new names make it clear that reordering is always possible, just to varying degrees. Update the `LINK_LIBRARIES_STRATEGY` documentation to clarify that the strategies do not directly control the final link line. Fixes: #26400 Issue: #26271
* | | | | cmStringAlgorithms: Fix core.NonNullParamChecker diagnostic in cmAlphaNumBrad King2024-10-261-1/+1
| | | | |
* | | | | KWSys: SystemInformation: Add missing EOF check when reading /proc/cpuinfoBrad King2024-10-261-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Backport KWSys upstream commit `6e847d08b` (SystemInformation: Add missing EOF check when reading /proc/cpuinfo, 2024-10-23) to the CMake 3.31 release branch.
* | | | | codespell: Fix typosBrad King2024-10-253-9/+9
|/ / / /
* | | | Merge topic 'windows-kernel-mode-driver' into release-3.31Brad King2024-10-251-1/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 54bbd00448 WindowsKernelModeDriver: Switch to appending to variables Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !9941
| * | | | WindowsKernelModeDriver: Switch to appending to variablesJoseph Snyder2024-10-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When using the WindowsKernelModeDriver, do not add the new paths if the variable was not previously defined. Instead, append them to the existing value. Add a new GUID for the Experimental mode gate
* | | | | Linker configuration: enhance usabilityMarc Chevrier2024-10-241-12/+18
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The linker configuration file is now optional: It is loaded only if variable CMAKE_<LANG>_USE_LINKER_CONFIGURATION is set to TRUE. The file CMakeAddNewLanguage.txt is updated to take into account the linker configuration. Fixes: #26393
* | | | cmExportPackageInfoGenerator: Fix version propertiesMatthew Woehlke2024-10-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix a small bug in cmExportPackageInfoGenerator that caused extended version properties ("compat_version", "version_schema")) to be emitted when empty. Add a test to ensure this is working as intended. Fixes: #26264
* | | | CMake 3.31.0-rc2v3.31.0-rc2Brad King2024-10-171-1/+1
| | | |
* | | | Revert "Ensure imported targets in sibling dirs are deduplicated"Brad King2024-10-161-33/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert commit 502610733f (Ensure imported targets in sibling dirs are deduplicated, 2024-09-15, v3.31.0-rc1~92^2). Also revert the change from a copy of the logic made by commit cd418d4bb6 (Static libraries de-duplication: keep first occurrence, 2024-09-29, v3.31.0-rc1~30^2). The logic was de-duplicating based on the target name rather than based on the library file path. Fixes: #26371 Issue: #26284
* | | | Merge topic 'vs-fortran-ipo' into release-3.31Brad King2024-10-151-1/+9
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a36df0220f VS: Honor INTERPROCEDURAL_OPTIMIZATION for Fortran targets Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9899
| * | | | VS: Honor INTERPROCEDURAL_OPTIMIZATION for Fortran targetsPavel Liavonau2024-10-141-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also map `-Qipo` to its `.vfproj` attribute. Fixes: #26361
* | | | | AIX: Enable versioned shared objects with CMAKE_AIX_SHARED_LIBRARY_ARCHIVEAditya Vidyadhar Kamath2024-10-101-2/+7
| | | | | | | | | | | | | | | | | | | | Closes: #26358
* | | | | cmGeneratorTarget: Simplify AIX shared library archive name computationBrad King2024-10-101-2/+1
| | | | |
* | | | | cmGeneratorTarget: Simplify ComputeVersionedName signatureBrad King2024-10-102-19/+23
|/ / / /
* | | | CMake 3.31.0-rc1v3.31.0-rc1Brad King2024-10-101-1/+1
| | | |
* | | | Begin 3.31 release versioningBrad King2024-10-091-3/+3
| | | |
* | | | Merge topic 'project-vars-policy'Brad King2024-10-092-4/+9
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | e5a9ccbcc8 project: Always set <PROJECT-NAME>_* as normal variables Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !9879
| * | | | project: Always set <PROJECT-NAME>_* as normal variablesCraig Scott2024-10-082-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Re-introduce the behavior originally introduced in CMake 3.30.3 by commit c1ece78d11 (project: non cache <project> prefix variables are also created, 2024-08-27, v3.30.3~2^2), but this time with a policy for compatibility. Issue: #25714 Issue: #26243
* | | | | CMake Nightly Date StampKitware Robot2024-10-091-1/+1
|/ / / /
* | | | Merge topic 'project-vars'Brad King2024-10-081-3/+3
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fa07ddfebf project: Only check non-cache vars when setting project vars Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !9883
| * | | | project: Only check non-cache vars when setting project varsCraig Scott2024-10-071-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The change in commit 86ad7cc886 (project: Only define non-cache vars if already defined, 2024-09-15, v3.30.4~2^2) was meant to only check for non-cache variables when deciding whether to set non-cache project variables for the current call. However, it erroneously checked for any variable, including cache variables. This gives the intended result on the first run, but on subsequent runs a cache variable will exist that did not on the first run, leading to different behavior between the two runs. Fix the logic to only check for a pre-existing non-cache variable, as was originally intended. Fixes: #26355
| * | | | CMake 3.30.4v3.30.4Brad King2024-09-271-1/+1
| | | | |
* | | | | CMake Nightly Date StampKitware Robot2024-10-081-1/+1
| | | | |
* | | | | Merge topic 'cmake--workflow-preset'Brad King2024-10-071-1/+6
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b80aa1d3a3 preset: Easier command line interface for Workflow Presets Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: scivision <michael@scivision.dev> Merge-request: !9866
| * | | | | preset: Easier command line interface for Workflow PresetsKevin Tolle2024-10-051-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A positional option allows 'cmake --workflow --preset <preset>' to be shortened to 'cmake --workflow <preset>'. Fixes: #26270
* | | | | | CMake Nightly Date StampKitware Robot2024-10-071-1/+1
| | | | | |
* | | | | | CMake Nightly Date StampKitware Robot2024-10-061-1/+1
| | | | | |
* | | | | | CMake Nightly Date StampKitware Robot2024-10-051-1/+1
|/ / / / /
* | | | | Merge topic 'deprecate-pre-3.10'Brad King2024-10-041-2/+2
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 84db8506ff Deprecate compatibility with CMake versions older than 3.10 9e3b559b6a Tests: Update cmake_minimum_required versions to 3.10 f4aa34daa7 Tests/RunCMake: Update cmake_minimum_required versions to 3.10 1d38d52995 Tests/RunCMake: Match diagnostic line numbers more robustly 55778f5a16 ExternalProject: Enable all policies in internal scripts Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9875
| * | | | | Deprecate compatibility with CMake versions older than 3.10Brad King2024-10-031-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Issue a deprecation warning on calls to `cmake_minimum_required` or `cmake_policy` that set policies based on versions older than 3.10. Note that the effective policy version includes `...<max>` treatment. Update the check from commit 3a4791548d (Deprecate compatibility with CMake versions older than 3.5, 2023-02-09, v3.27.0-rc1~508^2).
* | | | | | CMake Nightly Date StampKitware Robot2024-10-041-1/+1
|/ / / / /
* | | | | Merge topic 'aix-rpath-padding'Brad King2024-10-031-12/+16
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3e5b9229e0 AIX: Fix XCOFF editor to avoid duplicating standard libpath entries Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9865
| * | | | | AIX: Fix XCOFF editor to avoid duplicating standard libpath entriesAditya Vidyadhar Kamath2024-10-021-12/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `/usr/lib` and `/lib` entries need to be present, but do not need to be at the end. Avoid appending extra copies of the entries if they already exist. Closes: #26275
* | | | | | Merge topic 'cmake-host-executable-suffix'Brad King2024-10-031-0/+2
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5d2b89d5fa Add CMAKE_HOST_EXECUTABLE_SUFFIX for Unix/Windows Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Acked-by: shiz01 <shiz01@tutanota.com> Merge-request: !9863