summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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
* | | | | | Merge branch 'doc-vs-2019-toolset' into release-3.15Brad King2019-09-201-0/+1
|\ \ \ \ \ \ | |/ / / / / |/| | | | | | | | | | | Merge-request: !3841
| * | | | | Help: Document VS 2019 toolset in MSVC_TOOLSET_VERSIONLE GARREC Vincent2019-09-201-0/+1
|/ / / / /
* | | | | CMake 3.15.3v3.15.3Brad King2019-09-041-1/+1
| | | | |
* | | | | Merge branch 'FindBoost-1.71' into release-3.15Brad King2019-09-041-9/+15
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | Merge-request: !3780
| * | | | | FindBoost: Tolerate future Boost INTERFACE librariesBrad King2019-09-041-8/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 0dd6772a89 (FindBoost: Add legacy variables and targets for compatibility, 2019-06-14, v3.15.0-rc2~3^2~1) we query imported targets provided by `BoostConfig.cmake` for their `IMPORTED_LOCATION_<cfg>`. Querying this property is not allowed on INTERFACE libraries, so add a condition to avoid doing so in case Boost adds one in the future. Suggested-by: Alexander Grund <alexander.grund@tu-dresden.de> Issue: #19656, #19402
| * | | | | FindBoost: Clarify role of legacy variables in warning messageBrad King2019-09-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revise the wording of the warning added by commit 0dd6772a89 (FindBoost: Add legacy variables and targets for compatibility, 2019-06-14, v3.15.0-rc2~3^2~1) to refer to the old variables as "legacy" rather than "standard". Suggested-by: Alexander Grund <alexander.grund@tu-dresden.de> Issue: #19402
* | | | | | Merge branch 'FindBoost-1.71' into release-3.15Brad King2019-08-302-18/+36
|\ \ \ \ \ \ | |/ / / / / | | | | | | | | | | | | Merge-request: !3763
| * | | | | FindBoost: Add support for Boost 1.71Brad King2019-08-301-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Run `Utilities/Scripts/BoostScanDeps.cmake` with the Boost 1.71.0 sources to compute dependencies. They are the same as Boost 1.70. Fixes: #19658
| * | | | | FindBoost: Unwrap compatibility INTERFACE targets for legacy variablesBrad King2019-08-302-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 0dd6772a89 (FindBoost: Add legacy variables and targets for compatibility, 2019-06-14, v3.15.0-rc2~3^2~1) we extract information from imported targets provided by upstream `BoostConfig.cmake` files. However, upstream Boost 1.71 provides some imported targets only for compatibility. They are just INTERFACE libraries that wrap around the real target named by `INTERFACE_LINK_LIBRARIES`. Unwrap this layer so we can extract the real imported location. Fixes: #19656
| * | | | | FindBoost: Remove incorrect 1.70 timer dependencyBrad King2019-08-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Running `Utilities/Scripts/BoostScanDeps.cmake` with the Boost 1.70.0 sources shows that the `timer` component no longer depends on `system`. This is consistent with upstream Boost Timer commit `43eecbd071`.
| * | | | | FindBoost: Simplify conditional block for last known versionBrad King2019-08-301-16/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A version newer than we know about will be large enough to enter the block for the last known version so we can put the warning there.
* | | | | | Merge branch 'fileapi-CMP0037-OLD' into release-3.15Brad King2019-08-301-0/+6
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | Merge-request: !3760
| * | | | | | fileapi: Fix codemodel v2 target file name for CMP0037 OLD behaviorBrad King2019-08-301-0/+6
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With CMP0037 OLD behavior, executable and library target names may contain a slash. Avoid constructing file names with slashes. Fixes: #19653
* | | | | | Merge branch 'backport-find-no-name' into release-3.15Brad King2019-08-284-1/+5
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | Merge-request: !3751
| * | | | | | find_path: Fix crash on empty old-style list of namesBrad King2019-08-284-1/+5
| |/ / / / / | | | | | | | | | | | | | | | | | | Fixes: #19651
* | | | | | Merge branch 'autogen_fix_use_after_move' into release-3.15Brad King2019-08-272-3/+3
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | Merge-request: !3745
| * | | | | | Autogen: Fix AUTOUIC segfault, when file includes colliding ui_*.h fileSebastian Holtermann2019-08-272-3/+3
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes a case of use after move of a `std::shared_ptr` in `AUTOUIC`. It triggered a segfault, when the error message for colliding `ui_*.h` includes in different files was computed.
* | | | | | Merge branch 'alpine-cpu_zero' into release-3.15Brad King2019-08-271-0/+2
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | Merge-request: !3740
| * | | | | | cmAffinity: Add include for CPU_ZERO on Alpine LinuxBrad King2019-08-271-0/+2
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The definition of `CPU_ZERO` requires `<string.h>` to be included explicitly for `memset`. Since IWYU does not agree on other Linux platforms, use a pragma to silence the warning. Fixes: #19643
* | | | | | Merge branch 'cmGlobalGenerator-compilerId-lifetime' into release-3.15Brad King2019-08-271-7/+4
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | Merge-request: !3741
| * | | | | | cmGlobalGenerator: Fix CheckCompilerIdCompatibility local var lifetimeBrad King2019-08-261-7/+4
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Save the value of the compiler id variable in storage we own so that mutating it based on a policy does not invalidate the local value for later comparisons. This was identified by Clang AddressSanitizer.
* | | | | | Merge branch 'libarchive-requirement' into release-3.15Brad King2019-08-271-1/+1
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | Merge-request: !3737
| * | | | | | libarchive: We now require at least version 3.3.3Marvin Schmidt2019-08-261-1/+1
| |/ / / / / | | | | | | | | | | | | | | | | | | It's the first version including Zstandard support.
* | | | | | Merge branch 'ninja_additional_clean_files_custom_target' into release-3.15Brad King2019-08-273-37/+53
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | Merge-request: !3739
| * | | | | | Tests: Extend MakeClean test to test various target typesSebastian Holtermann2019-08-261-37/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This extends the MakeClean test to test the target property `ADDITIONAL_CLEAN_FILES` on executable, library and custom targets.
| * | | | | | Ninja: Add support for ADDITIONAL_CLEAN_FILES in custom targetsSebastian Holtermann2019-08-262-0/+4
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This enables the support for `ADDITIONAL_CLEAN_FILES` in custom targets using the ninja generator. Fixes: #19641
* | | | | | Merge branch 'ctest-json-REQUIRED_FILES' into release-3.15Brad King2019-08-223-6/+20
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | Merge-request: !3719
| * | | | | | CTest: Fix --show-only=json-v1 output with REQUIRED_FILES propertyBrad King2019-08-223-6/+20
| |/ / / / / | | | | | | | | | | | | | | | | | | Fixes: #19629
* | | | | | Merge branch 'CrayPrgEnv-update-link-type-detection' into release-3.15Brad King2019-08-222-3/+24
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | Merge-request: !3716
| * | | | | | CrayPrgEnv: Change default linking mode based on PE versionChuck Atkins2019-08-222-3/+24
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Beginning with the 19.06 release of the Cray Programming Environment, the default linking mode on XC Cray systems is dynamic instead of static. This updates the CrayPrgEnv compiler wrappers to detect the PE version being used and behave accordingly.