| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| |
| |
| |
| | |
63bbb3768d cmLocalGenerator: ignore scanned sources for unity builds
76b5383123 cmGlobalGenerator: add unity sources after computing target compile features
7fc2a83fe6 Tests/CXXModules: add a test with unity build support
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9118
|
| |
| |
| |
| |
| | |
C++ module-using TUs cannot participate in unity builds. Add a test case
for this situation.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
7198f0d149 Makefile: Fix double escaping when DEPFILE is used
5162ff64d4 Makefile: Reduce string copies
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9138
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In commit cfd8a5ac1f (Makefiles: Add support of DEPFILE for
add_custom_command, 2020-12-04, v3.20.0-rc1~237^2~1) we added a
`ConvertToOutputPath` call on a path given to the `depends` field of
`WriteMakeRule`. The latter already handles escaping for Makefile
syntax.
Fixes: #25554
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
a6a5c43300 Swift/Ninja: Add support for response files
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9098
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Adding support for `CMAKE_NINJA_FORCE_RESPONSE_FILE` with Swift.
Issue: #25490
Fixes: #25563
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
On E2K architecture, there is at least one known version of libc
that is built with a bug that leads to a kernel error like
`procedure stack could not be copied` visible in `dmesg` in several
tests (and such test immediately receives `SIGSEGV` and fails).
It was first detected in !8665, and after a long investigation,
the culprit was finally found (MCST bugzilla internal bug 124224).
Avoid running tests known to fail if such a version of libc is detected.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
The "multiple other export sets" message may wrap lines differently
depending on the path to the test.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
`lfortran` < 1.24 uses `fccn`, a Fortran-to-C converter that
incorrectly handles long filenames that are more than 128 characters
long; so to check if Fortran can compile something, CMake must be
run in binary directory that has a name of less that 35 characters long.
It is ok for typical runs line `cmake -S . -B build` or `cmake ..`,
but does not work with usual CDash dashboard testing paths.
All this is not a problem for modern LCC >= 1.24.
|
|\ \ \ \
| |/ / /
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
2c6ec6de15 Link to transitive dependencies on stub libraries only on some linkers
dd4a6dff92 Link explicitly to private transitive dependencies on stub libraries
5f1bbdb3b3 Tests: Enable RunCMake.RuntimePath test on more platforms
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9050
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We represent stub libraries, e.g., for CUDA, using imported `SHARED`
library targets with only `IMPORTED_IMPLIB`, and no `IMPORTED_LOCATION`,
to indicate that the stub file is meant only for linkers and not dynamic
loaders. See commit 7351d590ee (cmTarget: Add a way to represent
imported shared library stubs, 2023-07-17, v3.28.0-rc1~344^2) and commit
fc6508921c (cmComputeLinkInformation: Restore soname lookup for
non-imported targets, 2023-12-05, v3.28.0~4^2).
If a shared library is linked to a stub, it has a `NEEDED` field
populated with the `SONAME` found in the stub. When a dependent target
links to such a shared library, some linkers want to find a library file
on disk and load it to see what symbols it provides. This is necessary
for linkers that enforce `--no-allow-shlib-undefined`. On hosts with
only the stub library installed, e.g., with only the CUDA toolkit
development package, the real runtime library corresponding to the
stub's `SONAME` may not even exist, so no `-rpath-link` flag can help
linkers find it. Pass the stub library to linkers explicitly so they
can find it without searching.
|
| | | |
| | | |
| | | |
| | | | |
Move the "ELF" check to specific cases inside the test.
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
1161ad76ac Swift/Ninja: Always restat swift build commands
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9076
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The swift toolchain leaves output files untouched
if there are no meaningful input changes; without
restat, this causes ninja to needlessly rebuild
targets that are not actually out-of-date
Fixes: #25496
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
44f29a4291 Swift/Ninja: Fix multifile module compile commands
Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9095
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Swift compile commands need to have all source files in the module
specified in the compile command or LSP systems will report errors on
missing types that are defined in other source files in the same module.
Issue: #25491
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
3253bc306e Tests: Optionally run RunCMake.ExternalProject serially
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9129
|
| | |_|/ / /
| |/| | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
On some machines running many tests concurrently, the `INACTIVITY_TIMEOUT`
cases do not always complete within their individual timeout. Add an
undocumented cache entry to use on those machines to run the test serially.
|
|\ \ \ \ \ \
| |/ / / / /
|/| | | / /
| | |_|/ /
| |/| | |
| | | | |
| | | | |
| | | | | |
ce9c6d0994 HIP: Propagate CMAKE_HIP_PLATFORM from/to the test project in check_language
9ba3fc91e5 HIP: Really forward CMAKE_HIP_HOST_COMPILER in check_language(HIP)
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9121
|
| | |_|/
| |/| |
| | | |
| | | | |
Fixes: #25541
|
|\ \ \ \
| |_|/ /
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
`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.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Some compiler drivers invoke the linker tool as just `ld`, with no path,
expecting it to be in the `PATH`.
|
| | | |
| | | |
| | | |
| | | | |
Do not match quotes as part of the path.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
These compilers print an explicit `export XL_LINKER=` line.
Parse it separately.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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).
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
Cover both Ninja and Visual Studio generators.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
There are a few cases where content besides the path is picked up.
Match them for now. We will fix them in following commits.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | | |
|
| | |/
| |/| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
|\ \ \
| | |/
| |/|
| | |
| | |
| | |
| | |
| | | |
255c2e1430 Ninja: LINK_OPTIONS property should support newlines
Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9096
|
| | |
| | |
| | |
| | | |
Fixes: #25513
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
4ac5a2f866 CMakePackageConfigHelpers: Add generate_apple_architecture_selection_file()
b9f81ee9f9 CMakePackageConfigHelpers: Remove outdated documentation summary paragraph
68a03cf3d4 generate_apple_platform_selection_file: Add INSTALL_PREFIX option
ff21f0f70f Tests: Verify generate_apple_platform_selection_file file paths
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9092
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Add a helper to select architecture-specific implementations of a
package on an Apple-specific platform.
Fixes: #25516
|
| | | |
| | | |
| | | |
| | | | |
This is necessary to forward to `configure_package_config_file`.
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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 policy CMP0158 to provide compatibility for existing projects.
Fixes: #23672
|
|\ \ \ \ \
| |_|/ / /
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | | |
d31b48816c Swift/Ninja: Fix missing OFM in CMP0157 OLD behavior
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9089
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
2ea216a6bb GoogleTest: Add working directory to gtest_discover_tests error message
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9083
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
If the working directory didn't exist, the old message just says:
Error running test executable.
Path: '<Path to test executable>'
Result: No such file or directory
Output:
This leads the user to the conclusion that the test executable doesn't
exist, which isn't true. Make the true cause visible by reporting the
working directory in the error message.
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
dc5098429b CMakePackageConfigHelpers: Clarify Apple platform selection usage error
3b9586671c CMakePackageConfigHelpers: Clarify Apple platform selection template name
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9087
|