Commit Graph

10393 Commits

Author SHA1 Message Date
Brad King 589ef0d22c Merge topic 'test-debugger-named-pipe-fix' into release-3.27
1a5cb0c1c1 testDebuggerNamedPipe: fix for cppdap with nlohmann_json

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8725
2023-08-16 13:31:56 -04:00
Đoàn Trần Công Danh 1a5cb0c1c1 testDebuggerNamedPipe: fix for cppdap with nlohmann_json
Fixes: #25190
Signed-off-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
2023-08-16 10:24:08 -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
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 4a8f9260c5 Merge topic 'file-GENERATE-arg-parsing' into release-3.27
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:38 -04:00
Brad King 741d19896c Merge topic 'cmList-append-regression' into release-3.27
7f9f96151a cmList: Fix performance regression in append/prepend

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8684
2023-08-08 09:39:04 -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
Marc Chevrier 7f9f96151a cmList: Fix performance regression in append/prepend
Fixes: #25147
2023-08-04 09:52:08 +02: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
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
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
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
Kyle Edwards 0e8584c89c CTest: Fix regression in calculating test timeout
Fixes: #25120
2023-07-24 19:29:54 -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
Ben Boeckel 2870a67540 Tests/FortranOnly: add a test case for issue #25112
Add a test case for Fortran `OBJECT` libraries providing modules to
consumers.
2023-07-22 06:53:36 -04:00
Ben McMorran 60b6383993 Debugger: Always clear existing breakpoints on setBreakpoints
Fixes: #25063
2023-07-13 08:44:52 -04:00
Brad King d769c59d78 Merge topic 'debugger-no-supportsVariableType' into release-3.27
e02cf3f190 Debugger: Correctly handle clients without supportsVariableType

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: Garrett Campbell <gcampbell@microsoft.com>
Merge-request: !8620
2023-07-13 08:36:24 -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
Ben McMorran e02cf3f190 Debugger: Correctly handle clients without supportsVariableType
Fixes: #25057
2023-07-12 10:09:21 -04: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 1cc4e97e87 Merge topic 'debugger-segfault' into release-3.27
764258771a Debugger: Fix threads request segfault after thread exited event

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8604
2023-06-30 09:30:20 -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 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
Ben McMorran 764258771a Debugger: Fix threads request segfault after thread exited event
Fixes: #25041
2023-06-29 13:25:51 -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 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
Robert Maynard f73ae7c510 NVHPC: Support nvfortran versions that don't support isystem
Fixes: #25019
2023-06-23 12:14:09 -04:00
Marc Chevrier 5945a98ced link dependencies: deactivate the feature
Unfortunately it breaks in combination with LTO due to a bug in the GNU
linker.

Fixes: #25014
2023-06-23 10:35:04 -04:00
Marc Chevrier 1cfaed0684 list(): restore SUBLIST behavior
Fixes: #25002
2023-06-16 15:14:03 +02:00
Brad King 15d9d591bd Tests: Require git to enable RunCMake.CMP0150 test
The test added by commit 550f63447d (ExternalProject/FetchContent:
Support relative remote URLs, 2023-04-21, v3.27.0-rc1~156^2) covers
Git-specific functionality, and requires a `git` tool to be available.
2023-06-12 17:56:53 -04:00
Brad King 0c2610bd30 Tests: Find GIT_EXECUTABLE early enough to use in all tests
Some tests work only if a `git` executable is available.
2023-06-12 17:53:56 -04:00
Brad King a70fe8ec82 Merge topic 'add_test-empty-args' into release-3.27
1df3287bf6 add_test: Restore support for empty test arguments

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8551
2023-06-12 06:41:40 -04:00
Marc Chevrier 1df3287bf6 add_test: Restore support for empty test arguments
This was regressed by refactoring in commit e08ba229ee (CMake code rely
on cmList class for CMake lists management (part. 1), 2023-04-14,
v3.27.0-rc1~174^2).  Fix it and add a test case.

Fixes: #24986
2023-06-09 09:47:52 -04:00
Ben Boeckel 8195aa3026 Makefiles: quote $(COLOR) expansions
This handles the case where `COLOR` is set to some ANSI-like color
sequence in the ambient environment. These sequences tend to include `;`
which terminates the command and tries to use the next component
(typically an integer, possibly with a trailing `m`) with errors like:

    /bin/sh: line 1: 2: command not found
    /bin/sh: line 1: 255: command not found
    /bin/sh: line 1: 221: command not found
    /bin/sh: line 1: 255m: command not found

Also add a test that sets `COLOR` in the environment which affects the
generated Makefiles behavior.

See: https://discourse.cmake.org/t/cmake-failing-gcc-compiler-checks/8277
2023-06-08 11:05:11 -04:00
Kyle Edwards af69d59b09 Merge topic 'verify-interface-header-sets-skip-linting'
36ec89639a VERIFY_INTERFACE_HEADER_SETS: Skip header files that have SKIP_LINTING

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8540
2023-06-06 10:51:27 -04:00
Kyle Edwards 36ec89639a VERIFY_INTERFACE_HEADER_SETS: Skip header files that have SKIP_LINTING
Fixes: #24972
2023-06-06 10:45:22 -04:00
Brad King ec472999dc Merge topic 'apple-clang-asm-compiler-id'
8c789bee83 AppleClang: Fix ASM compiler identification

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8537
2023-06-06 10:00:52 -04:00
Brad King 53d9234395 Merge topic 'Apple-tbd-runpath-handling'
bfa5b430b3 Apple text-based stubs: ensure runpath is correctly defined

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8536
2023-06-06 09:55:34 -04:00
Kyle Edwards 0eada92663 Merge topic 'cmuvprocesschain-status-getexception'
154fe00ca5 cmUVProcessChain: Add Status::GetException() method

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8528
2023-06-06 08:41:58 -04:00
Gregor Jasny 8c789bee83 AppleClang: Fix ASM compiler identification
Recent AppleClang compilers identify themselves as
`Apple clang version 14.0.3 (clang-1403.0.22.14.1)`.
2023-06-05 17:31:35 -04:00
Kyle Edwards 154fe00ca5 cmUVProcessChain: Add Status::GetException() method 2023-06-05 11:27:45 -04:00
Brad King 3760ac9845 Merge topic 'file-api-query-command'
99b2ccf80d cmake_file_api: New project command

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8530
2023-06-05 09:45:02 -04:00
Brad King bcbf415585 Merge topic 'orkun_24968_02_06_2023'
3e462202a7 Test: Generate pseudo linters generator independent

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8532
2023-06-05 06:41:53 -04:00
Brad King 7838ae4fd8 Merge topic 'ctest-timeout-signal'
54c5654f7d ctest: Optionally terminate tests with a custom signal on timeout
e38c05688e CTest/cmProcess: Adopt field tracking reason for the process timeout
25c1468314 cmCTestTestHandler: Remove outdated comment
41e8507ab7 IWYU: Add mapping for bits/chrono.h to chrono

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8472
2023-06-05 06:33:36 -04:00
Craig Scott 99b2ccf80d cmake_file_api: New project command
Projects can use the new command to request file API replies for the current
run. No query files are generated, the query is tracked internally. Replies are
created in the file system at generation time in the usual way.

Fixes: #24951
2023-06-05 06:20:50 -04:00