Commit Graph

4908 Commits

Author SHA1 Message Date
Kyle Edwards
58d27dc6db Merge topic 'xcframework-check-platform-variant'
b4565c8c91 .xcframework: Check SupportedPlatformVariant

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8713
2023-08-16 10:26:00 -04:00
Brad King
5d41ed9737 Merge topic 'ExternalProject-build-jobserver'
bc43398e72 ExternalProject: Enable Make Job Server with Explicit Build Command
99be022428 Tests/RunCMake/Make: simplify GNUMakeJobSeverAware check function

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8667
2023-08-16 09:59:27 -04:00
Kyle Edwards
b4565c8c91 .xcframework: Check SupportedPlatformVariant 2023-08-15 09:45:17 -04:00
Brad King
969b07ba8e Merge topic 'TAPI-is-Apple-only'
8b0f0dc257 Apple Text Stubs (.tbd): various fixes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8708
2023-08-15 09:35:08 -04:00
Chris Mahoney
bc43398e72 ExternalProject: Enable Make Job Server with Explicit Build Command
Introduces `BUILD_JOB_SERVER_AWARE` option to `ExternalProject_Add` and
`JOB_SERVER_AWARE` to `ExternalProject_Add_Step`. When using an explicit
`BUILD_COMMAND` or `COMMAND`, the generated commands won't use `$(MAKE)`
thus failing to connect to the outer make's job server. These new
options enable explicit job server integration.

Co-authored-by: Brad King <brad.king@kitware.com>

Fixes: #16273
2023-08-15 12:21:30 +00:00
Chris Mahoney
99be022428 Tests/RunCMake/Make: simplify GNUMakeJobSeverAware check function 2023-08-15 12:21:29 +00:00
Kyle Edwards
2eab65ca82 Merge topic 'test-properties-directory'
2ccb897d86 get_test_property(): Add DIRECTORY option
84e76fedb0 get_property(TEST): Add DIRECTORY option
efc8f19cc5 set_tests_properties(): Add DIRECTORY option
753999d4db set_property(TEST): Add DIRECTORY option

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8709
2023-08-14 11:18:54 -04:00
Kyle Edwards
0d95b68bd8 Merge topic 'ctest-generate-resource-spec-file'
c8c1dd0d95 CTest: Add ability to dynamically generate resource spec file
3f5a5a5856 cmCTestRunTest::StartFailure(): Add total argument

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8699
2023-08-14 11:18:03 -04:00
Kyle Edwards
2ccb897d86 get_test_property(): Add DIRECTORY option 2023-08-11 10:50:52 -04:00
Kyle Edwards
efc8f19cc5 set_tests_properties(): Add DIRECTORY option 2023-08-11 10:50:52 -04:00
Brad King
7317e3b150 Merge topic 'test-ifort-windows'
70623f3bbf Tests: Fix RunCMake.BuildDepends Fortran case with Intel compiler on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8702
2023-08-11 10:31:53 -04:00
Marc Chevrier
8b0f0dc257 Apple Text Stubs (.tbd): various fixes
* ensure tapi lookup is applied only for concerned toolchains
* fix typos in tests

Fixes: #25182
2023-08-11 16:30:02 +02:00
Kyle Edwards
753999d4db set_property(TEST): Add DIRECTORY option 2023-08-10 17:36:14 -04:00
Kyle Edwards
c8c1dd0d95 CTest: Add ability to dynamically generate resource spec file
Issue: #25106
2023-08-10 16:47:51 -04:00
Brad King
661e005a0e Merge topic 'vs-sdk-selection'
d5118ed2e5 Merge branch 'backport-vs-sdk-selection' into vs-sdk-selection
89b611ab32 VS: Select latest Windows SDK even when targeting Windows 8.1 and below
ae97d82e83 VS: Teach CMAKE_GENERATOR_PLATFORM to support Windows 8.1 SDK selection
15ff89654b VS: Teach CMAKE_GENERATOR_PLATFORM to use Windows 10 SDKs for older versions
bba1a23da9 VS: Consolidate Windows SDK major version selection dispatch
209973e510 VS: Do not print empty Windows SDK version when none is selected
ec6dd77053 Tests: Remove redundant condition in RunCMake.GeneratorPlatform test
4776a584ad Help: Add 3.27 release note on VS default SDK selection

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8697
2023-08-10 11:27:48 -04:00
Brad King
70623f3bbf Tests: Fix RunCMake.BuildDepends Fortran case with Intel compiler on Windows
The test regularly fails updating the `vc*.pdb` compiler-generated
PDB file.  Add the `/Z7` flag as the compiler suggests for this.
2023-08-10 10:22:59 -04:00
Brad King
d5118ed2e5 Merge branch 'backport-vs-sdk-selection' into vs-sdk-selection 2023-08-10 10:00:53 -04:00
Brad King
89b611ab32 VS: Select latest Windows SDK even when targeting Windows 8.1 and below
The policy added by commit f90c8ab54e (VS: Select latest available
Windows SDK version by default, 2023-04-03, v3.27.0-rc1~206^2~1) applied
only when targeting Windows 10+.  Apply it to older versions too.

Fixes: #25170
Issue: #16202
2023-08-10 09:59:25 -04:00
Brad King
ae97d82e83 VS: Teach CMAKE_GENERATOR_PLATFORM to support Windows 8.1 SDK selection
Honor an explicit `version=8.1` field value regardless of the Windows
target version.

Issue: #25170
2023-08-10 09:57:00 -04:00
Brad King
15ff89654b VS: Teach CMAKE_GENERATOR_PLATFORM to use Windows 10 SDKs for older versions
Honor an explicit `version=` field selecting a Windows 10 SDK regardless
of the Windows target version.

Issue: #25170
2023-08-10 09:34:50 -04:00
Brad King
ec6dd77053 Tests: Remove redundant condition in RunCMake.GeneratorPlatform test 2023-08-10 09:30:19 -04:00
Brad King
1233da9f4a Merge topic 'OPTIMIZE_DEPENDENCIES-runtime-targets'
84eae7aeda OPTIMIZE_DEPENDENCIES: Skip order-only deps for non-linking targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8685
2023-08-10 08:58:34 -04:00
Brad King
f16bbea383 Merge topic 'test-cxxmodules-generated-fix'
1e9ec93f48 Tests/RunCMake/CXXModules: actually generate the source at build time

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8693
2023-08-10 08:56:29 -04:00
Craig Scott
84eae7aeda OPTIMIZE_DEPENDENCIES: Skip order-only deps for non-linking targets
Fixes: #21517
2023-08-10 09:17:56 +10:00
Brad King
c05d06c6ed Merge topic 'file-GENERATE-arg-parsing'
88f90a72f1 file(GENERATE): Restore INPUT|CONTENT parse checking

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8694
2023-08-08 10:06:39 -04:00
Evan Wilde
88f90a72f1 file(GENERATE): Restore INPUT|CONTENT parse checking
Refactoring in commit bff468c988 (cmFileCommand: Use cm::optional for
keyword argument presence, 2022-06-30, v3.25.0-rc1~512^2) accidentally
broke the check that the input argument is either `INPUT` or `CONTENT`.

The check is supposed to fail when arguments are passed in the wrong
order.  For example:

    file(GENERATE OUTPUT ...
         TARGET <target>
         CONTENT <content>)

Prior to this fix, the input method would be CONTENT, but because the
first parsed keyword is not `CONTENT`, `inputIsContent` would be false.
The first parsed keyword isn't INPUT either, so we would not continue
into the error condition. CMake would then try to handle this as an
input file, when there isn't one, resulting in uninitialized memory
usage and segfaults or corruption later on.

Fixes: #25169
2023-08-07 19:17:29 -04:00
Ben Boeckel
1e9ec93f48 Tests/RunCMake/CXXModules: actually generate the source at build time
This tests what is intended to be tested (sources that do not exist
until after the configure has run).
2023-08-07 19:14:45 -04:00
Brad King
efb21962fb Merge topic 'cxxmodules-try-compile'
be53c75852 cmExperimental: recycle the C++ modules API UUID
deb1c3cbd5 cmCoreTryCompile: forward module-related binutils variables
b768d293c5 cmCoreTryCompile: use the source type context for source files
93993c7ad4 cmArgumentParser: support storing a context value with parsing
c9ca5f6326 cmCoreTryCompile: parse `SOURCES_TYPE` argument
07551f35de cmCoreTryCompile: use `target_sources` for `try_compile` targets
aad9033b56 cmExperimental: support forwarding associated variables to `try_compile`
f6cf433256 cmExperimental: only forward C++ module support to non-ABI checks
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8639
2023-08-07 11:57:00 -04:00
Brad King
ade507f64c Merge topic 'set-CACHE-diagnostics'
20c23518d9 set: Improve diagnostics for CACHE mode

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8679
2023-08-07 11:53:39 -04:00
Brad King
1972a7b6e3 Merge branch 'backport-revert-vs-show-cmake-files' 2023-08-02 12:11:11 -04:00
Brad King
0d1529000d VS: Revert "Add CMake input files to ZERO_CHECK"
Since commit df58dbb0e9 (VS: Add CMake input files to ZERO_CHECK,
2023-03-19, v3.27.0-rc1~157^2), projects that specify the same file both
as input to `configure_file` and as the `MAIN_DEPENDENCY` of a custom
command fail to configure.  Revert the change pending further
investigation.  Add a test case demonstrating the problem.

Issue: #24557
Fixes: #25149
2023-08-02 11:53:48 -04:00
Jeremy
20c23518d9 set: Improve diagnostics for CACHE mode
Improve `set()` diagnostics to be more specific than

    given invalid arguments for CACHE mode
2023-08-02 10:07:56 -04:00
Brad King
17dcd9424a Merge topic 'xcode-embed-resources'
e40d2cb3af Xcode: Add embed resources support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: Deal <halx99@live.com>
Merge-request: !8632
2023-08-01 09:33:15 -04:00
Ben Boeckel
be53c75852 cmExperimental: recycle the C++ modules API UUID
`try_compile` and `try_run` now support C++ modules.
2023-07-31 11:59:50 -04:00
Ben Boeckel
b768d293c5 cmCoreTryCompile: use the source type context for source files
Also add a test to `RunCMake/CXXModules` to test `try_compile` with C++
modules.

Fixes: #25097
2023-07-31 11:59:47 -04:00
halx99
e40d2cb3af Xcode: Add embed resources support 2023-07-31 09:08:10 +08:00
Ben Boeckel
b66c494ca4 Tests/RunCMake/property_init: test 'with_exports' properties 2023-07-29 09:35:21 -04:00
Ben Boeckel
efad4391e5 Tests/RunCMake/property_init: test 'with_commands' properties 2023-07-29 09:35:21 -04:00
Ben Boeckel
5f1bf85f84 Tests/RunCMake/property_init: test 'with_artifact' properties 2023-07-29 09:35:21 -04:00
Ben Boeckel
02972ed9e8 Tests/RunCMake/property_init: test 'shared_library' properties 2023-07-29 09:35:21 -04:00
Ben Boeckel
653a32aa72 Tests/RunCMake/property_init: test 'pic_targets' properties 2023-07-29 09:35:21 -04:00
Ben Boeckel
141049cf16 Tests/RunCMake/property_init: test 'normal' properties 2023-07-29 09:35:21 -04:00
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