Commit Graph

30023 Commits

Author SHA1 Message Date
Asit Dhal
c3385dd8bd file(GENERATE): Support options to manipulate file permissions
Fixes: #15653
2020-12-21 12:16:16 +01:00
Kitware Robot
c89514a6a4 CMake Nightly Date Stamp 2020-12-21 00:01:12 -05:00
Kitware Robot
bc78c212b7 CMake Nightly Date Stamp 2020-12-20 00:01:05 -05:00
Kitware Robot
d231f429f1 CMake Nightly Date Stamp 2020-12-19 00:01:18 -05:00
Kitware Robot
7280efeeeb CMake Nightly Date Stamp 2020-12-18 00:01:10 -05:00
Brad King
6d7621baea Merge topic 'qt-autogen-per-config'
20e4db4a66 cmGeneratorTarget: Make GetConfigCommonSourceFiles Xcode-specific
92d7b456e5 Autogen: Add support for per-config sources
3ffebbaefb Tests/QtAutogen: Forward build configuration in multi-config generators

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5624
2020-12-17 13:22:40 -05:00
Kitware Robot
cf2486fada CMake Nightly Date Stamp 2020-12-17 00:01:08 -05:00
Brad King
20e4db4a66 cmGeneratorTarget: Make GetConfigCommonSourceFiles Xcode-specific
The Xcode generator is the only place left that we do not support
per-config sources.  Make the corresponding helper Xcode-specific to
avoid any other new uses.
2020-12-16 14:04:30 -05:00
Brad King
92d7b456e5 Autogen: Add support for per-config sources
Fixes: #20682
2020-12-16 14:04:30 -05:00
Craig Scott
d2456b29f4 Merge topic 'unity-anon-ns'
0fe9c40494 Unity Build: Add option for generating per-file unique id

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4784
2020-12-16 07:40:41 -05:00
Brad King
34469a4f71 Merge topic 'custom-command-output-genex-nmc'
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
2020-12-16 06:20:39 -05:00
Brad King
d8654c2a02 Merge topic 'cmake-gui-system-icon'
47649baf60 cmake-gui: Use icon from system theme if available

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5616
2020-12-16 06:18:01 -05:00
Brad King
80148daa2c Merge topic 'cmake-gui-completion'
854f5ea1cb cmake-gui: Restore completion during path editing

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5619
2020-12-16 06:17:08 -05:00
Kitware Robot
4098b2beb6 CMake Nightly Date Stamp 2020-12-16 00:01:13 -05:00
Brad King
854f5ea1cb cmake-gui: Restore completion during path editing
Revert commit 0fc1818831 (QCMakeWidgets: replace QDirModel, 2020-06-15,
v3.19.0-rc1~696^2).  `QFileSystemModel` is not a drop-in replacement for
`QDirModel`.  Additional changes are needed to make it work fully.
Revert the change and suppress the `QDirModel` deprecation warning
pending further investigation.

Fixes: #21589
2020-12-15 08:40:13 -05:00
Loren Burkholder
47649baf60 cmake-gui: Use icon from system theme if available 2020-12-15 07:48:51 -05:00
Brad King
807c903c55 Merge topic 'issue-20915'
6d0712c225 file(configure): Order of named options should be specified in any order

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5608
2020-12-15 07:43:36 -05:00
Brad King
7a0c28a760 Merge topic 'issue-21557'
99a98eefac cmake_policy: Add check for return value of SetPolicyVersion

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5607
2020-12-15 07:41:47 -05:00
Brad King
7932e0a46e Merge topic 'ispc_control_header_suffixes' into release-3.19
c9a50f3556 ISPC: Generated Headers suffix configurable with a better default

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5597
2020-12-15 07:40:34 -05:00
Brad King
67f12dd1d6 Merge topic 'ispc_control_header_suffixes'
c9a50f3556 ISPC: Generated Headers suffix configurable with a better default

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5597
2020-12-15 07:40:34 -05:00
Brad King
3fb889a0e6 Merge topic 'support_CMAKE_VFS_OVERLAY_for_rc_compilation'
18ee6d7e32 llvm-rc: Add CMAKE_VFS_OVERLAY to the preprocessing flags

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5604
2020-12-15 07:38:20 -05:00
Brad King
795c5fe239 Merge topic 'support_CMAKE_VFS_OVERLAY_for_rc_compilation' into release-3.19
18ee6d7e32 llvm-rc: Add CMAKE_VFS_OVERLAY to the preprocessing flags

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5604
2020-12-15 07:38:19 -05:00
Brad King
b485e86363 Merge topic 'ninja-no-cleandead'
1144d25094 Merge branch 'backport-ninja-no-cleandead' into ninja-no-cleandead
73a961eaba Ninja: Remove cleandead on regeneration

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5614
2020-12-15 07:36:07 -05:00
Kyle Edwards
dcf9f4d2f7 Ninja Multi-Config: Add support for cross-config custom commands
Co-Author: Brad King <brad.king@kitware.com>
2020-12-15 07:01:21 -05:00
Brad King
15467f12f7 cmLocalGenerator: Adopt custom target 'force' output name generation 2020-12-15 07:00:53 -05:00
Brad King
7b64b0cd5a cmLocalGenerator: Refactor custom command generator construction
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.
2020-12-15 07:00:52 -05:00
Brad King
d29da8ed3e cmMakefile: Simplify custom target 'force' output name generation
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.
2020-12-15 07:00:52 -05:00
Stephen Kelly
0fe9c40494 Unity Build: Add option for generating per-file unique id
Fixes: #21477
2020-12-15 22:26:09 +11:00
Kitware Robot
09a324fbc2 CMake Nightly Date Stamp 2020-12-15 00:01:09 -05:00
Robert Maynard
c9a50f3556 ISPC: Generated Headers suffix configurable with a better default
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.
2020-12-14 13:13:09 -05:00
Thomas Bernard
18ee6d7e32 llvm-rc: Add CMAKE_VFS_OVERLAY to the preprocessing flags
Issue: #20658
2020-12-14 11:08:12 -05:00
Brad King
1144d25094 Merge branch 'backport-ninja-no-cleandead' into ninja-no-cleandead 2020-12-14 10:14:19 -05:00
Brad King
73a961eaba Ninja: Remove cleandead on regeneration
Remove the `cleandead` tool invocation added by commit fb18215904
(Ninja: clean ninja metadata once generated, 2019-05-13,
v3.17.0-rc1~207^2).  The tool deletes files that were not previously
deleted by regenerating the build system.  Also, there are use cases
where no-longer-generated files should not be removed, such as Qt's TS
files.

Fixes: #21549
2020-12-14 10:08:14 -05:00
Brad King
fedfe763ee Merge topic 'custom-command-output-genex'
c257c25419 add_custom_{command,target}: Add genex support to OUTPUT and BYPRODUCTS
f36af9228b cmLocalGenerator: Evaluate generator expressions in custom command outputs
c887cefd9a cmLocalGenerator: Simplify custom command output cmSourceFile creation
947ba01bf9 cmLocalGenerator: Factor out helper to expand custom command output paths
1902d28ebc cmLocalGenerator: Refactor UpdateOutputToSourceMap to avoid boolean trap
e4034eabe9 cmLocalGenerator: Re-order logic in CreateGeneratedSource
706c48301d cmCustomCommandGenerator: Treat relative outputs w.r.t. build dir
5d23c5446e cmCustomCommandGenerator: Refactor OUTPUT and DEPENDS path evaluation
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kyle Edwards <kyle.edwards@kitware.com>
Acked-by: Pavel Solodovnikov <hellyeahdominate@gmail.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !5402
2020-12-14 07:22:45 -05:00
Brad King
f62bcd08aa Merge topic 'makefiles-compiler-deps-optims'
b2ff3c52df cmDependsCompiler: rely now on cmGccDepfileReader for depfile parser

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5599
2020-12-14 07:16:05 -05:00
Brad King
06dae10c9b Merge topic 'automoc-autouic-autorcc-not-csharp'
f65f20938c Autogen: Avoid processing CSharp targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5507
2020-12-14 07:15:01 -05:00
Brad King
4cdf951f07 Merge topic 'install-properties' into release-3.19
63db7ae9c4 cmake: Clear INSTALL file properties between runs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5603
2020-12-14 07:08:49 -05:00
Brad King
f70814c3fd Merge topic 'install-properties'
63db7ae9c4 cmake: Clear INSTALL file properties between runs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5603
2020-12-14 07:08:49 -05:00
Brad King
922ad5c6b9 Merge topic 'execute_process-command-error'
e5a4ffaad1 execute_process: Improve COMMAND_ERROR_IS_FATAL error capture scenarios

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5588
2020-12-14 07:07:46 -05:00
Kitware Robot
0a6c7cdd07 CMake Nightly Date Stamp 2020-12-14 00:01:19 -05:00
Asit Dhal
99a98eefac cmake_policy: Add check for return value of SetPolicyVersion
Fixes: #21557
2020-12-14 04:55:55 +01:00
Asit Dhal
6d0712c225 file(configure): Order of named options should be specified in any order
Fixes: #20915
2020-12-13 09:45:11 +01:00
Kitware Robot
703a58cba3 CMake Nightly Date Stamp 2020-12-13 00:02:09 -05:00
Kitware Robot
4621ffb028 CMake Nightly Date Stamp 2020-12-12 00:01:10 -05:00
Brad King
63db7ae9c4 cmake: Clear INSTALL file properties between runs
Do not keep state across separate project configurations.
This is particularly important in `cmake-gui` where those
configurations can be for separate projects.

Fixes: #21580
2020-12-11 12:30:27 -05:00
Alessandro Ambrosano
f65f20938c Autogen: Avoid processing CSharp targets
Fixes: #21442
2020-12-11 11:37:11 -05:00
Marc Chevrier
b2ff3c52df cmDependsCompiler: rely now on cmGccDepfileReader for depfile parser
To avoid duplicate effort of depfile parsing and enhance robustness
of parsing against mal-formed depfiles in preparation of DEPFILE option
support of add_custom_command command for makefiles generators.
2020-12-11 14:48:00 +01:00
Brad King
c257c25419 add_custom_{command,target}: Add genex support to OUTPUT and BYPRODUCTS
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
2020-12-11 08:24:21 -05:00
Brad King
f36af9228b cmLocalGenerator: Evaluate generator expressions in custom command outputs
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
2020-12-11 08:24:06 -05:00
Kitware Robot
adc6a4c540 CMake Nightly Date Stamp 2020-12-11 00:01:08 -05:00