summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* file(GENERATE): Restore INPUT|CONTENT parse checkingEvan Wilde2023-08-071-1/+2
| | | | | | | | | | | | | | | | | | | | | | 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
* VS: Revert "Add CMake input files to ZERO_CHECK"Brad King2023-08-023-75/+1
| | | | | | | | | | | 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
* Source: Link libatomic when needed on Linux 32-bit ARMBrad King2023-07-275-7/+22
| | | | Fixes: #25114
* CMake 3.27.1v3.27.1Brad King2023-07-251-1/+1
|
* Merge topic 'property-typo-fix' into release-3.27Brad King2023-07-251-1/+1
|\ | | | | | | | | | | | | | | c172eecea6 cmTarget: Restore Fortran_PREPROCESS property initialization Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8654
| * cmTarget: Restore Fortran_PREPROCESS property initializationBen Boeckel2023-07-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | 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
* | Merge topic 'cdash_checksum_400' into release-3.27Brad King2023-07-251-9/+12
|\ \ | |/ |/| | | | | | | | | | | 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
| * ctest: Update ctest_submit for CDash behavior changeZack Galbreath2023-07-251-9/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * CMake 3.26.5v3.26.5Brad King2023-07-191-1/+1
| |
| * CMake 3.26.4v3.26.4Brad King2023-05-181-1/+1
| |
| * CMake 3.26.3v3.26.3Brad King2023-04-041-1/+1
| |
| * CMake 3.26.2v3.26.2Brad King2023-03-291-1/+1
| |
* | CTest: Fix regression in calculating test timeoutKyle Edwards2023-07-241-3/+5
| | | | | | | | Fixes: #25120
* | cmComputeLinkInformation: track OBJECT library dependenciesBen Boeckel2023-07-223-5/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | CMake 3.27.0v3.27.0Brad King2023-07-181-1/+1
| |
* | InnoSetup: Always specify at least one component installation typeJannik Alber2023-07-171-11/+8
| | | | | | | | | | | | | | | | | | Inno Setup implicitly creates three installation types if none is specified in the script. This causes some component features (e.g. `REQUIRED`) to lose their functionality. Teach the generator to always specify a "custom" installation type when using components. Fixes: #25083
* | CMake 3.27.0-rc5v3.27.0-rc5Brad King2023-07-141-1/+1
| |
* | Debugger: Always clear existing breakpoints on setBreakpointsBen McMorran2023-07-132-5/+18
| | | | | | | | Fixes: #25063
* | Merge topic 'debugger-no-supportsVariableType' into release-3.27Brad King2023-07-131-19/+20
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | Debugger: Correctly handle clients without supportsVariableTypeBen McMorran2023-07-121-19/+20
| | | | | | | | | | | | Fixes: #25057
* | | Merge topic 'genex-REMOVE_DUPLICATES-empty' into release-3.27Brad King2023-07-131-1/+3
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | Genex: Restore REMOVE_DUPLICATES preservation of empty elementsBrad King2023-07-121-1/+3
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | cmWorkerPool: Show process exit code / signal number upon failureAlexandru Croitor2023-07-121-1/+1
|/ / | | | | | | | | | | | | | | | | | | | | | | Previously if an AUTOGEN process like moc exited with a non-zero exit code, cmWorkerPool would not populate the result's ErrorMessage because it mistakenly thought that if the ExitCode / TermSignal had a non-zero value, the ErrorMessage must have already been set. This was a wrong assumption. Instead, check if ErrorMessage is empty, and if it is, set it to whatever the exit code or term signal number is.
* | Merge topic 'compile-commands-modules' into release-3.27Brad King2023-07-122-4/+27
|\ \ | | | | | | | | | | | | | | | | | | | | | 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
| * | Ninja: include module mapper flags in `compile_commands.json`Ben Boeckel2023-07-092-4/+27
| | | | | | | | | | | | Fixes: #24618
* | | MSVC: Restore support for non-incremental linking without 'rc' in PATHBrad King2023-07-061-0/+20
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 0b552eb877 (MSVC: Embed manifests directly for non-incremental vs_link_exe links, 2023-02-20, v3.27.0-rc1~438^2) we tell the MSVC `link` tool to embed manifests directly rather than running `mt` ourselves. However, `link` expects `rc` to be in the PATH when embedding manifests. Although that is normally true, some users prepare minimal environments and explicitly specify include and link directories for the Windows SDK. In such cases, `rc` is not in the PATH and is explicitly specified in `CMAKE_RC_COMPILER`. Restore support for such cases by explicitly adding the RC location to the end of the PATH. Fixes: #25047
* | CMake 3.27.0-rc4v3.27.0-rc4Brad King2023-06-301-1/+1
| |
* | Merge topic 'debugger-segfault' into release-3.27Brad King2023-06-301-4/+10
|\ \ | | | | | | | | | | | | | | | | | | | | | 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
| * | Debugger: Fix threads request segfault after thread exited eventBen McMorran2023-06-291-4/+10
| | | | | | | | | | | | Fixes: #25041
* | | VS: Fix C++ modules in source files with the same nameBrad King2023-06-281-0/+11
|/ / | | | | | | | | | | | | | | | | 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
* | Merge topic 'vs-sdk-selection' into release-3.27Brad King2023-06-234-11/+10
|\ \ | | | | | | | | | | | | | | | | | | a4d532e998 VS: Restore Windows SDK selection with platform in generator name Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8583
| * | VS: Restore Windows SDK selection with platform in generator nameBrad King2023-06-224-11/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | Refactoring in commit e259063b0a (VS: Defer Windows SDK selection until CMAKE_GENERATOR_PLATFORM is known, 2023-03-31, v3.27.0-rc1~206^2~5) accidentally dropped the Windows SDK selection code path for VS generators named with the old-style platform suffix. Fixes: #25007
* | | VS: Make C++ module BMIs public by default for shared librariesAndreas Weis2023-06-222-0/+25
|/ / | | | | | | | | Enable the `AllProjectBMIsArePublic` option for shared libraries in the VS project files when building with C++20 modules support.
* | CMake 3.27.0-rc3v3.27.0-rc3Brad King2023-06-201-1/+1
| |
* | list(): restore SUBLIST behaviorMarc Chevrier2023-06-161-1/+1
| | | | | | | | Fixes: #25002
* | CMake 3.27.0-rc2v3.27.0-rc2Brad King2023-06-121-1/+1
| |
* | Merge topic 'add_test-empty-args' into release-3.27Brad King2023-06-121-1/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | 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
| * | add_test: Restore support for empty test argumentsMarc Chevrier2023-06-091-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Merge topic 'Makefiles-safer-COLOR-usage' into release-3.27Brad King2023-06-092-2/+2
|\ \ \ | |/ / |/| | | | | | | | | | | | | | 8195aa3026 Makefiles: quote `$(COLOR)` expansions Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8548
| * | Makefiles: quote `$(COLOR)` expansionsBen Boeckel2023-06-082-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | CMake 3.27.0-rc1v3.27.0-rc1Brad King2023-06-081-1/+1
| | |
* | | Merge topic 'cmcldeps-rc' into release-3.27Brad King2023-06-081-28/+18
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | 0e1abf7afa cmcldeps: Avoid passing /nologo more than once to RC compiler f694e8d9c8 cmcldeps: Do not pass linker flags to cl 8600fb263b cmcldeps: Remove unused C and CXX support Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8541
| * | cmcldeps: Avoid passing /nologo more than once to RC compilerBrad King2023-06-071-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | `rc /nologo /nologo ...` fails: fatal error RC1106: invalid option: -ologo Fixes: #24974 Inspired-by: Benjamin Buch <benjamin.buch@technoteam.de>
| * | cmcldeps: Do not pass linker flags to clBenjamin Buch2023-06-071-19/+5
| | | | | | | | | | | | | | | | | | | | | Avoid cl `Command line warning D9035`. Fixes: #24906 Co-authored-by: Brad King <brad.king@kitware.com>
| * | cmcldeps: Remove unused C and CXX supportBenjamin Buch2023-06-071-9/+4
| | | | | | | | | | | | We never set `CMAKE_NINJA_CMCLDEPS_{C,CXX}` anymore.
* | | Begin 3.27 release versioningBrad King2023-06-061-3/+3
| | |
* | | Merge topic 'verify-interface-header-sets-skip-linting'Kyle Edwards2023-06-061-0/+4
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 36ec89639a VERIFY_INTERFACE_HEADER_SETS: Skip header files that have SKIP_LINTING Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8540
| * | | VERIFY_INTERFACE_HEADER_SETS: Skip header files that have SKIP_LINTINGKyle Edwards2023-06-061-0/+4
| | | | | | | | | | | | | | | | Fixes: #24972
* | | | Merge topic 'Apple-tbd-runpath-handling'Brad King2023-06-061-2/+17
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bfa5b430b3 Apple text-based stubs: ensure runpath is correctly defined Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8536
| * | | | Apple text-based stubs: ensure runpath is correctly definedMarc Chevrier2023-06-041-2/+17
| | | | | | | | | | | | | | | | | | | | This is a complement to !8204.