summaryrefslogtreecommitdiffstats
path: root/Source/cmLocalGenerator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* cmCustomCommand: Record value of CMP0116 at time of creationKyle Edwards2021-02-231-26/+37
|
* Merge topic 'xcode12-ios_install_combined'Brad King2021-02-091-0/+2
|\ | | | | | | | | | | | | 0110aa018d IOS_INSTALL_COMBINED: Support Xcode 12 (command line only) Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5785
| * IOS_INSTALL_COMBINED: Support Xcode 12 (command line only)Craig Scott2021-02-081-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Xcode 12 doesn't allow nested builds within the same build directory. That means we can no longer do an install by building the install target when IOS_INSTALL_COMBINED is true. We can, however, still do an install by running the cmake_install.cmake script or executing cmake --install, since there is no outer build and therefore the associated SDK can be built as a sub-build. The non-build methods previously didn't work when IOS_INSTALL_COMBINED was true because the generated install script and the CMakeIOSInstallCombined script both made certain assumptions that relied on being part of a build. Those assumptions are now removed. A side-effect of this work is that cpack now also works from the command line when IOS_INSTALL_COMBINED is true. Relates: #21282 Fixes: #20023
| * Merge topic 'ispc_control_header_suffixes' into release-3.19Brad King2020-12-151-4/+12
| |\ | | | | | | | | | | | | | | | | | | c9a50f3556 ISPC: Generated Headers suffix configurable with a better default Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5597
* | | PCH: Remove restrictions for REUSE_FROM signature for MSVCCristian Adam2021-02-021-7/+16
| | | | | | | | | | | | Fixes: #20201
* | | Revert "PCH: Remove restrictions for REUSE_FROM signature for MSVC"Brad King2021-02-021-16/+7
| | | | | | | | | | | | | | | This reverts commit 9f060971411aca979807f70307d8b9fe1b43ff24. It was merged accidentally.
* | | PCH: Remove restrictions for REUSE_FROM signature for MSVCCristian Adam2021-02-021-7/+16
| | | | | | | | | | | | Fixes: #20201
* | | clang-tidy: fix `readability-use-anyofallof` warningsBen Boeckel2021-01-271-26/+18
| | |
* | | clang-tidy: fix `readability-qualified-auto` warningsBen Boeckel2021-01-271-4/+4
| | |
* | | clang-tidy: fix `readability-make-member-function-const` warningsBen Boeckel2021-01-271-1/+1
| | |
* | | Unity: Generate reproducible unity IDs for anonymous namespacesCraig Scott2021-01-221-10/+25
| | | | | | | | | Fixes: #21564
* | | Code style: add missed explicit 'this->'Oleksandr Koval2021-01-051-4/+4
| | | | | | | | | | | | | | | CMake uses explicit 'this->' style. Using custom clang-tidy check we can detect and fix places where 'this->' was missed.
* | | Merge topic 'unity-anon-ns'Craig Scott2020-12-161-3/+14
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 0fe9c40494 Unity Build: Add option for generating per-file unique id Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4784
| * | | Unity Build: Add option for generating per-file unique idStephen Kelly2020-12-151-3/+14
| | | | | | | | | | | | | | | | Fixes: #21477
* | | | Merge topic 'custom-command-output-genex-nmc'Brad King2020-12-161-8/+33
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1526ae3aba Tests: Add cases for Ninja Multi-Config cross-config custom commands dcf9f4d2f7 Ninja Multi-Config: Add support for cross-config custom commands 15467f12f7 cmLocalGenerator: Adopt custom target 'force' output name generation 7b64b0cd5a cmLocalGenerator: Refactor custom command generator construction d29da8ed3e cmMakefile: Simplify custom target 'force' output name generation 2b1cc175ee Help: Clarify version adding add_custom_{command,target} OUTPUT genex support Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5612
| * | | | Ninja Multi-Config: Add support for cross-config custom commandsKyle Edwards2020-12-151-2/+4
| | | | | | | | | | | | | | | | | | | | Co-Author: Brad King <brad.king@kitware.com>
| * | | | cmLocalGenerator: Adopt custom target 'force' output name generationBrad King2020-12-151-6/+22
| | | | |
| * | | | cmLocalGenerator: Refactor custom command generator constructionBrad King2020-12-151-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for constructing and using multiple generators for one custom command. cmGeneratorTarget contains a code path that needs this behavior when used with Ninja but not other generators, so use virtual dispatch through cmLocalGenerator.
| * | | | cmMakefile: Simplify custom target 'force' output name generationBrad King2020-12-151-5/+3
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove unnecessary check of policy CMP0049. The policy can never trigger on our internally-generated name because it has no variable references. The rename in commit 0ed5ce4cd8 (cmTarget: Rename AddSource method for backward compatibility., 2014-03-17, v3.1.0-rc1~688^2~17) made it look like this code path depended on CMP0049. Then commit 0e1faa28cb (cmMakefile: Separate custom command setup from actual creation, 2019-09-14, v3.16.0-rc1~85^2) and commit ea1bed34b2 (cmMakefile: Extract utilities used for creation of custom commands, 2019-09-21, v3.16.0-rc1~52^2~1) built additional infrastructure to thread that dependence through the call stack. Remove it all.
* | | | Merge topic 'ispc_control_header_suffixes'Brad King2020-12-151-4/+12
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | | | | | | | | | c9a50f3556 ISPC: Generated Headers suffix configurable with a better default Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5597
| * | | ISPC: Generated Headers suffix configurable with a better defaultRobert Maynard2020-12-141-4/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The target property `ISPC_HEADER_SUFFIX` and associated global variable now can control the suffix used when generating the C/C++ interoperability ISPC headers. In addition the default suffix is now "_ispc.h" which matches the common convention that the ISPC compiler team uses and recommends.
* | | | Merge topic 'support_CMAKE_VFS_OVERLAY_for_rc_compilation'Brad King2020-12-151-4/+16
|\ \ \ \ | |_|/ / |/| | / | | |/ | |/| | | | | | | 18ee6d7e32 llvm-rc: Add CMAKE_VFS_OVERLAY to the preprocessing flags Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5604
| * | llvm-rc: Add CMAKE_VFS_OVERLAY to the preprocessing flagsThomas Bernard2020-12-141-4/+16
| |/ | | | | | | Issue: #20658
| * Merge topic 'correct_ispc_path_computation' into release-3.19Brad King2020-12-081-7/+16
| |\ | | | | | | | | | | | | | | | | | | | | | 9af93fef11 ISPC: Handle OBJECT sources in different directories 72ae15ebcb ISPC: Ninja properly compute ISPC_HEADER_DIRECTORY location Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5581
* | | add_custom_{command,target}: Add genex support to OUTPUT and BYPRODUCTSBrad King2020-12-111-2/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | Move rejection of `#`, `<`, and `>` characters in outputs and byproducts to a generate-time check. This removes the front-end check that disallowed generator expressions. The generators have already been updated to handle them. Fixes: #12877
* | | cmLocalGenerator: Evaluate generator expressions in custom command outputsBrad King2020-12-111-4/+99
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Custom commands with generator expressions in their OUTPUTs or BYPRODUCTS are still attached to a single `.rule` file. We use an internal map to look up the source file holding the custom command for a given output. Populate this map using the outputs and byproducts from all configurations after evaluating the generator expressions for each configuration. Issue: #12877
* | | cmLocalGenerator: Simplify custom command output cmSourceFile creationBrad King2020-12-101-39/+29
| | | | | | | | | | | | | | | Move calls to `CreateGeneratedSource` over to `UpdateOutputToSourceMap`, which is called for all generated outputs and byproducts.
* | | cmLocalGenerator: Factor out helper to expand custom command output pathsBrad King2020-12-101-0/+10
| | |
* | | cmLocalGenerator: Refactor UpdateOutputToSourceMap to avoid boolean trapBrad King2020-12-101-9/+8
| | |
* | | cmLocalGenerator: Re-order logic in CreateGeneratedSourceBrad King2020-12-101-8/+9
| | | | | | | | | | | | Return early on errors to reduce nesting.
* | | Merge topic 'range-for-avoid-tmp-warning'Brad King2020-12-081-1/+4
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 99a26babb1 Cleanup: Fix warning about binding to a temporary in range-based for Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5578
| * | | Cleanup: Fix warning about binding to a temporary in range-based forCraig Scott2020-12-071-1/+4
| | | |
* | | | Merge topic 'correct_ispc_path_computation'Brad King2020-12-081-7/+16
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | 9af93fef11 ISPC: Handle OBJECT sources in different directories 72ae15ebcb ISPC: Ninja properly compute ISPC_HEADER_DIRECTORY location Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5581
| * | | ISPC: Handle OBJECT sources in different directoriesRobert Maynard2020-12-071-7/+16
| | | |
* | | | Merge topic 'asm_arch'Brad King2020-12-071-1/+1
|\ \ \ \ | |_|/ / |/| | / | | |/ | |/| | | | | | | fcabf4a47e macOS: Add architecture flags only for native ASM dialect Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5572
| * | macOS: Add architecture flags only for native ASM dialectRaul Tambre2020-12-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | ASM dialects like NASM have languages names such as ASM_NASM. However such ASM dialects don't support the architecture flags, so match only the full name. Fixes #21553.
* | | Merge topic 'pch-ios-multi-arch-nmc'Brad King2020-12-011-2/+4
|\ \ \ | |/ / | | | | | | | | | | | | | | | 35432aabda PCH: Fix compiler errors on iOS multi-arch using Ninja Multi-Config Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5544
| * | PCH: Fix compiler errors on iOS multi-arch using Ninja Multi-ConfigCristian Adam2020-11-301-2/+4
| |/ | | | | | | Fixes: #21401
* | PCH: Do not mark PCH-header as generatedDeniz Bahadir2020-11-161-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The PCH header file itself is written by CMake and is not generated by part of the buildsystem. Therefore the `GENERATED` property is not appropriate to set because the file is always present before the build starts. We already do not mark the PCH source file as `GENERATED` either. This is a preparation for solving #18399, which will no longer allow to unset the `GENERATED` property from a source-file once it was set. Fixes: #21437 Signed-off-by: Deniz Bahadir <dbahadir@benocs.com>
* | Reduce the scope of temporary cmProp variables and other improvementsVitaly Stakhovsky2020-11-051-4/+4
| |
* | cmLocalGenerator::GetRuleLauncher: return cmPropvvs314152020-11-021-7/+4
| |
* | configure_file: Add option for user defined permissionsAsit Dhal2020-10-241-2/+2
| | | | | | | | | | | | | | User defined permissions and options to copy permissions are implemented. Fixes: #20866
* | Constify some code as suggested by clang-tidyCengizhan Pasaoglu2020-10-191-2/+2
| |
* | cmLocalGenerator: Migrate custom command output lookup from cmMakefileBrad King2020-10-081-6/+192
| | | | | | | | | | | | | | Since commit 777ceaea94 (cmMakefile: Delay custom command creation, 2019-10-17, v3.17.0-rc1~352^2) we process custom command declarations at generate time. Therefore we do not need to look up what source file holds the custom command producing a given output until generate time.
* | cmMakefile: Drop unnecessary custom command APPEND checkBrad King2020-10-081-1/+1
|/ | | | | | | Since commit 777ceaea94 (cmMakefile: Delay custom command creation, 2019-10-17, v3.17.0-rc1~352^2) we process custom command declarations at generate time. This includes the append-to-non-existing-command check, so we do not need it at configure time.
* CUDA: Clang separable compilationRaul Tambre2020-09-241-11/+0
| | | | | | | | | | | | For NVCC the compiler takes care of device linking when passed the "-dlink" flag. Clang doesn't support such magic and requires the buildsystem to do the work that NVCC does behind the scenes. The implementation is based on Bazel's device linking documentation: https://github.com/tensorflow/tensorflow/blob/7cabcdf073abad8c46e9dda62bb8fa4682d2061e/third_party/nccl/build_defs.bzl.tpl#L259 Closes: #20726
* 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
* | ISPC: Support generation for multiple instruction setsRobert Maynard2020-09-041-2/+60
| |
* | cmMakefile::GetDefinition: return cmPropVitaly Stakhovsky2020-09-021-91/+91
| |