- Nov 02, 2018
-
- Nov 01, 2018
-
-
Brad King authored
Merge-request: !2556
-
Fixes: #18532
-
- Oct 31, 2018
-
-
Brad King authored
Merge-request: !2549
-
Brad King authored
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
-
- Oct 29, 2018
-
-
Brad King authored
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
-
Brad King authored
Merge-request: !2544
-
Brad King authored
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
-
- Oct 24, 2018
-
-
Brad King authored
Merge-request: !2519
-
Brad King authored
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
-
Brad King authored
Merge-request: !2512
-
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
-
- Oct 10, 2018
-
-
Brad King authored
Merge-request: !2471
-
Logic added by commit v3.12.0-rc1~183^2 (FindMatlab: Matlab Runtime Compiler support, 2017-04-29) assumes that `VersionInfo.xml` exists in the installation. Fix it to tolerate a missing or empty file. This change was originally made by commit v3.13.0-rc1~173^2 (FindMatlab: Guard against nonexistent installation, 2018-08-27). Here we backport it to the 3.12.x series. Fixes: #18436
-
- Oct 05, 2018
-
-
Brad King authored
Merge-request: !2448
-
Refactoring in commit v3.12.0-rc1~481^2 (UseSWIG: modernize module, 2018-01-29) accidentally regressed support for PHP. Fix it. Fixes: #18421
-
- Oct 03, 2018
-
- Oct 02, 2018
-
-
Brad King authored
Merge-request: !2427
-
Brad King authored
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
-
Brad King authored
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
-
- Oct 01, 2018
-
-
Brad King authored
Merge-request: !2422
-
Brad King authored
Some platforms (e.g. GNU/Hurd) do not define PATH_MAX. Add a few other variants and a fallback constant. Also use alternatives where possible: * For readlink(), use lstat() to read the length of the link first. If it is not a symlink, report EINVAL before trying to allocate. If the size reports as zero, fall back one of the PATH_MAX variants. * For realpath(), POSIX 2008 allows us to pass a NULL buffer to tell it to malloc() internally. This patch was inspired by downstream patches in Debian packaging for issues 897061 and 909011. Issue: #18337
-
- Sep 26, 2018
- Sep 19, 2018
-
-
Brad King authored
Merge-request: !2401
-
-
- Sep 11, 2018
-
-
Brad King authored
Merge-request: !2373
-
Brad King authored
In commit v3.9.0-rc1~55^2 (Improve Doxygen support, 2017-04-10) use of the `IN_LIST` condition was added, but this is only supported when policy CMP0057 is set to NEW. Add a policy scope around the module and enable the policy within it. Otherwise it works only in projects that happen to enable the policy. Fixes: #18361
-
- Sep 10, 2018
-
-
Brad King authored
Merge-request: !2368
-
Brad King authored
Merge-request: !2366
-
Brad King authored
Refactoring in commit v3.10.0-rc1~103^2~2 (FindMPI: Modernization from ground up, 2017-04-25) accidentally left this variable set as a copy of the `;`-list in `MPI_<LANG>_COMPILE_OPTIONS`, but the flags variable is documented as a command-line string. Restore it now. Fixes: #18349
-
Kyle Edwards authored
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.
-
Brad King authored
Merge-request: !2362
-
Brad King authored
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
-
- Sep 07, 2018
-
- Sep 05, 2018
-
-
Brad King authored
Merge-request: !2354
-
This was left accidentally when resolving merge conflicts between previous changes. Fixes: #18221
-
Brad King authored
Merge-request: !2349
-
Brad King authored
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
-