summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'nmc-target-objects' into release-3.21Brad King2021-07-238-21/+54
|\ | | | | | | | | | | | | | | cb777dd81e Ninja Multi-Config: Restore TARGET_OBJECTS support in cross-configs 83c8272280 cmGeneratorExpressionNode: Factor out local variable for global generator Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6371
| * Ninja Multi-Config: Restore TARGET_OBJECTS support in cross-configsBrad King2021-07-218-18/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 2ae72ef74b (Xcode: Enable multi-arch TARGET_OBJECTS genex in [INTERFACE_]LINK_LIBRARIES, 2021-05-26, v3.21.0-rc1~126^2) the TARGET_OBJECTS genex, when referenced for linking, is now evaluated with EvaluateForBuildsystem enabled. This causes the object file paths to be computed with a buildsystem-specific placeholder for the configuration. This is normally fine because the placeholder will be evaluated by the native buildsystem tool using the proper configuration. However, the Ninja Multi-Config generator's `${CONFIGURATION}` placeholder may not have the correct value for cross-config object files. Switch back to using the per-config location of each object file for this generator. Fixes: #22436
| * cmGeneratorExpressionNode: Factor out local variable for global generatorBrad King2021-07-201-3/+4
| |
* | Merge topic 'enable_language-CMP0126' into release-3.21Brad King2021-07-231-0/+3
|\ \ | | | | | | | | | | | | | | | | | | 078ba4b2a4 Swift: Update test case to try CMP0126 NEW behavior Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6375
| * | Swift: Update test case to try CMP0126 NEW behaviorBrad King2021-07-211-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | Extend the `SwiftOnly` test to cover the fix in commit 3ddd7f3576 (enable_language: Fix test for working compiler with CMP0126 NEW behavior, 2021-07-15), as that commit did for the `CSharpOnly` test. Fixes: #22451
* | | Merge topic 'iar-binutils' into release-3.21Brad King2021-07-233-86/+54
|\ \ \ | |/ / |/| | | | | | | | | | | | | | 5b9bfe738c IAR: Moved search logic to BinUtils. Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6372
| * | IAR: Moved search logic to BinUtils.Jean-Marc Hengen2021-07-233-86/+54
| |/ | | | | | | | | | | | | | | | | | | | | The search logic for the IAR linker, librarian and related tools is moved from `Modules/Compiler/IAR-FindBinUtils.cmake` to `Modules/CMakeFindBinUtils.cmake` by introducing an new elseif block for the IAR toolchain. The search logic was refactored to omit repeating itself. Fixes: #22425
* | Merge topic 'message-color' into release-3.21Brad King2021-07-215-0/+26
|\ \ | | | | | | | | | | | | | | | | | | c7a8c9c811 cmMessenger: Revert to non-color messages on Windows Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6369
| * | cmMessenger: Revert to non-color messages on WindowsBrad King2021-07-205-0/+26
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 0a0a0f8a74 (cmMessenger: Color messages to terminal by type, 2021-05-18, v3.21.0-rc1~146^2) the message output no longer goes through our custom streambuf on Windows that converts output encoding. This can cause messages to be printed with the wrong encoding in a Windows Console. It also causes messages to have a mix of LF and CRLF newlines because `stderr` converts LF to CRLF but our custom streambuf does not. Revert to using just `cerr` for messages on Windows. Another approach will be needed to achieve color output on Windows later. Fixes: #22444
* | Merge topic 'CMakeDependentOption-revert-parens' into release-3.21Brad King2021-07-215-12/+7
|\ \ | | | | | | | | | | | | | | | | | | d777ca12f6 CMakeDependentOption: Revert "Allow parentheses in the depends string" Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6368
| * | CMakeDependentOption: Revert "Allow parentheses in the depends string"Brad King2021-07-205-12/+7
| |/ | | | | | | | | | | | | | | Revert commit 0665d9092e (CMakeDependentOption: Allow parentheses in the depends string, 2021-06-13, v3.21.0-rc1~32^2). It broke existing use cases with parentheses in regular expressions. Also add a test for this. Fixes: #22447
* | Merge topic 'toolchain-CMP0126' into release-3.21Brad King2021-07-2112-0/+29
|\ \ | |/ |/| | | | | | | | | 144be54dd3 try_compile: Propagate CMP0126 to the generated test project Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6366
| * try_compile: Propagate CMP0126 to the generated test projectBrad King2021-07-2012-0/+29
| | | | | | | | | | Set policy CMP0126 to the value used in the calling project. It may affect toolchain file behavior.
* | Merge topic 'iar-exe-suffix' into release-3.21Brad King2021-07-204-3/+12
|\ \ | | | | | | | | | | | | | | | | | | | | | 09bc0785ee Help: Document CMAKE_EXECUTABLE_SUFFIX_<LANG> explicitly 05a3bafe65 Compiler/IAR: Avoid clobbering CMAKE_EXECUTABLE_SUFFIX Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6357
| * | Help: Document CMAKE_EXECUTABLE_SUFFIX_<LANG> explicitlyLorenzo Cappelletti2021-07-203-1/+10
| | | | | | | | | | | | | | | Documentation for `CMAKE_EXECUTABLE_SUFFIX_<LANG>`, useful when cross-compiling, is buried in section `CMAKE_EXECUTABLE_SUFFIX`.
| * | Compiler/IAR: Avoid clobbering CMAKE_EXECUTABLE_SUFFIXLorenzo Cappelletti2021-07-201-2/+2
| | | | | | | | | | | | | | | | | | Use `CMAKE_EXECUTABLE_SUFFIX_<LANG>` instead. Fixes: #22426
* | | Merge topic 'iar-host-exe' into release-3.21Brad King2021-07-201-8/+24
|\ \ \ | |/ / |/| | | | | | | | | | | | | | 1c66012f8e Compiler/IAR: search for both IAR's binaries * and *.exe Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6362
| * | Compiler/IAR: search for both IAR's binaries * and *.exeLorenzo Cappelletti2021-07-201-8/+24
|/ / | | | | | | | | | | | | | | | | IAR is available for both Linux and Windows OSes. Moreover, binaries `*.exe` could be called from a Linux box, or vice versa. See also commit 01a4eec446 (IAR: Changes required for Linux, 2019-04-25, v3.15.0-rc1~185^2). Fixes: #22312
* | Merge topic 'enable_language-CMP0126' into release-3.21Brad King2021-07-201-4/+0
|\ \ | | | | | | | | | | | | | | | | | | f75610d492 CMakeDetermineCompilerId: Fix CMAKE_EXECUTABLE_FORMAT in CMP0126 NEW behavior Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6364
| * | CMakeDetermineCompilerId: Fix CMAKE_EXECUTABLE_FORMAT in CMP0126 NEW behaviorBrad King2021-07-191-4/+0
| |/ | | | | | | | | | | | | | | Setting `CMAKE_EXECUTABLE_FORMAT` as a normal variable is unnecessary because setting it as a cache entry already makes the value visible to the calling scope. Fixes: #22433
* | Merge topic 'autogen-ui-header-depends' into release-3.21Brad King2021-07-201-6/+14
|\ \ | | | | | | | | | | | | | | | | | | 9cebdbec77 AUTOUIC: Fix cyclic dependency between generated UI headers and timestamp Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6359
| * | AUTOUIC: Fix cyclic dependency between generated UI headers and timestampAlexey Edelev2021-07-191-6/+14
| |/ | | | | | | | | | | | | | | | | | | | | | | Once the generated UI headers are created by UIC they also are involved into processing in next run on ninja. Autogen adds `ui_*.h` files to the deps file `ui_*.h` and this cause timestamp start depend on `ui_*.h`. Meanwhile `ui_*.h` depend on timestamp because of the explicit rules added by commit 1265c65b33 (AUTOUIC: Collect ui header files for Ninja generator, 2021-02-18, v3.21.0-rc1~600^2). Avoid adding `ui_*.h` to deps file at second ninja run. Fixes: #16776
* | Merge topic 'doc-policies-3.21' into release-3.21Brad King2021-07-204-26/+54
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 7b5fa0f7b4 Help: Make policy CMP0126 wording more accurate c4bc250f8c Help: Explain policy CMP0125 in more detail 6d5f74fcd7 Help: Clarify wording of CMP0124 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6360
| * | Help: Make policy CMP0126 wording more accurate Craig Scott2021-07-172-7/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | The OLD behavior only removes a non-cache variable of the same name in specific circumstances. The previous wording implied that it would always occur. Also add a note about the behavior compared to the analogous CMP0077 policy, which affects the option() command in a similar but subtly different way.
| * | Help: Explain policy CMP0125 in more detailCraig Scott2021-07-171-12/+29
| | |
| * | Help: Clarify wording of CMP0124Craig Scott2021-07-171-7/+5
| | |
* | | Merge topic 'doc-cleanups-3.21' into release-3.21Craig Scott2021-07-203-30/+47
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | 8d1944c675 Help: Expand details for file(COPY_FILE) c8ea886123 Help: Re-order file() sub-commands in Filesystem section b5a96716eb Help: Clarify which project() call PROJECT_IS_TOP_LEVEL is for 8be7694d97 Help: Fix trivial typo Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6361
| * | Help: Expand details for file(COPY_FILE)Craig Scott2021-07-191-2/+18
| | |
| * | Help: Re-order file() sub-commands in Filesystem sectionCraig Scott2021-07-191-28/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The file(COPY_FILE) sub-command is closely related to the file(COPY) sub-command. Move the former to just before the latter for improved continuity. The file(RENAME) sub-command is also somewhat related to file(COPY_FILE), so it was also moved to keep it just before file(COPY_FILE). The file(MAKE_DIRECTORY) sub-command was also moved to just before the file(REMOVE) and file(REMOVE_RECURSE) sub-commands to keep them together and improve logical flow of operations.
| * | Help: Clarify which project() call PROJECT_IS_TOP_LEVEL is forCraig Scott2021-07-181-1/+2
| | |
| * | Help: Fix trivial typoCraig Scott2021-07-181-1/+1
| |/
* | Merge topic 'cmake-presets-no-binary-dir-no-s' into release-3.21Brad King2021-07-194-4/+24
|\ \ | | | | | | | | | | | | | | | | | | aa874dc609 CMakePresets.json: Fix expansion issue with empty binaryDir Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6358
| * | CMakePresets.json: Fix expansion issue with empty binaryDirKyle Edwards2021-07-164-4/+24
| |/ | | | | | | | | | | | | | | When resolving binaryDir into a full path from a relative path, we forgot to check if binaryDir is altogether empty, causing empty binaryDir's to resolve to the source directory. Fix this. Fixes: #22434
* | Merge topic 'enable_language-CMP0126' into release-3.21Brad King2021-07-1910-0/+31
|\ \ | | | | | | | | | | | | | | | | | | 3ddd7f3576 enable_language: Fix test for working compiler with CMP0126 NEW behavior Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6355
| * | enable_language: Fix test for working compiler with CMP0126 NEW behaviorBrad King2021-07-1510-0/+31
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | Update the logic that converts a `try_compile` result from a cache entry to a normal variable to tolerate an existing normal variable under CMP0126 NEW behavior. Otherwise the `try_compile` result is ignored because CMake uses the false value of the normal variable, and CMake incorrectly reports that the compiler does not work. This went unnoticed for some languages (e.g. C and CXX) because the check for a working compiler is skipped if ABI detection works. It does affect other languages (e.g. CSharp). Fixes: #22423
* | Merge topic 'libuv-mingw-arm' into release-3.21Brad King2021-07-191-2/+6
|\ \ | | | | | | | | | | | | | | | | | | 1aba3a8367 libuv: Fix building with mingw toolchains for ARM/AArch64 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6354
| * | libuv: Fix building with mingw toolchains for ARM/AArch64Martin Storsjö2021-07-151-2/+6
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a backport of f9ad802fa5dd5afe6730f8e00cfdbf98f1d7a969 from the v1.x branch from upstream libuv: mingw: fix building for ARM/AArch64 Don't use x86 inline assembly in these cases, but fall back to __sync_fetch_and_or, similar to _InterlockedOr8 in the MSVC case. This corresponds to what is done in src/unix/atomic-ops.h, where ARM/AArch64 cases end up implementing cmpxchgi with __sync_val_compare_and_swap. PR-URL: https://github.com/libuv/libuv/pull/3236 Reviewed-By: Jameson Nash <vtjnash@gmail.com>
* | Merge topic 'TestDriver-time.h-lint' into release-3.21Brad King2021-07-191-2/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | 0bb3d457cb TestDriver: use `CM_NULL` to avoid lints about `nullptr` usage 32ff836e2a TestDriver: suppress deprecated header lints for time.h Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6352
| * | TestDriver: use `CM_NULL` to avoid lints about `nullptr` usageBen Boeckel2021-07-141-1/+1
| | |
| * | TestDriver: suppress deprecated header lints for time.hBen Boeckel2021-07-141-1/+1
| | | | | | | | | | | | Similar to the other includes, this one should be suppressed as well.
* | | Merge topic 'Help-ctest_memcheck-shared-args' into release-3.21Brad King2021-07-192-0/+9
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 85e740312f Help/ctest_test: add a comment to also update `ctest_memcheck` 731cfd45fd Help/ctest_memcheck: mention `ctest_test` arguments Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6351
| * | | Help/ctest_test: add a comment to also update `ctest_memcheck`Ben Boeckel2021-07-191-0/+4
| | | | | | | | | | | | | | | | | | | | Since these commands share a common argument parser, the documentation should be kept synchronized.
| * | | Help/ctest_memcheck: mention `ctest_test` argumentsBen Boeckel2021-07-141-0/+5
| |/ / | | | | | | | | | | | | These are handled internally by inheriting `ctest_test`'s argument bindings. Synchronize the documentation.
* | | Merge topic 'vs2022' into release-3.21Brad King2021-07-199-13/+3505
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 0c7f918fb1 VS: Update Visual Studio 17 2022 generator for Preview 2 1ac1436b25 VS: Fix `/sourceDependencies` flag table entries for v143 919fc7fd5f VS: Remove broken EnableASAN entry from flag table for v143 3f19847b28 VS: Remove empty ExternalWarningLevel entry from flag table for v143 ccb6083cbe VS: Remove empty LanguageStandard entries from flag table for v143 c167de7e70 VS: Remove empty ConformanceMode entry from flag table for v143 993d706a17 VS: Populate `/JMC-` flag table entry for v143 a070d87e08 VS: Populate `-Qspectre-` flag table entry for v143 ... Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Egor Pugin <egor.pugin@gmail.com> Merge-request: !6350
| * | VS: Update Visual Studio 17 2022 generator for Preview 2Brad King2021-07-154-7/+15
| | | | | | | | | | | | | | | | | | In particular, update to toolset `v143`. Fixes: #22339
| * | VS: Fix `/sourceDependencies` flag table entries for v143Brad King2021-07-151-8/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Revise the `/sourceDependencies[:directives]` table entries to properly distinguish the two options (because one is a prefix of the other), and to populate both `Generate*Dependencies` and `*DependenciesFile`. This is the manual update mentioned in commit 887e9df0c7 (VS: Update v142 CL flag table for VS 16.10, 2021-06-04, v3.21.0-rc1~77^2).
| * | VS: Remove broken EnableASAN entry from flag table for v143Brad King2021-07-151-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | Apply the change from commit 7fce2d372e (VS: Revert "Add support for ASAN -fsanitize=address flag", 2021-04-26, v3.21.0-rc1~270^2) to the v143 flag table. Issue: #21081
| * | VS: Remove empty ExternalWarningLevel entry from flag table for v143Brad King2021-07-151-7/+0
| | |
| * | VS: Remove empty LanguageStandard entries from flag table for v143Brad King2021-07-151-14/+0
| | |
| * | VS: Remove empty ConformanceMode entry from flag table for v143Brad King2021-07-151-7/+0
| | |