summaryrefslogtreecommitdiffstats
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
|
* Merge topic 'compute-compiler-linker'Brad King2024-01-04182-88/+1778
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 459d1cc095 Tests: Verify that linker tool is detected and identified where expected 6aec4739c1 LinkerId: Record detection steps to configure log ba5f8dbba3 LinkerId: Use empty string for unknown linker id 6cbd0658c5 LinkerId: Match Apple linker on all Apple platforms 9324668517 LinkerId: Fix detection of GNU linker id without parenthesis in version output 37bc148870 LinkerId: Fix detection of linker tool without path 6e527c2d38 LinkerId: Fix detection of linker tool for Clang on OpenBSD 455aed3061 LinkerId: Fix detection of linker tool for MSVC ... Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !9086
| * Tests: Verify that linker tool is detected and identified where expectedBrad King2024-01-032-2/+36
| |
| * LinkerId: Record detection steps to configure logBrad King2024-01-031-0/+7
| |
| * LinkerId: Use empty string for unknown linker idBrad King2024-01-031-4/+0
| | | | | | | | | | | | | | Since commit c26c6ac488 (Link Step: compute effective linker used by the compiler, 2023-05-27) we used `UNKNOWN` if the linker id is not known. This convention is not used elsewhere, and logic using the linker id is easier when `if(CMAKE_C_COMPILER_LINKER_ID)` is false on unknown id.
| * LinkerId: Match Apple linker on all Apple platformsBrad King2024-01-032-2/+2
| | | | | | | | | | | | `cmake_determine_linker_id` is only used for macOS because Apple device platforms set `_CMAKE_FEATURE_DETECTION_TARGET_TYPE` to `STATIC_LIBRARY`, but we might as well prepare for them anyway.
| * LinkerId: Fix detection of GNU linker id without parenthesis in version outputBrad King2024-01-034-2/+8
| |
| * LinkerId: Fix detection of linker tool without pathBrad King2024-01-0314-14/+14
| | | | | | | | | | Some compiler drivers invoke the linker tool as just `ld`, with no path, expecting it to be in the `PATH`.
| * LinkerId: Fix detection of linker tool for Clang on OpenBSDBrad King2024-01-033-3/+3
| | | | | | | | Do not match quotes as part of the path.
| * LinkerId: Fix detection of linker tool for MSVCBrad King2024-01-032-5/+5
| | | | | | | | | | | | Previously we matched an entire build system output line and then extracted the relevant portion in a separate brittle step. Match it directly. Use the `CMAKE_LINKER` value directly if available.
| * LinkerId: Fix detection of linker tool for GNU on SunOS sparc32Brad King2024-01-035-5/+15
| | | | | | | | | | | | We do not use `-Wl,-v` on SunOS because not all GNU deployments use the `collect2` helper, and those that do do not always print the underlying `ld` command line. Parse the `--with-ld=` option as a fallback.
| * LinkerId: Fix detection of linker tool for XL compilersBrad King2024-01-0313-12/+14
| | | | | | | | | | These compilers print an explicit `export XL_LINKER=` line. Parse it separately.
| * LinkerId: Fix detection of linker tool for XL as nvcc host compilerBrad King2024-01-032-3/+5
| | | | | | | | | | | | | | When IBM XL is used as the host compiler for nvcc, it generates a comma-separated link line. Parse the `exec:` line syntax separately, as was done in commit b5f20da94d (CMakeParseImplicitLinkInfo supports comma separated link lines, 2019-08-23, v3.16.0-rc1~181^2).
| * LinkerId: Prepare detection of linker tool for multiple match attemptsBrad King2024-01-031-8/+12
| |
| * Tests: Cover detection of linker tool for Intel on WindowsBrad King2024-01-0313-0/+138
| |
| * Tests: Cover detection of linker tool for MSVCBrad King2024-01-039-0/+148
| | | | | | | | Cover both Ninja and Visual Studio generators.
| * Tests: Cover detection of linker tool while parsing implicit link infoBrad King2024-01-0394-2/+110
| | | | | | | | | | There are a few cases where content besides the path is picked up. Match them for now. We will fix them in following commits.
| * Tests: Update sample data for parsing implicit link/include informationBrad King2024-01-0354-1/+1148
| | | | | | | | | | | | Since commit c26c6ac488 (Link Step: compute effective linker used by the compiler, 2023-05-27) we use `CMAKE_${lang}_VERBOSE_LINK_FLAG` when detecting implicit link information. Generate sample test data with it.
| * Tests: Improve isolation of cases parsing implicit link/include informationBrad King2024-01-032-69/+51
| |
| * Tests: Add unit tests for internal cmake_determine_linker_id helperBrad King2024-01-0327-0/+106
| |
* | Merge topic 'fix_documentation'Brad King2024-01-041-2/+2
|\ \ | | | | | | | | | | | | | | | | | | 20f74231db Help: Fix Step3 Mathfunction example Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9101
| * | Help: Fix Step3 Mathfunction exampleBhavith C2023-12-231-2/+2
| | | | | | | | | | | | | | | | | | | | | - TODO 6 has to be Link SqrtLibrary - TODO 7 has to be Link MathFunctions Signed-off-by: Bhavith C <bhavithc.acharya@gmail.com>
* | | Merge branch 'release-3.28'Brad King2024-01-040-0/+0
|\ \ \
| * \ \ Merge branch 'release-3.27' into release-3.28Brad King2024-01-040-0/+0
| |\ \ \
* | \ \ \ Merge branch 'release-3.27'Brad King2024-01-040-0/+0
|\ \ \ \ \ | | |/ / / | |/| | |
| * | | | Merge branch 'HELP-string_LENGTH-link-error' into release-3.27Brad King2024-01-041-1/+1
| |\ \ \ \ | | | | | | | | | | | | | | | | | | Merge-request: !9113
* | \ \ \ \ Merge branch 'release-3.28'Brad King2024-01-040-0/+0
|\ \ \ \ \ \ | | |_|/ / / | |/| | | |
| * | | | | Merge topic 'HELP-string_LENGTH-link-error' into release-3.28Brad King2024-01-041-1/+1
| |\ \ \ \ \ | | | |/ / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | 9702a01dc9 Help: string(LENGTH): Fix synopsis link to command description Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9113
* | | | | | Merge topic 'HELP-string_LENGTH-link-error'Brad King2024-01-041-1/+1
|\ \ \ \ \ \ | | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | 9702a01dc9 Help: string(LENGTH): Fix synopsis link to command description Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9113
| * | | | | Help: string(LENGTH): Fix synopsis link to command descriptionMarc Chevrier2024-01-031-1/+1
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | Make the link target explicit to avoid ambiguity with `JSON LENGTH`. Fixes: #25546
* | | | | Merge branch 'release-3.28'Brad King2024-01-040-0/+0
|\ \ \ \ \ | | |/ / / | |/| | |
| * | | | Merge topic 'revert-ExternalProject-download-byproducts' into release-3.28Brad King2024-01-042-15/+5
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fd3c9876c6 ExternalProject: revert `BYPRODUCTS` for download outputs Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9097
* | \ \ \ \ Merge topic 'revert-ExternalProject-download-byproducts'Brad King2024-01-042-15/+5
|\ \ \ \ \ \ | | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | fd3c9876c6 ExternalProject: revert `BYPRODUCTS` for download outputs Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9097
| * | | | | ExternalProject: revert `BYPRODUCTS` for download outputsBen Boeckel2024-01-032-15/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Xcode has been reported to not work at all with this when ExternalProject projects share download files. Revert commit 872daff159 (ExternalProject: declare byproducts for the download step, 2023-09-21, v3.28.0-rc1~27^2) pending further investigation. Fixes: #25525
* | | | | | CMake Nightly Date StampKitware Robot2024-01-041-1/+1
| | | | | |
* | | | | | Merge branch 'release-3.28'Brad King2024-01-030-0/+0
|\ \ \ \ \ \ | | |/ / / / | |/| | | |
| * | | | | Merge topic 'cxxmodules-no-compile-commands-modmap' into release-3.28Brad King2024-01-032-10/+10
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 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 branch 'release-3.28'Craig Scott2024-01-030-0/+0
|\ \ \ \ \ \ \ | | |_|/ / / / | |/| | | | |
| * | | | | | Merge topic 'cxxmodules-error-message-improvement' into release-3.28Craig 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
* | \ \ \ \ \ \ 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
* | | | | | | | Merge topic 'tests-quote-possibly-empty-arg'Craig Scott2024-01-031-1/+1
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d0f395525f Tests: Quote possibly empty string(REPLACE) argument Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9116
| * | | | | | | | Tests: Quote possibly empty string(REPLACE) argumentCraig Scott2024-01-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ${unity_source_line} variable should not normally be empty, but it has been observed that it sometimes is due to other factors. Rather than causing string(REPLACE) to fail due to the wrong number of arguments, quote the variable so that the UnityBuildPre2017 test case fails with a more appropriate error in the block just after the usage fixed by this change.
* | | | | | | | | CMake Nightly Date StampKitware Robot2024-01-031-1/+1
| | | | | | | | |