summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* CMake 3.12.4v3.12.4Brad King2018-11-021-1/+1
|
* Merge branch 'server-file-monitor-check' into release-3.12Brad King2018-11-011-1/+2
|\ | | | | | | Merge-request: !2556
| * server: Fix assertion failure on directory paths in file monitorVladimir Penev2018-11-011-1/+2
| | | | | | | | Fixes: #18532
* | Merge branch 'backport-fix-custom-target-with-csharp' into release-3.12Brad King2018-10-315-29/+25
|\ \ | | | | | | | | | Merge-request: !2549
| * | CSharp: Fix regression in VS project type selection for custom targetBrad King2018-10-315-29/+25
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 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-294-2/+14
|\ \ \ | | | | | | | | | | | | Merge-request: !2544
| * | | set_directory_properties: Restore in script modeBrad King2018-10-294-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | CMake 3.10.3v3.10.3Brad King2018-03-161-1/+1
| | | |
| * | | Merge branch 'ccmake-stack-smashing' into release-3.10Brad King2018-03-131-1/+1
| |\ \ \ | | | | | | | | | | | | | | | Merge-request: !1836
| * | | | Autogen: Fix for the empty source file crash in 3.10.2Sebastian Holtermann2018-03-091-7/+13
| | | | | | | | | | | | | | | | | | | | Issue: #17793
* | | | | 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
* | | | 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
* | | CMake 3.12.3v3.12.3Brad King2018-10-031-1/+1
| | |
* | | Merge branch 'fix-csharp-target-type' into release-3.12Brad King2018-10-023-6/+12
|\ \ \ | | | | | | | | | | | | Merge-request: !2427
| * | | CSharp: Fix regression in VS project type selectionBrad King2018-10-022-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 'fix-ctest_start-track' into release-3.12Brad King2018-09-101-2/+4
|\ \ \ \ | | | | | | | | | | | | | | | Merge-request: !2366
| * | | | CTest: Fix regression in ctest_start()Kyle Edwards2018-09-101-2/+4
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | CTest: Fix --test-load regressionBrad King2018-09-102-20/+44
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 '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 '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
* | | | EXPORT_PROPERTIES: Prevent null dereference for undefined propertyCraig Scott2018-08-161-0/+5
|/ / / | | | | | | Fixes: #18260
* | | CMake 3.12.1v3.12.1Brad King2018-08-091-1/+1
| | |
* | | Merge branch 'project-injected-no-cmp0048' into release-3.12Craig Scott2018-07-252-2/+9
|\ \ \
| * | | project: Do not issue CMP0048 warnings on injected callBrad King2018-07-242-2/+9
| | | | | | | | | | | | | | | | Fixes: #18202
* | | | Help: Add explicit <PackageName>_ROOT variable documentationBrad King2018-07-201-2/+2
|/ / / | | | | | | | | | | | | | | | 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.
* | | CMake 3.12.0v3.12.0Brad King2018-07-171-1/+1
| | |
* | | CMake 3.12.0-rc3v3.12.0-rc3Brad King2018-07-091-1/+1
| | |
* | | Merge branch 'csharp-link-file' into release-3.12Brad King2018-07-091-4/+7
|\ \ \ | | | | | | | | | | | | Merge-request: !2177
| * | | VS: Only link cs files when they're not in binary dirRobert Dailey2018-07-061-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | 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 branch 'revert-subdirectory-linking' into release-3.12Brad King2018-07-031-9/+2
|\ \ \ \ | |/ / / |/| | | | | | | Merge-request: !2191
| * | | Revert "target_link_libraries: Allow use with targets in other directories"Brad King2018-07-031-9/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | CPack/Deb: Restore setting of root as the owner of filesAndrew Fuller2018-07-021-0/+6
|/ / / | | | | | | | | | | | | | | | Refactoring in commit v3.10.0-rc1~220^2 (cmCPackDebGenerator: Use libarchive to create .deb file) accidentally broke this for the top-level archive.
* | | CMake 3.12.0-rc2v3.12.0-rc2Brad King2018-06-291-1/+1
| | |
* | | Merge branch 'ctest_submit-https' into release-3.12Brad King2018-06-272-3/+5
|\ \ \ | | | | | | | | | | | | Merge-request: !2171
| * | | ctest_submit: show headers as debug infoZack Galbreath2018-06-272-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | ctest_submit: Check CA file during CDASH_UPLOADZack Galbreath2018-06-271-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 branch 'lexer-null' into release-3.12Brad King2018-06-262-103/+99
|\ \ \ \ | | | | | | | | | | | | | | | Merge-request: !2174
| * | | | ListFileLexer: Do not match null bytes in inputBrad King2018-06-262-103/+99
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 branch 'libuv-new-version-file-location' into release-3.12Brad King2018-06-251-0/+2
|\ \ \ \ | | | | | | | | | | | | | | | Merge-request: !2169
| * | | | FindLibUV: Also check uv/version.h for version detectionRaphael Kubo da Costa2018-06-251-0/+2
| |/ / / | | | | | | | | | | | | | | | | 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 branch 'vs-filter-default-toolset' into release-3.12Brad King2018-06-256-27/+73
|\ \ \ \ | | | | | | | | | | | | | | | Merge-request: !2162
| * | | | VS: Allow toolset version selection to specify default toolsetBasil Fierz2018-06-244-18/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | cmVSSetupHelper: Expose default toolset versionBasil Fierz2018-06-222-0/+15
| | | | | | | | | | | | | | | | | | | | We already detect the VS toolset version. Expose it to clients.