Commit Graph

64758 Commits

Author SHA1 Message Date
Kitware Robot 4584cfeb48 CMake Nightly Date Stamp 2024-01-31 00:01:10 -05:00
Brad King 03206842ff Merge topic 'test-define-prop'
6c3311d53b Help: Document property redefinition semantics
7aacae4e0e Tests: Add unit tests for property redefinition

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9136
2024-01-30 11:31:10 -05:00
Brad King c64c20e7e0 Merge topic 'FindICU-include-dir-advanced'
005e50f5b0 FindICU: Mark ICU_INCLUDE_DIR as advanced variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9199
2024-01-30 11:30:02 -05:00
Kitware Robot 3cd2c59ecf CMake Nightly Date Stamp 2024-01-30 00:01:09 -05:00
Brad King b0d8b857d8 Merge branch 'release-3.28' 2024-01-29 15:47:25 -05:00
Brad King 1f25aa1a0a CMake 3.28.2 v3.28.2 2024-01-29 15:01:32 -05:00
Peter Kokot 005e50f5b0 FindICU: Mark ICU_INCLUDE_DIR as advanced variable 2024-01-29 11:15:40 -05:00
Brad King 622a498477 Merge topic 'test-launcher-emulator-genex'
13ece67a58 Add genex support to TEST_LAUNCHER and CROSSCOMPILING_EMULATOR
b9ad73fcb2 cmTestGenerator: De-duplicate TEST_LAUNCHER and CROSSCOMPILING_EMULATOR impl

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9198
2024-01-29 10:50:34 -05:00
Brad King 87bbfa1bc5 Merge branch 'release-3.28' 2024-01-29 10:43:45 -05:00
Brad King 28e89baa22 Merge topic 'autogen-makefile-depfile'
d0bedb2170 Autogen: Forward dependencies when both Makefile and DEPFILE are used
4deb9c41b8 cmQtAutoGenInitializer: Improve Const-correctness

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9190
2024-01-29 10:43:45 -05:00
Brad King a8b6d36a2d Merge topic 'autogen-makefile-depfile' into release-3.28
d0bedb2170 Autogen: Forward dependencies when both Makefile and DEPFILE are used
4deb9c41b8 cmQtAutoGenInitializer: Improve Const-correctness

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9190
2024-01-29 10:43:43 -05:00
Brad King d377ccbf67 Merge topic 'productbuild-domains-policy'
339ae33e55 CPack: Change CPACK_PRODUCTBUILD_DOMAINS default to true (CMP0161)
4e7f2397e4 CPack: Clear temporary variable after it is no longer needed

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9197
2024-01-29 10:36:22 -05:00
Brad King 13ece67a58 Add genex support to TEST_LAUNCHER and CROSSCOMPILING_EMULATOR
Evaluate generator expressions in these properties, as they apply to
`add_test`, `add_custom_command`, and `add_custom_target`.

The `CMAKE_CROSSCOMPILING_EMULATOR` variable's `try_run` behavior occurs
at configure time and so cannot support generator expressions.
2024-01-29 10:30:24 -05:00
Brad King b9ad73fcb2 cmTestGenerator: De-duplicate TEST_LAUNCHER and CROSSCOMPILING_EMULATOR impl 2024-01-29 10:29:45 -05:00
Craig Scott fdb05a421a Merge topic 'fortrancinterface-extra-newline'
0534624b10 FortranCInterface: Skip appending an unnecessary newline to Output.cmake

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9196
2024-01-29 07:07:16 -05:00
FeRD (Frank Dana) 6c3311d53b Help: Document property redefinition semantics
Add a section to the `define_property()` documentation which
details the behavior when attempting to redefine an existing
property. (The command is silently ignored.)

Provide an example using `get_property()` to examine a property
definition created with `define_property()`.
2024-01-29 05:23:37 -05:00
FeRD (Frank Dana) 7aacae4e0e Tests: Add unit tests for property redefinition
From reading `Source/cmDefinePropertyCommand.cxx` and
`Source/cmPropertyDefinition.cxx`, attempts to use `define_property()`
to redefine an existing property will be silently ignored.
Once a property is defined, it cannot be redefined.

Add some unit tests to confirm this behavior of `define_property()`
remains as expected based on the current implementation.
2024-01-29 05:23:37 -05:00
Kitware Robot 9d081a071e CMake Nightly Date Stamp 2024-01-29 00:01:31 -05:00
Brad King f434d650ee Merge topic 'test-launcher-emulator'
fb766ff638 Tests: Improve RunCMake.add_test TEST_LAUNCHER coverage
c5b58b0842 Tests: Improve RunCMake.add_test error formatting
b440e0af3f Tests: Improve RunCMake.CrosscompilingEmulator coverage
54edf3471e Tests: Improve RunCMake.CrosscompilingEmulator error formatting
2b5447d4a8 Tests: Shorten RunCMake.CrosscompilingEmulator executable names
10f906106e Tests: Teach pseudo_emulator helper to pass by default

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9192
2024-01-28 09:49:08 -05:00
Brad King e6018e07f9 Merge topic 'fortrancinterface-IS_NEWER_THAN'
1db1132c67 FortranCInterface: Fix wrong path when deciding if redetection is needed

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9194
2024-01-28 09:47:43 -05:00
Brad King 09c5fb83dd Merge topic 'ep-url-special-characters'
54cb65b197 ExternalProject: Prevent URL list-splitting on special characters
aab6be9aad ExternalProject: Catch empty REMOTE or LOCAL earlier
e72791ecf6 ExternalProject: Update foreach() calls to use IN LISTS and IN ITEMS
873b2ad2eb ExternalProject: Remove N^2 add_dependencies() calls

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9193
2024-01-28 09:46:47 -05:00
Orkun Tokdemir d0bedb2170 Autogen: Forward dependencies when both Makefile and DEPFILE are used
Since commit ebc9e448b3 (Autogen: Add depfile support for Makefiles,
2023-09-07, v3.28.0-rc1~101^2~1) CMake does not generate the correct
dependency graph when both `Makefile` and `DEPFILE` are used.
The build of `<target_name>_autogen_timestamp_deps` fails due to
missing dependencies.  To tackle that problem, forward target
dependencies to both `<target_name>_autogen_timestamp_deps` and
`<target_name>_autogen` instead of just `<target_name>_autogen`.

Fixes: #25600
2024-01-28 09:40:47 -05:00
Craig Scott 339ae33e55 CPack: Change CPACK_PRODUCTBUILD_DOMAINS default to true (CMP0161)
Fixes: #23351
2024-01-28 21:09:12 +11:00
Craig Scott 4e7f2397e4 CPack: Clear temporary variable after it is no longer needed 2024-01-28 21:09:12 +11:00
Kitware Robot f0d958d0b4 CMake Nightly Date Stamp 2024-01-28 00:01:08 -05:00
Craig Scott 0534624b10 FortranCInterface: Skip appending an unnecessary newline to Output.cmake 2024-01-28 09:34:14 +11:00
Craig Scott 54cb65b197 ExternalProject: Prevent URL list-splitting on special characters
If a URL contains special characters like parentheses and a few others,
they would previously have caused a foreach() call that iterates over the
URLs to parse those special characters as separate, unquoted arguments.
They would then have effectively split the list of URLs at unexpected places.
Prepare the arguments for the foreach() call by using use bracket syntax
to robustly handle any URLs that do have unescaped special characters.

Issue: #25148
2024-01-28 09:24:37 +11:00
Brad King fb766ff638 Tests: Improve RunCMake.add_test TEST_LAUNCHER coverage
Verify that ctest actually runs the test command lines as expected.
2024-01-27 11:34:35 -05:00
Brad King c5b58b0842 Tests: Improve RunCMake.add_test error formatting 2024-01-27 11:34:35 -05:00
Brad King b440e0af3f Tests: Improve RunCMake.CrosscompilingEmulator coverage
Verify that ctest actually runs the test command lines as expected.
2024-01-27 11:34:35 -05:00
Brad King 84dd192326 Merge topic 'doc-configure_file'
682a513bbb Help: Organize configure_file documentation into sections

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Craig Scott <craig.scott@crascit.com>
Merge-request: !9191
2024-01-27 10:10:09 -05:00
Brad King 54edf3471e Tests: Improve RunCMake.CrosscompilingEmulator error formatting 2024-01-27 10:01:18 -05:00
Brad King 2b5447d4a8 Tests: Shorten RunCMake.CrosscompilingEmulator executable names
Also switch to pure C.
2024-01-27 09:57:48 -05:00
Brad King 10f906106e Tests: Teach pseudo_emulator helper to pass by default 2024-01-27 09:50:43 -05:00
Kitware Robot 98d065740e CMake Nightly Date Stamp 2024-01-27 00:01:11 -05:00
Craig Scott 1db1132c67 FortranCInterface: Fix wrong path when deciding if redetection is needed
d7c8030541 (FortranCInterface: Fix misuse of IS_NEWER_THAN in
timestamp check, 2021-02-21) updated the IS_NEWER_THAN logic, but it
introduced a couple of errors. 2a00e5072d (FortranCInterface: Fix
regression in timestamp check, 2021-09-30) addressed one of those errors,
but there was still one left behind that wasn't noticed. The Output.cmake
file is in the build directory, but there was still one reference to it that
incorrectly used a path to it in the source directory.

Issue: #22709
2024-01-27 12:27:49 +11:00
Craig Scott aab6be9aad ExternalProject: Catch empty REMOTE or LOCAL earlier
If we are given an empty string for URL, or we have a logic error that leads
to the file we download to being an empty string, we will now catch this at
CMake configure time instead of whenever the download is attempted at
build time.
2024-01-27 11:44:01 +11:00
Craig Scott e72791ecf6 ExternalProject: Update foreach() calls to use IN LISTS and IN ITEMS 2024-01-27 11:07:36 +11:00
Craig Scott 873b2ad2eb ExternalProject: Remove N^2 add_dependencies() calls
ExternalProject_Add_StepDependencies() contained a foreach() loop that
had another foreach() loop inside it iterating over the same set of values
(the dependencies). This resulted in add_dependencies() calls that added
the same dependencies to the step target N^2 times. A single call to
add_dependencies() with the list of dependencies provides the necessary
relationships without the N^2 behavior, and it removes the inner foreach()
loop.
2024-01-27 11:06:38 +11:00
Brad King 682a513bbb Help: Organize configure_file documentation into sections 2024-01-26 10:29:57 -05:00
Brad King b7c11ded92 Merge topic 'stdio-streams-always'
96010cc968 Ensure stdin, stdout, stderr FILE streams are open on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9189
2024-01-26 10:15:47 -05:00
Brad King d9b9f63083 Merge topic 'ctest-tests-from-file'
701029726f ctest_test: add options INCLUDE_FROM_FILE and EXCLUDE_FROM_FILE
dbacc1d5a8 ctest: add command line option to exclude tests listed in a given file
022f20f663 ctest: add command line option to run the tests listed in a given file

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alex <leha-bot@yandex.ru>
Merge-request: !9128
2024-01-26 10:14:58 -05:00
Brad King 409ab01039 Merge topic 'simplify-emacs-cmake-mode'
91336c7469 cmake-mode.el: Simplify jumping to begin/end of functions/macros

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9185
2024-01-26 10:13:42 -05:00
Brad King 37a7eed154 Merge branch 'release-3.28' 2024-01-26 10:12:13 -05:00
Brad King 5351a2b170 Merge topic 'revert-FindFreetype-use-config'
b5725ae619 FindFreetype: Revert use of upstream freetype cmake package

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !9187
2024-01-26 10:12:12 -05:00
Brad King 6c3ab39109 Merge topic 'revert-FindFreetype-use-config' into release-3.28
b5725ae619 FindFreetype: Revert use of upstream freetype cmake package

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !9187
2024-01-26 10:12:11 -05:00
Brad King ffb682b853 Merge branch 'release-3.28' 2024-01-26 10:11:09 -05:00
Brad King 8e7960773f Merge topic 'find-matlab-docs-mcr-version-mapping'
29fece7ef3 FindMatlab: Document that version mappings do not apply to MCR

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9184
2024-01-26 10:11:09 -05:00
Brad King f6c9da9154 Merge topic 'find-matlab-docs-mcr-version-mapping' into release-3.28
29fece7ef3 FindMatlab: Document that version mappings do not apply to MCR

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9184
2024-01-26 10:11:08 -05:00
Brad King debb57efa2 Merge branch 'release-3.28' 2024-01-26 10:10:02 -05:00