summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* cmNinjaTargetGenerator: use `.` for the needed phony order-only dependencyBen Boeckel2024-01-063-6/+21
| | | | It is only required for Ninja < 1.7 though.
* cmNinjaTargetGenerator: ensure that the object output directory existsBen Boeckel2024-01-061-0/+9
| | | | | | | | | | If a target has no object compilations within it, nothing ensures that the directory exists yet it is still mentioned as an order-only dependency within the build files. While `ninja` is OK with this, `samu`, an alternate `ninja` implementation, is not. Make sure the directory always exists for consistency. Fixes: #25526
* cmNinjaTargetGenerator: add a method to compute the object directoryBen Boeckel2024-01-052-15/+14
|
* CMake Nightly Date StampKitware Robot2024-01-051-1/+1
|
* CMake Nightly Date StampKitware Robot2024-01-041-1/+1
|
* Merge topic 'cxxmodules-no-compile-commands-modmap'Brad King2024-01-032-12/+12
|\ | | | | | | | | | | | | | | | | eebf239d9c Merge branch 'cxxmodules-no-compile-commands-modmap-release' into cxxmodules-no-compile-commands-modmap 73fbad3d93 cmNinjaTargetGenerator: use scan flag for modmap usage in exported commands Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !9100
| * Merge branch 'cxxmodules-no-compile-commands-modmap-release' into ↵Ben Boeckel2023-12-282-12/+12
| |\ | | | | | | | | | | | | | | | | | | cxxmodules-no-compile-commands-modmap * cxxmodules-no-compile-commands-modmap-release: cmNinjaTargetGenerator: use scan flag for modmap usage in exported commands
| | * cmNinjaTargetGenerator: use scan flag for modmap usage in exported commandsBen Boeckel2023-12-222-10/+10
| | | | | | | | | | | | See: https://discourse.cmake.org/t/how-to-control-the-location-of-the-c-20-binary-module-interface-bmi-output-directory/7968
* | | Merge topic 'cxxmodules-error-message-improvement'Craig Scott2024-01-031-1/+2
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4962eba981 cmDyndepCollation: clarify CXX_MODULES-without-BMI error message Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Acked-by: Yaraslau <yaraslau.tamashevich@gmail.com> Merge-request: !9103
| * | | cmDyndepCollation: clarify CXX_MODULES-without-BMI error messageBen Boeckel2023-12-261-1/+2
| | | | | | | | | | | | | | | | Fixes: #25493
* | | | CMake Nightly Date StampKitware Robot2024-01-031-1/+1
| | | |
* | | | CMake Nightly Date StampKitware Robot2024-01-021-1/+1
| | | |
* | | | CMake Nightly Date StampKitware Robot2024-01-011-1/+1
| | | |
* | | | CMake Nightly Date StampKitware Robot2023-12-311-1/+1
| | | |
* | | | CMake Nightly Date StampKitware Robot2023-12-301-1/+1
| | | |
* | | | CMake Nightly Date StampKitware Robot2023-12-291-1/+1
| |/ / |/| |
* | | CMake Nightly Date StampKitware Robot2023-12-281-1/+1
| | |
* | | CMake Nightly Date StampKitware Robot2023-12-271-1/+1
| | |
* | | CMake Nightly Date StampKitware Robot2023-12-261-1/+1
| | |
* | | CMake Nightly Date StampKitware Robot2023-12-251-1/+1
| | |
* | | CMake Nightly Date StampKitware Robot2023-12-241-1/+1
| | |
* | | Merge topic 'Ninja-LINK_OPTIONS-with-newlines'Marc Chevrier2023-12-235-1/+27
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | 255c2e1430 Ninja: LINK_OPTIONS property should support newlines Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !9096
| * | Ninja: LINK_OPTIONS property should support newlinesMarc Chevrier2023-12-205-1/+27
| |/ | | | | | | Fixes: #25513
* | CMake Nightly Date StampKitware Robot2023-12-231-1/+1
| |
* | CMake Nightly Date StampKitware Robot2023-12-221-1/+1
| |
* | CMake Nightly Date StampKitware Robot2023-12-211-1/+1
| |
* | Merge topic 'cmake-presets-empty-architecture'Brad King2023-12-201-2/+3
|\ \ | | | | | | | | | | | | | | | | | | | | | 0654051dde CMakePresets.json: Don't use architecture and toolset if empty Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !9093
| * | CMakePresets.json: Don't use architecture and toolset if emptyKyle Edwards2023-12-191-2/+3
| | | | | | | | | | | | Fixes: #24864
* | | Merge topic 'add_test-CROSSCOMPILING_EMULATOR-exclusive'Brad King2023-12-204-2/+17
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | ca5a300d7f add_test: Honor CROSSCOMPILING_EMULATOR only when cross-compiling Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8947
| * | | add_test: Honor CROSSCOMPILING_EMULATOR only when cross-compilingRalf Habacker2023-12-194-2/+17
| | | | | | | | | | | | | | | | | | | | | | | | Add policy CMP0158 to provide compatibility for existing projects. Fixes: #23672
* | | | Merge topic 'swift-CMP0157-old'Brad King2023-12-201-1/+2
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d31b48816c Swift/Ninja: Fix missing OFM in CMP0157 OLD behavior Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9089
| * | | | Swift/Ninja: Fix missing OFM in CMP0157 OLD behaviorEvan Wilde2023-12-191-1/+2
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | The CMP0157 old behavior omitted the output-file-map after the Swift build split because we stopped calling `EmitSwiftDependencyInfo` when we could not split the build because we didn't call `WriteObjectBuildStatement`. If we can't split the build, then we still need to include the OFM information to not break incremental builds.
* | | | CMake Nightly Date StampKitware Robot2023-12-201-1/+1
| |/ / |/| |
* | | Merge topic 'Xcode-Check-Imported-Framework'Brad King2023-12-191-5/+17
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | defbfd6f55 Xcode: Restore support for standalone IMPORTED_LOCATION_<CONFIG> Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !9082
| * | Xcode: Restore support for standalone IMPORTED_LOCATION_<CONFIG>Marc Chevrier2023-12-181-5/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit 878ae03832 (macOS: IMPORTED framework: Honor SYSTEM target property in all cases, 2023-08-27, v3.28.0-rc1~162^2) we broke support for `IMPORTED_LOCATION_<CONFIG>` without `IMPORTED_CONFIGURATIONS`. Previously it worked if the importing project's configurations match the set of `IMPORTED_LOCATION_<CONFIG>` properties set. Fix that case. Fixes: #25506 Issue: #25515
| * | CMake 3.28.1v3.28.1Brad King2023-12-141-1/+1
| | |
* | | CMake Nightly Date StampKitware Robot2023-12-191-1/+1
| | |
* | | CMake Nightly Date StampKitware Robot2023-12-181-1/+1
| |/ |/|
* | CMake Nightly Date StampKitware Robot2023-12-171-1/+1
| |
* | Merge topic 'swift-split-compilation-model'Brad King2023-12-167-28/+274
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 9bed4f4d81 Swift/Ninja: Split compilation model 64b3367845 cmGlobalGenerator: Allow passing language to GetLangaugeOutputExtension Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8907
| * | Swift/Ninja: Split compilation modelEvan Wilde2023-12-155-15/+253
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Splitting the Swift build into an object build and a separate link step, instead of building and linking in one step. The immediate benefit is LSP support because we are able to emit compile-commands for Swift files now. Additionally, it is possible to specify flags to the compile step, enabling folks to emit C and C++ headers from their Swift builds for C/C++ interop, without needing custom commands. Eventually, this gives us a path toward working object libraries. Object Libraries: - Object libraries don't work today because CMake doesn't emit targets for object libraries into the Ninja build file. - tl;dr: Object libraries work if they aren't WMO. Still need work to make WMO'd object libraries work. Object libraries still don't completely work with this patch because, while we emit the targets, the `TARGET_OBJECTS` generator expression expansion has a separate mechanism for determining what the names of the objects are based on the input source files, so targets that depend on an object library built with a whole-module optimization will depend on objects based on the name of the source file instead of the actual emitted object file. These features require being able to accurately model wholemodule builds though, because we actually need to track object files and WMO affects what objects are emitted. For that, we require CMP0157 use the NEW policy. When it's OLD, we have to fall back on the old behavior and cannot provide object libraries or the compile-commands for LSP. Issue: #25308
| * | cmGlobalGenerator: Allow passing language to GetLangaugeOutputExtensionEvan Wilde2023-12-052-13/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The original GetLanguageOutputExtension took a sourcefile instead of the name of the language itself. This implementation provided a convenient handler for when the SourceFile doesn't know what language it is, but there are times where we know the language, but don't necessarily have a source file. Adding an overload that takes the name of the language and returns the extension of that language, or empty string if no extension is registered.
* | | CMake Nightly Date StampKitware Robot2023-12-161-1/+1
| | |
* | | Merge topic 'cmake-test-launcher'Brad King2023-12-154-7/+35
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 88863d83d6 fileapi: Add test launcher to codemodel-v2 1ec0372ed4 add_test: Optionally use a launcher for tests running in-project targets 478a5f4e04 fileapi: Make launcher attribute 'arguments' optional b44e38a397 cmFileAPICodemodel: Add missing std::move() Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !8963
| * | | fileapi: Add test launcher to codemodel-v2Ralf Habacker2023-12-131-5/+8
| | | | | | | | | | | | | | | | | | | | We do not need to bump the minor version because it was recently bumped by addition of the cross-compiling emulator as another kind of launcher.
| * | | add_test: Optionally use a launcher for tests running in-project targetsRalf Habacker2023-12-133-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a `CMAKE_TEST_LAUNCHER` variable and corresponding `TEST_LAUNCHER` target property. Issue: #23672
| * | | fileapi: Make launcher attribute 'arguments' optionalRalf Habacker2023-12-131-1/+3
| | | | | | | | | | | | | | | | | | | | This was missed in commit 80a64c9ce5 (fileapi: Add cross-compiling emulator to codemodel-v2, 2023-11-11).
| * | | cmFileAPICodemodel: Add missing std::move()Ralf Habacker2023-12-131-2/+2
| |/ / | | | | | | | | | | | | This was missed in commit 80a64c9ce5 (fileapi: Add cross-compiling emulator to codemodel-v2, 2023-11-11).
* | | CMake Nightly Date StampKitware Robot2023-12-151-1/+1
| | |
* | | CMake Nightly Date StampKitware Robot2023-12-141-1/+1
| | |