Ben Boeckel
bc318ceb7f
Tests/RunCMake/property_init: test 'non_imported' properties
2023-07-29 09:35:21 -04:00
Ben Boeckel
0b56e3fedd
Tests/RunCMake/property_init: test 'normal_non_imported' properties
2023-07-29 09:35:20 -04:00
Ben Boeckel
c1ff120e42
Tests/RunCMake/property_init: test 'linkable' properties
2023-07-29 09:35:20 -04:00
Ben Boeckel
313c6a9c74
Tests/RunCMake/property_init: test 'library_with_artifact' properties
2023-07-29 09:35:20 -04:00
Ben Boeckel
bb469aef2d
Tests/RunCMake/property_init: add per_config table builder helper
2023-07-29 09:35:20 -04:00
Ben Boeckel
a048be7e3a
Tests/RunCMake/property_init: test 'imported' properties
2023-07-29 09:35:20 -04:00
Ben Boeckel
a6ebd68aa7
Tests/RunCMake/property_init: test 'executable' properties
2023-07-29 09:35:20 -04:00
Ben Boeckel
5bad24935c
Tests/RunCMake/property_init: test 'can_compile' properties
2023-07-29 09:35:20 -04:00
Ben Boeckel
82507e80eb
Tests/RunCMake/property_init: test 'always' properties
...
All targets get these targets initialized.
2023-07-29 09:35:20 -04:00
Ben Boeckel
721f1b608c
Tests/RunCMake/property_init: add a function to test properties
...
This function consumes a property table and tests against every kind of
target: those for which the initialization happens and those that should
ignore them.
Also add a function that can build the pairs of target type lists
required.
2023-07-29 09:35:20 -04:00
Ben Boeckel
1c0963e9f2
Tests/RunCMake/property_init: add functions to make example targets
2023-07-29 09:35:20 -04:00
Ben Boeckel
7b9378be43
Tests/RunCMake/property_init: add a function to parse property tables
...
The tables will be triples of property / value / alias value. Parsing is
a bit tricky, but is easier when `foreach (IN ZIP_LISTS)` with the
values in their distinct list.
2023-07-29 09:35:20 -04:00
Ben Boeckel
16c24cce47
Tests/RunCMake/property_init: add a function to check a property
2023-07-29 09:35:20 -04:00
Ben Boeckel
f81351607c
Tests/RunCMake/property_init: add skeleton for testing
2023-07-29 09:35:20 -04:00
Kyle Edwards
9bf8f7de06
find_library(): Add support for .xcframework
...
Issue: #21752
2023-07-28 14:41:45 -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
Kyle Edwards
7050ac56a1
macOS: Add support for linking against .xcframework folders
...
Issue: #21752
2023-07-26 17:00:01 -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
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
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
Kyle Edwards
0e8584c89c
CTest: Fix regression in calculating test timeout
...
Fixes : #25120
2023-07-24 19:29:54 -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
Ben Boeckel
a99b87a628
Tests/RunCMake/CXXModules: add a test for issue #25112
...
Add a test case for C++ `OBJECT` libraries providing modules to
consumers.
2023-07-22 06:53:38 -04:00
Robert Maynard
6b5f2dbbfe
file(REAL_PATH): resolve symlinks before '..' components
...
Previously REAL_PATH would collapse paths before resolving any symlinks
so if `..` crossed a symlink the output from `REAL_PATH` would be wrong.
It looked like REAL_PATH did this by mistake since it was a side-effect
of ensuring we had an absolute path before resolving symlinks.
2023-07-20 17:02:58 -04:00
Brad King
88c6dc75ba
Merge topic 'command-job-server-aware'
...
95941fd990 add_custom_{target,command}: Add argument JOB_SERVER_AWARE
Acked-by: Kitware Robot <kwrobot@kitware.com >
Acked-by: buildbot <buildbot@kitware.com >
Merge-request: !8547
2023-07-20 10:23:31 -04:00
Brad King
b0054dd65c
Merge topic 'imported-implib-only'
...
7351d590ee cmTarget: Add a way to represent imported shared library stubs
83574a4772 GeneratorExpression: Expand testing of imported location resolution
b75ff51947 Testing: Map RelWithDebInfo config in GeneratorExpression test
Acked-by: Kitware Robot <kwrobot@kitware.com >
Acked-by: Jason Juang <jasjuang@gmail.com >
Merge-request: !8582
2023-07-19 10:55:30 -04:00
Chris Mahoney
95941fd990
add_custom_{target,command}: Add argument JOB_SERVER_AWARE
...
Issue: #16273
2023-07-19 10:45:33 -04:00
Robert Maynard
7351d590ee
cmTarget: Add a way to represent imported shared library stubs
...
Shared library stubs can be used for linking, but not at runtime.
Their role is similar to import libraries on Windows, so represent
their location with the `IMPORTED_IMPLIB` target property.
Fixes : #24940
2023-07-18 13:21:01 -04:00
Marc Chevrier
3c685a578a
LINK_OPTIONS: ensure correct dollar escaping
...
Ensure correct escaping for Ninja and Makefile generators.
Fixes : #25049
2023-07-17 15:55:58 +02:00
Brad King
802a0aefd5
Merge topic 'find_library-simplify-regex'
...
f60e921262 find_library: Improve regex readability in --debug-find output
Acked-by: Kitware Robot <kwrobot@kitware.com >
Acked-by: buildbot <buildbot@kitware.com >
Merge-request: !8618
2023-07-14 08:42:11 -04:00
Thomas Schenker
f60e921262
find_library: Improve regex readability in --debug-find output
...
If there is only one possible library prefix/suffix, omit the capture
group around it in the debug output.
2023-07-13 09:48:35 -04:00
Ben Boeckel
57ef353d22
cmExperimental: refresh the C++ modules UUID
...
The transitive support for Clang is a change in support for the
ecosystem.
2023-07-13 08:40:22 -04:00
Ben Boeckel
71f1483aac
Tests/RunCMake/CXXModules: require transitive usages
...
Clang 17 is in a transition where it warns about transitive usages. Turn
it into an error if the flag is available to make sure we're testing the
feature properly.
2023-07-13 08:40:22 -04:00
Brad King
a0056a96d5
Merge topic 'genex-REMOVE_DUPLICATES-empty'
...
861dd60ecf Genex: Restore REMOVE_DUPLICATES preservation of empty elements
Acked-by: Kitware Robot <kwrobot@kitware.com >
Acked-by: buildbot <buildbot@kitware.com >
Merge-request: !8623
2023-07-13 08:34:22 -04:00
Brad King
861dd60ecf
Genex: Restore REMOVE_DUPLICATES preservation of empty elements
...
Refactoring in commit 72d116ee68 (GenEx: list oriented genexes use
cmList class, 2023-03-29, v3.27.0-rc1~205^2) accidentally caused
empty elements to be dropped by the `REMOVE_DUPLICATES` genex.
Fix it and add a test case.
Fixes : #25080
2023-07-12 11:49:21 -04:00
Brad King
27302fa005
Merge topic 'compile-commands-modules'
...
677b28dc7b Ninja: include module mapper flags in `compile_commands.json`
Acked-by: Kitware Robot <kwrobot@kitware.com >
Tested-by: buildbot <buildbot@kitware.com >
Merge-request: !8611
2023-07-12 10:02:53 -04:00
Gregor Jasny
25977e177b
apple: add preliminary visionOS support
2023-07-11 20:20:25 +02:00
Ben Boeckel
677b28dc7b
Ninja: include module mapper flags in compile_commands.json
...
Fixes : #24618
2023-07-09 11:04:29 -04:00
Brad King
807d9165fb
Merge topic 'FetchContent-unparsed-arguments'
...
9ede4cab2b FetchContent: Protect ExternalProject keywords from unknown arguments
Acked-by: Kitware Robot <kwrobot@kitware.com >
Acked-by: buildbot <buildbot@kitware.com >
Acked-by: Craig Scott <craig.scott@crascit.com >
Merge-request: !8598
2023-06-30 09:29:28 -04:00
Brad King
1ac0dea4c8
Merge topic 'FetchContent-unparsed-arguments' into release-3.27
...
9ede4cab2b FetchContent: Protect ExternalProject keywords from unknown arguments
Acked-by: Kitware Robot <kwrobot@kitware.com >
Acked-by: buildbot <buildbot@kitware.com >
Acked-by: Craig Scott <craig.scott@crascit.com >
Merge-request: !8598
2023-06-30 09:29:27 -04:00
Brad King
4938a0cbdd
Merge topic 'vs-cxxmodules-same-src-name'
...
b9c99830c5 VS: Fix C++ modules in source files with the same name
Acked-by: Kitware Robot <kwrobot@kitware.com >
Acked-by: buildbot <buildbot@kitware.com >
Merge-request: !8596
2023-06-30 09:28:20 -04:00
Brad King
67cf379354
Merge topic 'vs-cxxmodules-same-src-name' into release-3.27
...
b9c99830c5 VS: Fix C++ modules in source files with the same name
Acked-by: Kitware Robot <kwrobot@kitware.com >
Acked-by: buildbot <buildbot@kitware.com >
Merge-request: !8596
2023-06-30 09:28:19 -04:00
Brad King
9ede4cab2b
FetchContent: Protect ExternalProject keywords from unknown arguments
...
`ExternalProject_Add` treats all keyword arguments as multi-valued.
FetchContent re-orders some keyword arguments w.r.t. unparsed arguments.
Add an internal keyword argument to separate the keyword values from
following unparsed arguments.
This was exposed by commit 550f63447d (ExternalProject/FetchContent:
Support relative remote URLs, 2023-04-21, v3.27.0-rc1~156^2) by adding
`GIT_REPOSITORY` to the set of re-ordered keyword arguments. This
caused its value to absorb following unparsed arguments.
Fixes : #25029
2023-06-29 09:49:51 -04:00
Brad King
b9c99830c5
VS: Fix C++ modules in source files with the same name
...
When multiple source files in a single target have the same name, we
already set `ObjectFileName` explicitly to avoid a `.obj` collision. For
C++ module sources, set `Module{Output,Dependencies}File` to avoid
`.ifc` and `.module.json` collisions.
Fixes : #25038
2023-06-28 06:43:10 -04:00
Brad King
75b573a628
Deprecate Visual Studio 12 2013 generator
...
Update documentation to mark the generator deprecated. Add a warning at
the end of generation plus an option to turn off the warning.
2023-06-26 12:41:18 -04:00
Brad King
61bb728c0c
Merge topic 'imported-target-framework-path'
...
d605f728f7 macOS: Allow IMPORTED_LOCATION to be a framework folder
Acked-by: Kitware Robot <kwrobot@kitware.com >
Tested-by: buildbot <buildbot@kitware.com >
Merge-request: !8586
2023-06-26 09:47:30 -04:00
Brad King
d599c9e92e
Merge topic 'support_nvhpc_versions_without_isystem'
...
f73ae7c510 NVHPC: Support nvfortran versions that don't support isystem
Acked-by: Kitware Robot <kwrobot@kitware.com >
Acked-by: buildbot <buildbot@kitware.com >
Merge-request: !8588
2023-06-26 09:44:57 -04:00
Brad King
b7810bfb18
Merge topic 'support_nvhpc_versions_without_isystem' into release-3.27
...
f73ae7c510 NVHPC: Support nvfortran versions that don't support isystem
Acked-by: Kitware Robot <kwrobot@kitware.com >
Acked-by: buildbot <buildbot@kitware.com >
Merge-request: !8588
2023-06-26 09:44:56 -04:00