summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Xcode: Add option to specify build system variantBrad King2020-09-1815-19/+187
| | | | | | Extend the `-T <toolset>` option to support a `buildsystem=` field with the Xcode generator. Add a `CMAKE_XCODE_BUILD_SYSTEM` variable to inform project code about the selected build system variant.
* Xcode: Factor out build phase variable declarationsBrad King2020-09-181-7/+12
|
* Xcode: Clarify name of legacy run script build phase helperBrad King2020-09-182-8/+8
|
* Tests: Avoid duplicate custom commands in QtAutogen.AutogenOriginDependsOffBrad King2020-09-183-6/+11
|
* Tests: Remove RunCMake.ExternalProject unnecessary CMake version checkBrad King2020-09-151-2/+0
|
* Tests: Simplify RunCMake.ExternalProject Add_StepDependencies stderrBrad King2020-09-154-24/+2
| | | | | Set CMP0114 to OLD for this case to suppress the policy warning. The warning is covered by the `NO_DEPENDS-CMP0114-WARN` case.
* Help: Move CMAKE_XCODE_GENERATE_SCHEME to proper manual sectionBrad King2020-09-141-1/+1
|
* ExternalProject: Add policy CMP0114 to refine step target dependenciesBrad King2020-09-1436-50/+655
| | | | | | | | | | | | | | | | | | | | | | | | `ExternalProject_Add_StepTargets` and `INDEPENDENT_STEP_TARGETS` have some limitations and lack some sanity checks. They can cause confusing build systems to be generated. The basic problems are: * The notion of step independence is attached to the step target rather than the step itself. * The custom commands implementing the steps are duplicated in the step targets and the primary targets. This can cause races. It is also incompatible with the Xcode "new build system". Fix this by introducing policy CMP0114 to change the way step target dependencies are handled. Define independence from external dependencies as a property of each individual step regardless of whether there is a target for it. Add dependencies among the primary target and the step targets such that each custom command only appears in one target. When some steps are disconnected from the primary target, add step targets for the steps commonly depended upon so that there is a place to hold their custom commands uniquely. Fixes: #18663
* Tests: Match RunCMake.ExternalProject NO_DEPENDS output more strictlyBrad King2020-09-101-18/+38
|
* ExternalProject: Factor out an internal helper to add a step targetBrad King2020-09-102-22/+31
|
* Merge topic 'pch-instantiate-templates'Brad King2020-09-1012-1/+84
|\ | | | | | | | | | | | | | | | | | | 8c8f03422e PCH: Template instantiation support Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Raul Tambre <raul@tambre.ee> Acked-by: Cristian Adam <cristian.adam@gmail.com> Tested-by: Raul Tambre <raul@tambre.ee> Merge-request: !5168
| * PCH: Template instantiation supportTobias Hieta2020-09-0212-1/+84
| | | | | | | | | | | | | | | | Adds PCH_INSTANTIATE_TEMPLATES target property for enabling template instantiation in precompiled headers. Enabled by default. Currently only supported for Clang 11 and newer. Implements #21133.
* | Merge topic 'fix_add_library_documentation'Brad King2020-09-101-2/+2
|\ \ | | | | | | | | | | | | | | | | | | 0a5c3e3b97 Help: add_library(<name> OBJECT) can omit the source files Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5212
| * | Help: add_library(<name> OBJECT) can omit the source filesDeniz Bahadir2020-09-101-2/+2
| | |
* | | Merge branch 'release-3.18'Brad King2020-09-100-0/+0
|\ \ \
| * \ \ Merge topic 'gitlab-ci-prefer-mr' into release-3.18Brad King2020-09-101-4/+4
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f6a80ffd54 gitlab-ci: Prefer MR rules for any pipeline associated with a MR Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5214
* | \ \ \ Merge topic 'gitlab-ci-prefer-mr'Brad King2020-09-101-4/+4
|\ \ \ \ \ | | |/ / / | |/| / / | |_|/ / |/| | | | | | | | | | | f6a80ffd54 gitlab-ci: Prefer MR rules for any pipeline associated with a MR Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5214
| * | | gitlab-ci: Prefer MR rules for any pipeline associated with a MRBrad King2020-09-101-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | GitLab 13.3 started creating MR pipelines in the parent project of a MR from a fork, at least when the MR submitter is a developer in the parent project. If the pipeline is associated with a MR, we should use the corresponding rules regardless of which project hosts the pipeline.
* | | | Merge topic 'custom-command-dedup'Brad King2020-09-1020-11/+174
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 45fedf0e17 Makefile: Add policy CMP0113 to avoid duplication of custom commands 844779bdc1 cmMakefileTargetGenerator: Simplify custom command output collection Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5204
| * | | | Makefile: Add policy CMP0113 to avoid duplication of custom commandsBrad King2020-09-0820-1/+168
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Do not attach a custom command to a target if it is already attached to one of the target's dependencies. The command's output will be available by the time the target needs it because the dependency containing the command will have already been built. This may break existing projects that do not properly mark non-created outputs with the `SYMBOLIC` property. Previously a chain of two custom commands whose intermediate dependency is not created would put both commands in a dependent project's Makefile even if the first command is also in its dependency's Makefile. The first command would run twice but the build would work. Now the second command needs an explicit `SYMBOLIC` mark on its input to tell CMake that it is not expected to exist. To maintain compatibility with projects that left out the mark, add a policy activating the behavior.
| * | | | cmMakefileTargetGenerator: Simplify custom command output collectionBrad King2020-09-082-10/+6
| | | | |
* | | | | Merge topic 'json-helpers'Brad King2020-09-106-91/+931
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b2f3f831e2 Refactor: Use JSON helpers in CTest resource spec 3f3a30e1e0 JSON: Add helpers Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5197
| * | | | | Refactor: Use JSON helpers in CTest resource specKyle Edwards2020-09-092-91/+132
| | | | | |
| * | | | | JSON: Add helpersKyle Edwards2020-09-094-0/+799
| | | | | |
* | | | | | Merge topic 'optimize-old-expand'Brad King2020-09-1020-61/+49
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 62d7acc6d4 cmCommandArgumentParserHelper: rework input handling Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5208
| * | | | | | cmCommandArgumentParserHelper: rework input handlingOleksandr Koval2020-09-0920-61/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Old implementation uses involved Flex input management technique that requires usage of obsolete YY_INPUT macro. This causes a lot of useless allocations and byte-by-byte scanning. New implementation avoids those hacks, it uses yy_scan_string() API to setup Flex input. Also it fixes reporting of syntax error position and corresponding tests.
* | | | | | | Merge branch 'release-3.18'Brad King2020-09-100-0/+0
|\ \ \ \ \ \ \ | | |_|_|_|/ / | |/| | | | |
| * | | | | | Merge topic 'automoc-rerun-missing-dependency' into release-3.18Brad King2020-09-109-7/+132
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9ac3503d30 AutoMoc: Re-run moc if a dependency is missing Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5180
* | \ \ \ \ \ \ Merge topic 'automoc-rerun-missing-dependency'Brad King2020-09-109-7/+132
|\ \ \ \ \ \ \ \ | | |/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9ac3503d30 AutoMoc: Re-run moc if a dependency is missing Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5180
| * | | | | | | AutoMoc: Re-run moc if a dependency is missingJoerg Bornemann2020-09-099-7/+132
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | AutoMoc uses the moc-emitted dependency file of Qt 5.15 to track dependencies. Such a dependency may well live outside the project and can vanish, for example when installing a new compiler version. This situation was detected before, but merely a warning was issued. Now, we're considering a generated file as out of date if a dependency is missing and re-generate it. We also have to remove the missing dependency from the ParseCache. Otherwise the AUTOMOC target for all generators other than Ninja will always be out of date. The ParseCacheChanged flag had to be made atomic, because we're potentially accessing it from multiple threads. The dependencies vector itself is not vulnerable in this regard, because there's one vector per file, and we're accessing exactly one ParseCacheT::FileHandleT per thread. Fixes: #21136
* | | | | | | | CMake Nightly Date StampKitware Robot2020-09-101-1/+1
| | | | | | | |
* | | | | | | | Merge topic 'vs9-custom-command-dedup'Brad King2020-09-094-17/+24
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 066f4d0f0a VS: Avoid unnecessary duplication of custom commands across targets in VS 9 8bb5c96bf8 cmLocalVisualStudio7Generator: Adopt SourcesVisited lookup table Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5206
| * | | | | | | | VS: Avoid unnecessary duplication of custom commands across targets in VS 9Brad King2020-09-081-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Do not attach a custom command to a target if it is already attached to one of the target's dependencies. The command's output will be available by the time the target needs it because the dependency containing the command will have already been built. The same change was already made by commit f59c33a763 (VS: Generate a custom command only in the least dependent target, 2018-03-23, v3.12.0-rc1~171^2) for VS 10+.
| * | | | | | | | cmLocalVisualStudio7Generator: Adopt SourcesVisited lookup tableBrad King2020-09-084-16/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move it up the hierarchy from `cmLocalVisualStudio10Generator`. Propagate contents from a target's dependencies as part of the main target iteration logic instead of as part of the generator-specific target generation.
* | | | | | | | | Merge topic 'use-cmprop'Brad King2020-09-094-45/+40
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dae5fe8b8f cmConditionEvaluator: More use of cmProp Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5190
| * | | | | | | | | cmConditionEvaluator: More use of cmPropvvs314152020-09-084-45/+40
| | | | | | | | | |
* | | | | | | | | | Merge topic 'file-real_path'Brad King2020-09-0912-2/+95
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | be36266dab file(): Add REAL_PATH sub-command Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5202
| * | | | | | | | | | file(): Add REAL_PATH sub-commandMarc Chevrier2020-09-0812-2/+95
| |/ / / / / / / / /
* | | | | | | | | | Merge topic 'fix-crash-21165'Brad King2020-09-091-22/+12
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a46fdda464 cmGeneratorTarget: Avoid missing nullptr check Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5191
| * | | | | | | | | | cmGeneratorTarget: Avoid missing nullptr checkvvs314152020-09-081-22/+12
| |/ / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revise logic in `ComputeOutputDir` that was previously missing a check for nullptr before constructing a `std::string`. Fixes: #21165
* | | | | | | | | | Merge branch 'release-3.18'Brad King2020-09-090-0/+0
|\ \ \ \ \ \ \ \ \ \ | | |_|_|/ / / / / / | |/| | | | | | | |
| * | | | | | | | | Merge topic 'pch-tv90' into release-3.18Brad King2020-09-091-8/+20
| |\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ce7c100545 PCH: Fix 30s wait for VS2008 when used via -Tv90 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5199
* | \ \ \ \ \ \ \ \ \ Merge topic 'pch-tv90'Brad King2020-09-091-8/+20
|\ \ \ \ \ \ \ \ \ \ \ | | |/ / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ce7c100545 PCH: Fix 30s wait for VS2008 when used via -Tv90 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5199
| * | | | | | | | | | PCH: Fix 30s wait for VS2008 when used via -Tv90Cristian Adam2020-09-071-8/+20
| | |_|_|/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: #21142 Backport: release
* | | | | | | | | | Merge branch 'release-3.18'Brad King2020-09-090-0/+0
|\ \ \ \ \ \ \ \ \ \ | | |/ / / / / / / / | |/| | | | | | | |
| * | | | | | | | | Merge topic 'ios-pch-x-lang-header' into release-3.18Brad King2020-09-094-4/+19
| |\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8d61294c3e PCH: Mark CMake PCH source files as -x <lang>-header Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5188
* | \ \ \ \ \ \ \ \ \ Merge topic 'ios-pch-x-lang-header'Brad King2020-09-094-4/+19
|\ \ \ \ \ \ \ \ \ \ \ | | |/ / / / / / / / / | |/| | | | | / / / / | |_|_|_|_|_|/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8d61294c3e PCH: Mark CMake PCH source files as -x <lang>-header Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5188
| * | | | | | | | | PCH: Mark CMake PCH source files as -x <lang>-headerCristian Adam2020-09-044-4/+19
| | |/ / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | Fixes: #21163
* | | | | | | | | Merge topic 'cmstrlen'Kyle Edwards2020-09-092-0/+17
|\ \ \ \ \ \ \ \ \ | |_|_|_|_|/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 0c9cdf30ed cmStringAlgorithms: Add cmStrLen() Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5201
| * | | | | | | | cmStringAlgorithms: Add cmStrLen()Kyle Edwards2020-09-082-0/+17
| | | | | | | | |