summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* CUDA: Do not device link if target has no CUDA usageRobert Maynard2020-01-094-18/+27
| | | | | | | | | | When CUDA is enabled, and a pure non-CUDA target has CMAKE_CUDA_SEPARABLE_COMPILATION enabled, don't actually perform the device linking step, as it will fail. A target that has CMAKE_CUDA_SEPARABLE_COMPILATION enabled must also have CUDA usage (either itself, or something it links to). Fixes: #20182
* CMake 3.15.6v3.15.6Brad King2019-12-161-1/+1
|
* Merge branch 'FindBLAS-OpenBLAS-thread' into release-3.15Brad King2019-12-121-2/+6
|\ | | | | | | Merge-request: !4134
| * FindBLAS: Consider OpenBLAS with thread libraries only with C or CXXBrad King2019-12-121-2/+6
| | | | | | | | | | | | | | | | The check added by commit 276b56f01c (FindBLAS: Add second try for OpenBLAS with thread libraries., 2019-06-07, v3.15.0-rc2~5^2) can work only when C or CXX is enabled. Fixes: #20092
* | Merge branch 'backport-3.15-vs-v142-version' into release-3.15Brad King2019-12-122-12/+15
|\ \ | | | | | | | | | Merge-request: !4133
| * | VS: Fix support for v142 toolset minor versions in VS 16.5+Brad King2019-12-122-12/+15
| |/ | | | | | | | | | | | | | | | | | | The fix in commit 5117389931 (VS: Fix support for v142 toolset minor versions, 2019-10-01, v3.15.5~6^2) worked around a bug in VS's placement of toolset files. VS 16.5 will fix that bug and restore the original pattern for locations of toolset files. Update our logic to look for both possibilities. Issue: #19779
* | Merge branch 'backport-3.15-toc_on_ppc' into release-3.15Brad King2019-12-092-2/+35
|\ \ | | | | | | | | | Merge-request: !4122
| * | Check for support before adding bigtoc linker flagAlexander Grund2019-12-092-2/+35
| |/ | | | | | | Fixes: #20076
* | Merge branch 'backport-3.15-FindGTK2-harfbuzz' into release-3.15Brad King2019-12-091-0/+3
|\ \ | | | | | | | | | Merge-request: !3877
| * | FindGTK2: Add harfbuzz to GTK2_INCLUDE_DIRSMarkus Mittendrein2019-12-091-0/+3
| | | | | | | | | | | | Fixes: #19531
* | | Merge branch 'backport-implicit-includes-extra-CR' into release-3.15Brad King2019-11-261-1/+1
|\ \ \ | | | | | | | | | | | | Merge-request: !4088
| * | | CMakeParseImplicitIncludeInfo: Remove all CR chars from compiler outputBrad King2019-11-251-1/+1
| | |/ | |/| | | | | | | | | | | | | | | | With Clang/LLVM on MinGW, lines ending in `\r\r\n` have been observed. Filter out all `\r` characters from these line endings. Fixes: #20021
* | | Merge branch 'backport-FindBoost-meta-component-ALL' into release-3.15Brad King2019-11-071-0/+3
|\ \ \ | | | | | | | | | | | | Merge-request: !4008
| * | | FindBoost: Prevent warning due to new meta-component "ALL" of Boost 1.73Deniz Bahadir2019-11-071-0/+3
| |/ /
* | | Merge branch 'backport-findpostgres-10-and-older' into release-3.15Brad King2019-11-072-8/+28
|\ \ \ | |/ / |/| | | | | Merge-request: !4007
| * | FindPostgreSQL: support version encoding used in pre-10 releasesBen Boeckel2019-11-072-8/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | With the 10.x release, PostgreSQL upstream started encoding the version as `MMmmmm` where `M` is major and `m` is minor. Prior to that, `MMmmPP` was used where `P` was the patch number. Detect this difference and decode it based on the used encoding. Fixes: #19912
| * | CMake 3.14.7v3.14.7Brad King2019-09-301-1/+1
| | |
| * | Merge branch 'backport-3.14-fix-EXCLUDE_FROM_ALL-subdir-all' into release-3.14Brad King2019-09-3020-102/+170
| |\ \ | | | | | | | | | | | | Merge-request: !3863
* | | | CMake 3.15.5v3.15.5Brad King2019-10-301-1/+1
| | | |
* | | | Merge branch 'doc-genex-tweak' into release-3.15Brad King2019-10-211-1/+1
|\ \ \ \ | | | | | | | | | | | | | | | Merge-request: !3939
| * | | | Help: Fix COMPILE_LANG_AND_ID genex exampleAlan W. Irwin2019-10-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix the `COMPILE_LANGUAGE/CXX_COMPILER_ID` variant of the example to have the same meaning as the `COMPILE_LANG_AND_ID` variant. The inconsistency was introduced by commit 808b818063 (Genex: CompileLang and CompileLangAndId now match against a list of ids, 2019-05-30, v3.15.0-rc1~11^2~1). Fixes: #19862
* | | | | Merge branch 'InstallRequiredSystemLibraries-redist' into release-3.15Brad King2019-10-111-0/+7
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | Merge-request: !3909
| * | | | | IRSL: Install vcruntime140_1.dll if availableBrad King2019-10-111-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | VS 2019 now distributes this additional runtime DLL with its `14.2x` toolsets. Fixes: #19829
| * | | | | IRSL: Prefer MSVC runtime libraries from newest toolset firstBrad King2019-10-111-0/+1
| |/ / / /
* | | | | Merge branch 'vs-v142-csharp-flags' into release-3.15Brad King2019-10-112-2/+575
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | Merge-request: !3908
| * | | | | VS: Add toolset v142 CSharp flag tableBrad King2019-10-112-2/+575
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While the flag tables for C and C++ were generated from MSBuild `.xml` files, the CSharp flag tables were written by hand. Copy the `v141` flag table to use for the `v142` toolset. Remove the special case added by commit 626c51f47b (VS: Update for Visual Studio 2019 Preview 2, 2019-01-24, v3.14.0-rc1~74^2) that mapped the v142 flag table lookup to v141 since we now have the real v142 table. Fixes: #19828
* | | | | Merge branch 'backport-vs-16.4-global-targets' into release-3.15Brad King2019-10-071-0/+4
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | Merge-request: !3896
| * | | | | VS: Tell VS 16.4 not to verify CMake-provided custom command outputsBrad King2019-10-071-0/+4
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extend the fix from commit 0578239d3a (VS: Tell VS 16.4 not to verify SYMBOLIC custom command outputs, 2019-09-23, v3.15.4~2^2) to apply to outputs in CMake-provided targets like `install`. Simply mark these outputs as `SYMBOLIC` too since they are not actually generated. Fixes: #19737
* | | | | Merge branch 'backport-xcode-scheme-custom-target' into release-3.15Brad King2019-10-023-1/+18
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | Merge-request: !3878
| * | | | | Xcode: Restore CMAKE_XCODE_GENERATE_SCHEME for custom targetsBrad King2019-10-023-1/+18
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The target property introduced by commit 413b71485a (Xcode: Create Xcode schemes per target, 2019-03-11, v3.15.0-rc1~347^2) was accidentally not initialized by `CMAKE_XCODE_GENERATE_SCHEME` for custom targets. Fix it and update the test. Fixes: #19759
* | | | | Merge branch 'vs-v142-version' into release-3.15Brad King2019-10-012-2/+10
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | Merge-request: !3874
| * | | | VS: Fix support for v142 toolset minor versionsBrad King2019-10-012-2/+10
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | When using `-T v142,version=14.22` the `.props` file location is different starting with version `14.20` than it was in `14.16` and below. Adapt the path based on the version. Fixes: #19779
* | | | CMake 3.15.4v3.15.4Brad King2019-09-301-1/+1
| | | |
* | | | Merge branch 'backport-3.15-fix-EXCLUDE_FROM_ALL-subdir-all' into release-3.15Brad King2019-09-3021-106/+202
|\ \ \ \ | | | | | | | | | | | | | | | Merge-request: !3863
| * | | | Help: Mention 3.14.7 EXCLUDE_FROM_ALL fix in 3.15.4 release noteBrad King2019-09-301-0/+1
| | | | |
| * | | | Merge branch 'backport-3.14-fix-EXCLUDE_FROM_ALL-subdir-all'Brad King2019-09-301-0/+8
| |\ \ \ \ | | | |/ / | | |/| |
| | * | | Help: Add release note for EXCLUDE_FROM_ALL fix in 3.14.7Brad King2019-09-301-0/+8
| | | | |
| * | | | Help: Add release note for EXCLUDE_FROM_ALL fix in 3.15.4Brad King2019-09-301-0/+8
| | | | |
| * | | | Merge branch 'backport-3.14-fix-EXCLUDE_FROM_ALL-subdir-all'Brad King2019-09-3019-102/+162
| |\ \ \ \ | | |/ / /
| | * | | Restore "all" target in subdirectories marked EXCLUDE_FROM_ALLBrad King2019-09-3017-38/+110
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The "all" target in each directory is supposed to have targets from that directory even if the directory itself is marked `EXCLUDE_FROM_ALL` in its parent. This was broken by commit dc6888573d (Pass EXCLUDE_FROM_ALL from directory to targets, 2019-01-15, v3.14.0-rc1~83^2) which made the participation of a target in "all" independent of context. Revert much of the logic change from that commit to restore the old behavior. Then re-implement the behavior intended by the commit to keep its test working. Extend the test to cover the old behavior too. Fixes: #19753
| | * | | Tests: Clarify target names in RunCMake.add_subdirectory ExcludeFromAllBrad King2019-09-264-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | Rename the `baz` target to `subinc` to clarify that its role is to be included even though it is in an otherwise excluded subdirectory.
| | * | | Tests: Revise RunCMake.add_subdirectory ExcludeFromAll to avoid globbingBrad King2019-09-264-61/+43
| | | | | | | | | | | | | | | | | | | | Also simplify the clean step.
| | * | | Tests: Teach RunCMake to support a custom working directoryBrad King2019-09-241-1/+4
| | |/ /
| | * | CMake 3.14.6v3.14.6Brad King2019-07-161-1/+1
| | | |
| | * | Merge branch 'FindBISON-CMP0088-SourcePath' into release-3.14Brad King2019-07-122-3/+17
| | |\ \ | | | | | | | | | | | | | | | Merge-request: !3549
| | * \ \ Merge branch 'backport-implicit-includes-cray-hlist' into release-3.14Brad King2019-07-098-2/+167
| | |\ \ \ | | | | | | | | | | | | | | | | | | Merge-request: !3532
| | * \ \ \ Merge branch 'android-pie-cmp0083' into release-3.14Brad King2019-06-192-0/+26
| | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | Merge-request: !3459
| * | | | | | Makefiles: Revert "Make build root targets ... recursive"Brad King2019-09-271-5/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert the main logic change from commit 827da1119e (Makefiles: Make build root targets "all", "clean" and "preinstall" recursive, 2019-05-17, v3.15.0-rc1~96^2~2) for the "all" and "preinstall" targets. The commit cleaned up the Makefile generator to use the same logic for the "all" target in the top-level directory as for subdirectories. It exposed a long-existing bug that caused the "all" target in a subdirectory to include the "all" targets from sub-subdirectories even if they are marked `EXCLUDE_FROM_ALL`. The `Tests/SubDir` test should fail but the problem is currently covered up by another bug introduced by commit dc6888573d (Pass EXCLUDE_FROM_ALL from directory to targets, 2019-01-15, v3.14.0-rc1~83^2) that causes the "all" targets in `EXCLUDE_FROM_ALL` subdirectories to be empty. Revert the top-level "all" and "preinstall" targets to the old approach to prepare to fix the latter bug without exposing the long-existing bug at the top-level. Leave the "clean" target in the new approach because it does not honor `EXCLUDE_FROM_ALL` anyway. Issue: #19753
* | | | | | | Merge branch 'vs-16.4-custom-commands' into release-3.15Brad King2019-09-242-3/+17
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Merge-request: !3860
| * | | | | | | VS: Tell VS 16.4 not to verify SYMBOLIC custom command outputsBrad King2019-09-242-3/+17
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | VS 16.4 introduces an additional check on `CustomBuild` rules that warns if the outputs of the command are not created. However, CMake supports marking outputs with the `SYMBOLIC` property to indicate that they will not actually be generated. That property is used by Makefile and Ninja generators but has not been needed by the VS generators before. Teach the VS generator to disable `VerifyInputsAndOutputsExist` in custom build rules that have a symbolic output. Fixes: #19737