summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* CMake 3.15.5v3.15.5Brad King2019-10-301-1/+1
|
* Merge branch 'vs-v142-csharp-flags' into release-3.15Brad King2019-10-111-2/+1
|\ | | | | | | Merge-request: !3908
| * VS: Add toolset v142 CSharp flag tableBrad King2019-10-111-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | 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-021-1/+6
|\ \ | | | | | | | | | Merge-request: !3878
| * | Xcode: Restore CMAKE_XCODE_GENERATE_SCHEME for custom targetsBrad King2019-10-021-1/+6
| |/ | | | | | | | | | | | | | | | | 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
* | VS: Fix support for v142 toolset minor versionsBrad King2019-10-011-1/+3
|/ | | | | | | | 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-308-21/+48
|\ | | | | | | Merge-request: !3863
| * Merge branch 'backport-3.14-fix-EXCLUDE_FROM_ALL-subdir-all'Brad King2019-09-308-17/+25
| |\
| | * Restore "all" target in subdirectories marked EXCLUDE_FROM_ALLBrad King2019-09-308-17/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | * CMake 3.14.6v3.14.6Brad King2019-07-161-1/+1
| | |
| | * CMake 3.14.5v3.14.5Brad King2019-05-311-1/+1
| | |
| | * Merge branch 'vs-depends-dedup' into release-3.14Brad King2019-05-302-20/+45
| | |\ | | | | | | | | | | | | Merge-request: !3388
| * | | 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
* | | | 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
* | | CMake 3.15.3v3.15.3Brad King2019-09-041-1/+1
| | |
* | | 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-281-1/+1
|\ \ \ \ | | | | | | | | | | | | | | | Merge-request: !3751
| * | | | find_path: Fix crash on empty old-style list of namesBrad King2019-08-281-1/+1
| |/ / / | | | | | | | | | | | | 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 'ninja_additional_clean_files_custom_target' into release-3.15Brad King2019-08-272-0/+4
|\ \ \ \ | | | | | | | | | | | | | | | Merge-request: !3739
| * | | | 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-221-2/+2
|\ \ \ \ | | | | | | | | | | | | | | | Merge-request: !3719
| * | | | CTest: Fix --show-only=json-v1 output with REQUIRED_FILES propertyBrad King2019-08-221-2/+2
| |/ / / | | | | | | | | | | | | Fixes: #19629
* | | | ccmake: handle cache entries with empty STRINGS propertyM Furkan USLU2019-08-201-0/+3
|/ / / | | | | | | | | | Fixes: #19585
* | | CMake 3.15.2v3.15.2Brad King2019-08-071-1/+1
| | |
* | | Merge branch 'find_package-prefer-config-not-found' into release-3.15Brad King2019-08-061-1/+3
|\ \ \ | | | | | | | | | | | | Merge-request: !3653
| * | | find_package: Fix prefer-config mode to not fail on missing optional packageCristian Adam2019-08-061-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When `CMAKE_FIND_PACKAGE_PREFER_CONFIG` mode was set to `ON`, failure to find a package was fatal even if it was not `REQUIRED`. Fix this and add a test case. Fixes: #19557
* | | | Merge branch 'fileapi-install-generators' into release-3.15Brad King2019-08-024-7/+22
|\ \ \ \ | | | | | | | | | | | | | | | Merge-request: !3639
| * | | | fileapi: Fix codemodel target install destination for cross-dir rulesBrad King2019-07-314-7/+22
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit e89ad0f94e (install: Allow installing targets created in another directory, 2018-06-18, v3.13.0-rc1~407^2) we support calling `install(TARGETS)` for targets created in another directory. However, install generators are associated with the directory in which the call to `install()` appears. This may not be the same directory in which the target is defined. Record in each target the list of install generators it has. Fixes: #19546
* | | | Merge branch 'source_group-tree-files' into release-3.15Brad King2019-07-301-11/+4
|\ \ \ \ | | | | | | | | | | | | | | | Merge-request: !3630
| * | | | source_group: Fix regression in relative FILESBrad King2019-07-301-11/+4
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix the check added in commit 8d93815d20 (source_group command ensures that FILES arguments are actually files, 2019-04-25, v3.15.0-rc1~195^2) to convert to an absolute path before checking for existence. Also simplify the conversion to an absolute path. Fixes: #19454
* | | | Merge branch 'vs-spectre-off' into release-3.15Brad King2019-07-302-5/+8
|\ \ \ \ | | | | | | | | | | | | | | | Merge-request: !3629
| * | | | VS: Fix mapping of `-Qspectre-` flagBrad King2019-07-302-5/+8
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The mapping for this flag was added by commit 43aa632f57 (VS: Populate `-Qspectre-` flag table entry for v142, 2019-01-24, v3.14.0-rc1~74^2~7). However, it did not do anything because the special logic added by commit bb60ed6e72 (VS: Add flag table entry for -Qspectre, 2018-10-08, v3.13.0-rc1~4^2) to move the `SpectreMitigation` element from `ClCompile` to the top level only handled the presence of the setting and not its value. Extend the special logic to carry the value too. Fixes: #19535
* | | | Swift: Restore support for enabling with INTERFACE librariesBrad King2019-07-291-8/+9
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The check added in commit b06f4c8a74 (Swift: disallow WIN32_EXECUTABLE properties, 2019-05-31, v3.15.0-rc1~9^2) makes sense only for executables because the `WIN32_EXECUTABLE` property is defined only for them. Running the check on other target types, particularly those that do not link such as INTERFACE libraries, violates internal assumptions. In particular, `GetLinkerLanguage` should not be called on such targets. Fixes: #19528
* | | CMake 3.15.1v3.15.1Brad King2019-07-261-1/+1
| | |
* | | Merge branch 'makefile-depend-relative-include' into release-3.15Brad King2019-07-252-3/+12
|\ \ \ | | | | | | | | | | | | Merge-request: !3599
| * | | Makefile: Fix regression in dependencies on relative includesBrad King2019-07-242-3/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit a13a5c948e (Replace use of CollapseCombinedPath with CollapseFullPath, 2019-03-19, v3.15.0-rc1~361^2~1), one code path now calls `CollapseFullPath` with a base path that may be relative. Backport KWSys commit c6f8e24a3 (SystemTools: Fix CollapseFullPath with relative base path, 2019-07-24) to handle such base paths. This case occurs when a build tree is placed in a directory inside a source tree such that CMake is willing to generate a relative path from the build tree to the source tree. Add a test covering this case. Fixes: #19507
* | | | Merge branch 'fix-emulator-arguments' into release-3.15Brad King2019-07-231-1/+1
|\ \ \ \ | | | | | | | | | | | | | | | Merge-request: !3591
| * | | | Fix allocation in CROSSCOMPILING_EMULATOR evaluationMarek Antoniak2019-07-231-1/+1
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit fec441ec17 (Teach CROSSCOMPILING_EMULATOR to support arguments, 2019-05-30, v3.15.0-rc1~6^2) the new member `cmCustomCommandGenerator::EmulatorsWithArguments` was not initialized to the proper size. Fix this and add a test case covering the crash that could occur with multiple commands where an emulator appears only in a later command. Fixes: #19500 Co-Author: Brad King <brad.king@kitware.com>
* | | | Merge branch 'ctest-done-hash' into release-3.15Brad King2019-07-191-9/+9
|\ \ \ \ | | | | | | | | | | | | | | | Merge-request: !3563
| * | | | CTest: Generate Done.xml before calculating its hashBetsy McPhail2019-07-191-9/+9
| |/ / / | | | | | | | | | | | | Fixes: #19489