Commit Graph

34357 Commits

Author SHA1 Message Date
Ben Boeckel
c9ca5f6326 cmCoreTryCompile: parse SOURCES_TYPE argument
This will serve to add context for the source listing in order to
properly mark sources as `FILE_SET TYPE CXX_MODULES` in the generated
code.
2023-07-31 11:37:47 -04:00
Ben Boeckel
07551f35de cmCoreTryCompile: use target_sources for try_compile targets
In order to support using C++ module sources in `try_compile`,
`target_sources` will be required. To prepare, always use the command.
2023-07-31 11:37:47 -04:00
Ben Boeckel
aad9033b56 cmExperimental: support forwarding associated variables to try_compile
Other variables may be needed to make experimental features actually
work. List them with the experimental flag.
2023-07-31 11:37:47 -04:00
Ben Boeckel
f6cf433256 cmExperimental: only forward C++ module support to non-ABI checks
ABI checks never use modules, so don't forward the experimental status
through.
2023-07-31 11:37:47 -04:00
Ben Boeckel
1a538ae07c cmExperimental: use an enum for whether to forward to try_compile 2023-07-31 11:37:47 -04:00
Brad King
7518fd6074 Merge topic 'test-target-property-init'
b66c494ca4 Tests/RunCMake/property_init: test 'with_exports' properties
efad4391e5 Tests/RunCMake/property_init: test 'with_commands' properties
5f1bf85f84 Tests/RunCMake/property_init: test 'with_artifact' properties
02972ed9e8 Tests/RunCMake/property_init: test 'shared_library' properties
653a32aa72 Tests/RunCMake/property_init: test 'pic_targets' properties
141049cf16 Tests/RunCMake/property_init: test 'normal' properties
bc318ceb7f Tests/RunCMake/property_init: test 'non_imported' properties
0b56e3fedd Tests/RunCMake/property_init: test 'normal_non_imported' properties
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8655
2023-07-31 10:50:23 -04:00
Brad King
307b2dbadd Merge topic 'ci-debian-12'
241ee252ce IWYU: Update for Debian 12 CI job
09db788636 ci: use Debian 12 images and environments
9526679bbc ci: Update base images to Debian 12

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8669
2023-07-31 10:42:01 -04:00
Kitware Robot
beebc77992 CMake Nightly Date Stamp 2023-07-31 00:01:56 -04:00
Kitware Robot
49e2a4a0a7 CMake Nightly Date Stamp 2023-07-30 00:01:07 -04:00
Ben Boeckel
d718262faa cmTarget: handle HIP_STANDARD like other language standards 2023-07-29 09:35:20 -04:00
Kitware Robot
eb092ade48 CMake Nightly Date Stamp 2023-07-29 00:01:13 -04:00
Kyle Edwards
4cf5eab79d Merge topic 'xcframework-find-library'
9bf8f7de06 find_library(): Add support for .xcframework

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8661
2023-07-28 14:59:14 -04:00
Kyle Edwards
9bf8f7de06 find_library(): Add support for .xcframework
Issue: #21752
2023-07-28 14:41:45 -04:00
Brad King
241ee252ce IWYU: Update for Debian 12 CI job
`include-what-you-use` diagnostics, in practice, are specific to
the environment's compiler and standard library.  Update includes
to satisfy IWYU for our CI job under Debian 12.
2023-07-28 09:14:08 -04:00
Brad King
e49ff2b2f2 Merge topic 'ExportTestLabelToJUnit'
2b99e64413 set_test_properties: link to the test properties in the documentation
b11e8afbfa ctest: export test labels to junit xml

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8635
2023-07-28 09:12:23 -04:00
Brad King
8268fc8661 Merge topic 'cxx-atomic'
78bbd58545 Source: Link libatomic when needed on Linux 32-bit ARM

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8663
2023-07-28 09:08:40 -04:00
Kitware Robot
e1699f123e CMake Nightly Date Stamp 2023-07-28 00:01:11 -04:00
Brad King
78bbd58545 Source: Link libatomic when needed on Linux 32-bit ARM
Fixes: #25114
2023-07-27 11:07:21 -04:00
Kyle Edwards
07ac0c0ae0 Merge topic 'xcframework-target-link-libraries'
7050ac56a1 macOS: Add support for linking against .xcframework folders
93ed53790c bootstrap: Unconditionally build libjsoncpp

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8619
2023-07-27 10:06:22 -04:00
Brad King
054ed1c594 Merge topic 'cmuvprocesschain-wait-0'
830a4b37aa cmUVProcessChain::Wait(): Treat timeout of 0 as no timeout

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8658
2023-07-27 10:01:05 -04:00
Kitware Robot
d68fa82d8d CMake Nightly Date Stamp 2023-07-27 00:01:11 -04:00
Kyle Edwards
7050ac56a1 macOS: Add support for linking against .xcframework folders
Issue: #21752
2023-07-26 17:00:01 -04:00
Alex Neundorf
b11e8afbfa ctest: export test labels to junit xml
With this patch, the junit files written by ctest also contain the
test labels as testcase properties, see
https://github.com/testmoapp/junitxml#properties

The name for the property is "cmake_labels", where "cmake_"
is used namespace-like. This could be done the same way
if we export more properties to junit.
Also this makes it clear to consumers that this is coming
from cmake, and the list is a cmake-formatted string.
2023-07-26 22:58:35 +02:00
Kyle Edwards
830a4b37aa cmUVProcessChain::Wait(): Treat timeout of 0 as no timeout 2023-07-26 13:08:27 -04:00
Brad King
5a164f1649 Merge topic 'jobserver-fix'
3825d6ec98 add_custom_{command,target}: Teach JOB_SERVER_AWARE about WORKING_DIRECTORY

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8644
2023-07-26 10:19:46 -04:00
Brad King
06839c419f Merge topic 'cmPolicies-cmStrCat'
c4bb7fd4f3 cmPolicies: use `cmStrCat` for error message building
59eda7fa0a cmPolicies: use `cmStrCat` for string additions
0c8a2c4a86 cmPolicies: use character literals where possible
0cb4f08ddf cmPolicies: combine string literals where possible

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8650
2023-07-26 10:18:06 -04:00
Kyle Edwards
93ed53790c bootstrap: Unconditionally build libjsoncpp 2023-07-26 10:07:38 -04:00
Kyle Edwards
8129bf85ed Merge topic 'exec-program-policy'
ff12a57d5e exec_program(): Remove by policy CMP0153

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8653
2023-07-26 09:23:32 -04:00
Kitware Robot
59218dcf26 CMake Nightly Date Stamp 2023-07-26 00:01:13 -04:00
Brad King
b5c54d9c8a CMake 3.27.1 2023-07-25 13:58:09 -04:00
Brad King
c96cb57e8e Merge topic 'property-typo-fix'
c172eecea6 cmTarget: Restore Fortran_PREPROCESS property initialization

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8654
2023-07-25 13:55:56 -04:00
Brad King
d5b5af6ce8 Merge topic 'property-typo-fix' into release-3.27
c172eecea6 cmTarget: Restore Fortran_PREPROCESS property initialization

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8654
2023-07-25 13:55:55 -04:00
Ben Boeckel
c172eecea6 cmTarget: Restore Fortran_PREPROCESS property initialization
Fix a typo from commit e522f8ca06 (cmTarget: factor out properties
initialized for target which compile, 2023-02-01, v3.27.0-rc1~577^2~13),
that broke this property.

Also update the test suite to use this upgrade as some level of
coverage.

Fixes: #25123
2023-07-25 11:35:24 -04:00
Chris Mahoney
3825d6ec98 add_custom_{command,target}: Teach JOB_SERVER_AWARE about WORKING_DIRECTORY
Issue: #16273
2023-07-25 11:34:22 -04:00
Kyle Edwards
ff12a57d5e exec_program(): Remove by policy CMP0153 2023-07-25 11:09:56 -04:00
Brad King
f6b8bd41bc Merge topic 'cdash_checksum_400'
b7c871f745 ctest: Update ctest_submit for CDash behavior change

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8648
2023-07-25 11:03:06 -04:00
Brad King
d89bcc8891 Merge topic 'cdash_checksum_400' into release-3.27
b7c871f745 ctest: Update ctest_submit for CDash behavior change

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8648
2023-07-25 11:03:05 -04:00
Brad King
13362ff138 Merge topic 'fix-ctest-timeout-regression'
0e8584c89c CTest: Fix regression in calculating test timeout

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8647
2023-07-25 09:21:11 -04:00
Zack Galbreath
b7c871f745 ctest: Update ctest_submit for CDash behavior change
open.cdash.org was recently upgraded in preparation for the release of
CDash v3.2.0. This upgrade brought a change in behavior where CDash now
responds with HTTP 400 (bad request) rather than HTTP 200 (OK) for MD5
checksum mismatches during submission time.

This commit removes our usage of CURLOPT_FAILONERROR in
cmCTestSubmitHandler.cxx This was necessary to pass along the contents
of the request body ("md5 mismatch") in cases where the web server
(CDash) responds with an error status (400).

Fixes: #25121
2023-07-25 09:09:56 -04:00
Kitware Robot
58ebb15691 CMake Nightly Date Stamp 2023-07-25 00:01:10 -04:00
Kyle Edwards
0e8584c89c CTest: Fix regression in calculating test timeout
Fixes: #25120
2023-07-24 19:29:54 -04:00
Ben Boeckel
c4bb7fd4f3 cmPolicies: use cmStrCat for error message building 2023-07-24 15:20:53 -04:00
Ben Boeckel
59eda7fa0a cmPolicies: use cmStrCat for string additions 2023-07-24 13:54:40 -04:00
Ben Boeckel
0c8a2c4a86 cmPolicies: use character literals where possible 2023-07-24 13:54:40 -04:00
Ben Boeckel
0cb4f08ddf cmPolicies: combine string literals where possible 2023-07-24 13:54:40 -04:00
Brad King
6194193a8a Merge topic 'file-REAL_PATH-relative'
6b5f2dbbfe file(REAL_PATH): resolve symlinks before '..' components

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8605
2023-07-24 08:43:19 -04:00
Brad King
f8c3fd0c45 Merge topic 'dyndep-module-info-objlib-dependency'
b665966933 cmComputeLinkInformation: track OBJECT library dependencies
a99b87a628 Tests/RunCMake/CXXModules: add a test for issue #25112
2870a67540 Tests/FortranOnly: add a test case for issue #25112

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8645
2023-07-24 08:31:53 -04:00
Kitware Robot
ee9908df39 CMake Nightly Date Stamp 2023-07-24 00:01:46 -04:00
Kitware Robot
a395324728 CMake Nightly Date Stamp 2023-07-23 00:01:11 -04:00
Ben Boeckel
b665966933 cmComputeLinkInformation: track OBJECT library dependencies
In commit b6a5382217 (Ninja: depend on language module information files
directly, 2023-02-10), introduced via !8197, language-specific module
information files (`CMakeFiles/<target>.dir/<lang>Modules.json`) files
were added as real dependencies to the dyndep collation steps.
Previously, the behavior was to inform the collator of all possible
targets and search for the files manually ignoring those which did not
exist with ordering enforced by depending on the linker output of all
dependent targets. This behavior could lead to stale information being
used (e.g., if a target stops providing any targets) and also did not
reliably build everything needed on rebuilds. Afterwards, the internal
computation changed the dependency from all possible targets to an exact
set of "these targets might have modules" query, however one that did
not include `OBJECT` libraries since do not have `LinkEntry` items
internally (their objects are instead treated as source files).

As a stopgap measure, track `OBJECT` libraries in a separate list and
query them explicitly when gathering targets which may have interesting
information. Future work can add `LinkEntry` items to represent these
targets once all `LinkEntry` consumers have been audited to make sure
they are not surprised by any `OBJECT` library entries.

Fixes: #25112
2023-07-22 07:12:43 -04:00