summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'backport-cuda-filter-device-link-libs' into release-3.12Brad King2018-10-291-8/+8
|\ | | | | | | Merge-request: !2536
| * CUDA: Filter out non-static libraries during device linkingRobert Maynard2018-10-291-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | 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 branch 'set_directory_properties-script-mode' into release-3.12Brad King2018-10-297-2/+19
|\ \ | | | | | | | | | Merge-request: !2544
| * | set_directory_properties: Restore in script modeBrad King2018-10-297-2/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 branch 'tar-warnings' into release-3.12Brad King2018-10-241-13/+31
|\ \ \ | | | | | | | | | | | | Merge-request: !2519
| * | | cmake: Distinguish '-E tar' warnings from errors copying dataBrad King2018-10-241-13/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | Merge branch 'cuda-filter-device-link-items' into release-3.12Brad King2018-10-241-1/+18
|\ \ \ \ | | |_|/ | |/| | | | | | Merge-request: !2512
| * | | CUDA: Filter out host link flags during device linkingRobert Maynard2018-10-241-1/+18
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 branch 'backport-FindMatlab-missing-install' into release-3.12Brad King2018-10-101-12/+14
|\ \ \ | | | | | | | | | | | | Merge-request: !2471
| * | | FindMatlab: Guard against nonexistent installationChuck Atkins2018-10-101-12/+14
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Merge branch 'UseSWIG-php-regression' into release-3.12Brad King2018-10-051-0/+4
|\ \ \ | |/ / |/| | | | | Merge-request: !2448
| * | UseSWIG: fix regression for PHP languageMarc Chevrier2018-10-051-0/+4
|/ / | | | | | | | | | | | | Refactoring in commit v3.12.0-rc1~481^2 (UseSWIG: modernize module, 2018-01-29) accidentally regressed support for PHP. Fix it. Fixes: #18421
* | CMake 3.12.3v3.12.3Brad King2018-10-031-1/+1
| |
* | Merge branch 'fix-csharp-target-type' into release-3.12Brad King2018-10-025-6/+21
|\ \ | | | | | | | | | Merge-request: !2427
| * | CSharp: Fix regression in VS project type selectionBrad King2018-10-024-3/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | VS: Fix CSharp flag selection when linking to a static C++ libraryBrad King2018-10-021-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 branch 'libuv-gnu-hurd' into release-3.12Brad King2018-10-011-8/+39
|\ \ \ | | | | | | | | | | | | Merge-request: !2422
| * | | libuv: do not require PATH_MAX to be definedBrad King2018-10-011-8/+39
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Merge branch 'libarchive-libressl-2.7' into release-3.12Brad King2018-09-261-1/+2
|\ \ \ | | | | | | | | | | | | Merge-request: !2416
| * | | libarchive: Backport fix for build with LibreSSL 2.7Brad King2018-09-261-1/+2
| |/ / | | | | | | | | | | | | | | | | | | | | | Backport libarchive commit v3.3.3~16^2 (fix build with LibreSSL 2.7, 2018-04-01). LibreSSL 2.7 adds OpenSSL 1.1 API leading to conflicts on method names. Fixes: #18404
* | | Merge branch 'doc-updates' into release-3.12Brad King2018-09-191-1/+1
|\ \ \ | | | | | | | | | | | | Merge-request: !2401
| * | | Help: TESTS property: clarify usage.Marc Chevrier2018-09-191-1/+1
| |/ /
* | | Merge branch 'FindDoxygen-CMP0057' into release-3.12Brad King2018-09-111-0/+5
|\ \ \ | | | | | | | | | | | | Merge-request: !2373
| * | | FindDoxygen: Ensure policy settings allow use of IN_LISTBrad King2018-09-111-0/+5
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Merge branch 'FindMPI-restore-flags-string' into release-3.12Brad King2018-09-101-1/+1
|\ \ \ | | | | | | | | | | | | Merge-request: !2368
| * | | FindMPI: Restore MPI_<LANG>_COMPILE_FLAGS as a command-line stringBrad King2018-09-101-1/+1
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Merge branch 'fix-ctest_start-track' into release-3.12Brad King2018-09-104-3/+14
|\ \ \ | | | | | | | | | | | | Merge-request: !2366
| * | | CTest: Fix regression in ctest_start()Kyle Edwards2018-09-104-3/+14
| |/ / | | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge branch 'ctest-fix-test-load' into release-3.12Brad King2018-09-1016-38/+74
|\ \ \ | |/ / |/| | | | | Merge-request: !2362
| * | CTest: Fix --test-load regressionBrad King2018-09-1016-38/+74
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | CMake 3.12.2v3.12.2Brad King2018-09-071-1/+1
| |
* | Merge branch 'FindMatlab-no-CMAKE_CL_64' into release-3.12Brad King2018-09-051-15/+0
|\ \ | | | | | | | | | Merge-request: !2354
| * | FindMatlab: Remove erroneous duplicate codeRaffi Enficiaud2018-09-051-15/+0
| | | | | | | | | | | | | | | | | | | | | This was left accidentally when resolving merge conflicts between previous changes. Fixes: #18221
* | | Merge branch 'vs-CMakeLists.txt' into release-3.12Brad King2018-09-051-1/+5
|\ \ \ | | | | | | | | | | | | Merge-request: !2349
| * | | VS: Restore CMakeLists.txt references in each targetBrad King2018-09-051-1/+5
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 branch 'FindBoost-old-context' into release-3.12Brad King2018-09-041-1/+5
|\ \ \ | | | | | | | | | | | | Merge-request: !2348
| * | | FindBoost: Fix context discovery for 1.60 and belowIgor Kostenko2018-09-041-1/+5
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | * `all.hpp` was removed in 1.68: https://github.com/boostorg/context/commit/2e37599461912cc1679f106a25456a493f7f0b27 * `fcontext.hpp` was moved to detail in 1.61: https://github.com/boostorg/context/commit/c2f0dfdf2608c1ebaa2229fa6f358fe6aa103561 Fixes: #18126
* | | Merge branch 'CheckIPOSupported-output-backslashes' into release-3.12Brad King2018-08-301-4/+11
|\ \ \ | | | | | | | | | | | | Merge-request: !2331
| * | | CheckIPOSupported: Tolerate backslashes in output of failed checksBrad King2018-08-301-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avoid passing the output of our `try_compile` through a macro argument. Macro invocations re-parse their arguments and so should not be given arbitrary content that may contain backslashes and such. Instead pass a simple message. This is also more readable in the case that the macro generates a message itself. After the macro returns, report the real output directly to the variable named by our caller. Also record the output in a log file as other checks do on failure. Fixes: #18244
| * | | CheckIPOSupported: Simplify result reporting logicBrad King2018-08-301-3/+4
| |/ / | | | | | | | | | | | | | | | Simplify the test for whether a `RESULT` argument was given to the `check_ipo_supported` call. Also do not set an empty variable name if `OUTPUT` was not given.
* | | Merge branch 'android-ndk-r18' into release-3.12Brad King2018-08-285-9/+29
|\ \ \ | | | | | | | | | | | | Merge-request: !2319
| * | | Android: Add support for NDK r18Brad King2018-08-285-9/+29
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NDK r18 drops GCC toolchains and some STL types. We need to choose a clang toolchain by default when no gcc toolchains are available. Switch the STL type default to `c++_static` when the old `gnustl_static` default is not available. Update the test suite to not run tests for STL types that do not exist. Also do not expect the gcc toolchain `cpp` tool to be available because r18 does not provide it. Also teach it to tolerate `gcc -dumpmachine` output like `arm--linux-android` that differs from the toolchain prefix. Fixes: #18301
* | | Merge branch 'doc-clang-tidy-typo' into release-3.12Brad King2018-08-241-1/+1
|\ \ \ | | | | | | | | | | | | Merge-request: !2303
| * | | Help: Fix typo in clang-tidy example -checks optionDavid Demelier2018-08-241-1/+1
| |/ /
* | | Merge branch 'FindCUDA-deprecate-cublas_device' into release-3.12Brad King2018-08-231-1/+2
|\ \ \ | | | | | | | | | | | | Merge-request: !2298
| * | | FindCUDA: Do not find cublas_device on CUDA >= 9.2Kenta Kubo2018-08-231-1/+2
| |/ / | | | | | | | | | | | | | | | | | | The `cublas_device` has been deprecated and will be removed in future versions of CUDA. Issue: #18290
* | | Merge branch 'cuda-no-cublas_device' into release-3.12Brad King2018-08-233-2/+8
|\ \ \ | | | | | | | | | | | | Merge-request: !2296
| * | | CUDA: Avoid using deprecated cublas_device to identify device lib dirsRobert Maynard2018-08-233-2/+8
| |/ / | | | | | | | | | | | | | | | | | | Use `curand_static` to identify directories containing device libraries because `cublas_device` is deprecated and will be removed in the future. Issue: #18290
* | | Merge branch 'state-reset-glob' into release-3.12Brad King2018-08-233-0/+11
|\ \ \ | | | | | | | | | | | | Merge-request: !2278
| * | | cmState: Clear GlobVerificationManager state on ResetShane Parris2018-08-093-0/+11
| |/ / | | | | | | | | | | | | | | | It should not persist across multiple configure rounds. Fixes: #18208