| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| |\
| |
| |
| | |
Merge-request: !2556
|
| | |
| |
| |
| | |
Fixes: #18532
|
| |\ \
| | |
| | |
| | | |
Merge-request: !2549
|
| | |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
A target created by `add_custom_target` should always be a `.vcxproj`
file even if it has `.cs` sources involved in custom commands and such.
The latter case was broken by refactoring in commit v3.12.0-rc1~160^2~7
(remove TargetIsCSharpOnly() and use methods from cmGeneratorTarget,
2018-03-19). The reason is that the `HasLanguage` method added by
commit v3.12.0-rc1~239^2~6 (cmGeneratorTarget: add HasLanguage() as
wrapper for GetLanguages(), 2018-03-19) does not check the target type
and so is not a suitable check for deciding the project file extension.
The `HasLanguage` method was an attempt at an abstraction that turns
out not to work very well. Replace it with a dedicated `IsCSharpOnly`
method that considers the target type, sources, and non-transitive
`LINKER_LANGUAGE`.
Fixes: #18515
|
| |\ \
| | |
| | |
| | | |
Merge-request: !2536
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Since commit v3.12.0-rc1~278^2 (CUDA: Pass more link libraries to device
linking, 2018-03-27) we consider every link library during device
linking and use `-Xnvlink` to pass those that do not end in `.a`.
However, nvlink breaks on versioned shared library names such as
`.so.1`. Work around this problem by not passing library paths that do
not end in `.a` or `.lib`. nvlink would not find device symbols in them
anyway.
Fixes: #18504
|
| |\ \ \
| | | |
| | | |
| | | | |
Merge-request: !2544
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Since commit v3.10.0-rc1~391^2~3 (Add directory property 'LABELS' and
CMAKE_DIRECTORY_LABELS variable, 2017-06-23) this command was
accidentally not allowed in script mode. It was dropped because
`ctest -S` mode needs to start with CMake's normal script mode and
then replace the `set_directory_properties` implementation. Restore
the normal `set_directory_properties` in script mode and then add
special logic to replace it in ctest. Also add a test case.
Fixes: #18523
|
| | | | | |
|
| | |\ \ \
| | | | |
| | | | |
| | | | | |
Merge-request: !1836
|
| | | | | |
| | | | |
| | | | |
| | | | | |
Issue: #17793
|
| |\ \ \ \ \
| |_|_|/ /
|/| | | |
| | | | | |
Merge-request: !2519
|
| | | |_|/
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The logic added by commit v3.12.0-rc1~62^2 (cmake: Teach '-E tar' to
report errors copying data, 2018-05-16) incorrectly reports failure
in the case of ARCHIVE_WARN. Convert this case to a warning.
Fixes: #18496
|
| |/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Since commit v3.12.0-rc1~278^2 (CUDA: Pass more link libraries to device
linking, 2018-03-27) we consider every link item during device linking.
However, items that start in `-` may be host-specific link flags that
nvcc will not understand during device linking. Filter such items using
a white list.
In particular, this allows `-pthread` to be used for host linking while
not polluting the device link line.
Issue: #18008
|
| | | | |
|
| |\ \ \
| | | |
| | | |
| | | | |
Merge-request: !2427
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
A that target contains only `.cs` sources should be generated as a
`.csproj` project even if it links to non-CSharp static libraries.
The latter case was broken by refactoring in commit v3.12.0-rc1~160^2~7
(remove TargetIsCSharpOnly() and use methods from cmGeneratorTarget,
2018-03-19). The reason is that the `HasLanguage` method added by
commit v3.12.0-rc1~239^2~6 (cmGeneratorTarget: add HasLanguage() as
wrapper for GetLanguages(), 2018-03-19) enforces its "exclusive" check
on the combined set of source file languages and the link language.
To restore the original `TargetIsCSharpOnly` semantics, update
`HasLanguage` to enforce exclusiveness only on the list of sources.
Fixes: #18239
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When a CSharp target links to a static C++ library, CMake will compute
the link language as C++ instead of CSharp. That may be incorrect and
needs further investigation, but it does not affect how VS drives C#
linking. However, it does break our flag language selection logic
and causes C++ flags to be used for CSharp. In particular, this
drops the `-platform:x86` flag on 32-bit builds.
Fix this by always selecting the CSharp flags when generating a
`.csproj` project type.
Issue: #18239
|
| |\ \ \ \
| | | | |
| | | | |
| | | | | |
Merge-request: !2366
|
| | |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The format for the TAG file was changed in 3.12, and the way it was
read caused a regression which changed how the track was decided. This
commit fixes the regression.
Fixes #18347.
|
| |/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The `ctest --test-load` option is implemented in `StartNextTests` by not
starting any tests when the load is too high and instead sleeping and
then returning. Prior to commit v3.11.0-rc1~117^2 (CTest: Re-implement
test process handling using libuv, 2017-12-10) our outer loop in
`RunTests` would immediately call `StartNextTests` again. However, now
the `uv_run` loop may simply terminate if there are no tests running
because no events are left pending.
Fix this by converting the sleep in `StartNextTests` into a libuv timer
that it starts instead. This avoids leaving `uv_run` with no pending
events. In the case that there are other running tests this also allows
CTest to detect when they finish even if it during the wait period where
we previously slept.
This regression was not caught by the test suite because it only
verified that we do not start new tests when the load was too high and
not that we proceed to start tests when the load drops. Revise the test
suite to cover both.
Fixes: #18338
|
| | | | |
|
| |\ \ \
| | | |
| | | |
| | | | |
Merge-request: !2349
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The custom command de-duplication added by commit v3.12.0-rc1~171^2 (VS:
Generate a custom command only in the least dependent target,
2018-03-23) accidentally also applied to the `CMakeLists.txt` file
reference we put in each target. This file reference comes with a
custom command that has no dependencies and that is safe to run
repeatedly across multiple targets (via internal stamp checking).
Therefore it should be excluded from the de-duplication so that
`CMakeLists.txt` references appear in all targets for human reference.
Fixes: #18310
|
| |\ \ \ \
| | | | |
| | | | |
| | | | | |
Merge-request: !2278
|
| | |/ / /
| | | |
| | | |
| | | |
| | | |
| | | | |
It should not persist across multiple configure rounds.
Fixes: #18208
|
| |/ / /
| | |
| | | |
Fixes: #18260
|
| | | | |
|
| |\ \ \ |
|
| | | | |
| | | |
| | | |
| | | | |
Fixes: #18202
|
| |/ / /
| | |
| | |
| | |
| | |
| | | |
Add documentation for both the CMake variable and environment variable
of this name pattern. Update references to these names to link to their
documents. Clarify the pattern used to construct their names.
|
| | | | |
|
| | | | |
|
| |\ \ \
| | | |
| | | |
| | | | |
Merge-request: !2177
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When `*.cs` files are provided, do not generate a `<Link>` element in
the `.csproj` project if those files are descendants of
`CMAKE_CURRENT_BINARY_DIR`. This comparison happens for each file.
|
| |\ \ \ \
| |/ / /
|/| | |
| | | | |
Merge-request: !2191
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Revert commit v3.12.0-rc1~82^2 (target_link_libraries: Allow use with
targets in other directories, 2018-05-11). The RHS target scoping and
visibility rules are not clear and will need further investigation
before the feature can be added.
Issue: #17943
|
| |/ / /
| | |
| | |
| | |
| | |
| | | |
Refactoring in commit v3.10.0-rc1~220^2 (cmCPackDebGenerator: Use
libarchive to create .deb file) accidentally broke this for the
top-level archive.
|
| | | | |
|
| |\ \ \
| | | |
| | | |
| | | | |
Merge-request: !2171
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Hide any headers specified by `ctest_submit(HTTPHEADER ...)` unless ctest
is run with --debug. This option is used to present bearer tokens to CDash.
We do not want to inadvertently expose this secret data in the console
output log.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This fixes a bug where ctest(SUBMIT CDASH_UPLOAD ...) would fail when
attemping to submit to a site bearing a genuine SSL certificate.
This code path was missing a call to cmCurlSetCAInfo() which loads
the certificate authority file.
|
| |\ \ \ \
| | | | |
| | | | |
| | | | | |
Merge-request: !2174
|
| | |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Extend the fix from commit v3.10.0-rc1~188^2 (ListFileLexer: fix
heap-buffer-overflow on malicious input, 2017-08-26) to apply to all
lexer token matches. Replace all `.` with `[^\0\n]`. Update all
`[^...]` match expressions to not match `\0`.
We cannot safely process null bytes in strings.
Fixes: #18124
|
| |\ \ \ \
| | | | |
| | | | |
| | | | | |
Merge-request: !2169
|
| | |/ / /
| | | |
| | | |
| | | |
| | | | |
Starting with libuv 1.21.0, libuv's headers were moved into a uv/ directory.
Make FindLibUV aware of the file's new location for configuration to work.
|
| |\ \ \ \
| | | | |
| | | | |
| | | | | |
Merge-request: !2162
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Teach the feature added by commit v3.12.0-rc1~38^2 (VS: Add option to
select the version of the toolset used by VS 2017, 2018-05-19) to accept
the default toolset version in addition to older versions. If the
default toolset version is supplied, simply clear it so the default will
be used.
Fixes: #18107
|
| | | | | |
| | | | |
| | | | |
| | | | | |
We already detect the VS toolset version. Expose it to clients.
|