Commit Graph

28215 Commits

Author SHA1 Message Date
Joerg Bornemann
aebfbcaa46 AutoGen: Use depfiles for the XXX_autogen ninja targets
The XXX_autogen targets are implemented as utility commands, which
means they always run, even if there weren't any changes.

For the Ninja generator and Qt >= 5.15 we're taking a different
approach: This commit adds custom commands that create
XXX_autogen/timestamp files. Those custom commands have a depfile
assigned that is generated from the depfiles that were created by moc.

The XXX_autogen targets merely wrap the XXX_autogen/timestamp custom
commands.

Fixes: #18749
2020-01-28 11:16:11 -05:00
Joerg Bornemann
f765fdea03 AutoGen: Use moc's feature to output dependencies
In Qt version 5.15.0 moc learned to output the dependencies
of the generated file.

This commit enhances JobCompileMocT to read the dependency file
written by moc. The dependencies are stored in the same cache that's
used for the dependencies determined by dependency filters.

The dependency filter functionality is turned off if moc's dependency
output feature is used.

Fixes: #17750
Fixes: #19058
2020-01-28 11:16:11 -05:00
Joerg Bornemann
f8c505d4b3 Add a parser for GCC-style depfiles
Introduce the function cmReadGccDepfile that parses a GCC-style depfile
and returns its content. The implementation uses a lexer that is
modeled after the re2c implementation in Ninja.

The sample files of the autotest have been created with gcc 8.3.0.

This depfile reader is to be used by the Autogen facility to make use
of the depfiles that are generated by Qt's meta object compiler.
2020-01-28 11:16:11 -05:00
Brad King
306328ace8 Merge topic 'depend-on-target-real-name'
08699cec68 add_custom_command: Fix dependency on macOS framework target

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4273
2020-01-27 10:04:08 -05:00
Brad King
0bf9589bf1 Merge topic 'csharp-no-valued-macros'
effd4d0569 CSharp: Do not pass definitions with values

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4267
2020-01-27 10:03:26 -05:00
Brad King
6f7f293562 Merge topic 'cpack-dmg-breaklongline'
4a3a7d5f5d CPack/DragNDrop: Fix word corruption in BreakLongLines

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4275
2020-01-27 09:33:45 -05:00
Brad King
d5f5496783 Merge topic 'cpack-dmg-rtf-for-sla'
9571929701 CPack/DragNDrop: Support RTF licenses

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4270
2020-01-27 09:32:51 -05:00
Brad King
a9a1a7a325 Merge topic 'makefiles-suppress-vcs-implicit-rules'
879e56f336 makefiles: suppress RCS and SCCS implicit rules

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4264
2020-01-27 09:29:58 -05:00
Kitware Robot
ee4299ce46 CMake Nightly Date Stamp 2020-01-27 00:01:05 -05:00
Kitware Robot
55ea8f6b1b CMake Nightly Date Stamp 2020-01-26 00:01:13 -05:00
Kitware Robot
33e7bd66c0 CMake Nightly Date Stamp 2020-01-25 00:01:08 -05:00
Brad King
072a95350c Merge topic 'ninja-multi-cross-configs'
b7a2baf38c Ninja Multi-Config: Add variable to control configs used in cross-config build

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4269
2020-01-24 15:02:20 -05:00
Sumit Bhardwaj
effd4d0569 CSharp: Do not pass definitions with values
The Microsoft C# tooling does not accept definitions with values.
Filter them out.

Fixes: #19817
2020-01-24 14:43:37 -05:00
Koray Kilinc
4a3a7d5f5d CPack/DragNDrop: Fix word corruption in BreakLongLines
When the lines are wrapped the leading characters of the next word were being lost
2020-01-24 09:17:12 -08:00
Brad King
08699cec68 add_custom_command: Fix dependency on macOS framework target
When the `DEPENDS` option names a logical target name, convert to the
"real" path of that target rather than any of the symlink-provided
alternative file names.  This makes the dependencies consistent with the
outputs named by link rules producing the target artifacts.

Fixes: #20264
2020-01-24 11:29:45 -05:00
Brad King
786b56942b Merge topic 'vs-dotnet-standard-core'
ae1e1909a1 VS: Add support for .NET Standard and .NET Core

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4240
2020-01-24 10:55:26 -05:00
Andrew Fuller
9571929701 CPack/DragNDrop: Support RTF licenses 2020-01-24 07:48:52 -08:00
Brad King
816bbf227f Merge topic 'trace_json_timestamp'
c829f0cfca trace: Add time and stack level to JSON output format

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Volo Zyko <volo.zyko@gmail.com>
Merge-request: !4242
2020-01-24 09:19:55 -05:00
Brad King
89a93348d5 Merge topic 'multi-ninja-no-cleandead'
6cc74b6140 cmGlobalNinjaGenerator: avoid cleandead and recompact in Ninja-Multi

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4261
2020-01-24 09:17:07 -05:00
Joerg Bornemann
ae1e1909a1 VS: Add support for .NET Standard and .NET Core
Fixes: #20105
2020-01-24 09:11:05 -05:00
Ben Boeckel
879e56f336 makefiles: suppress RCS and SCCS implicit rules
These are not suffix rules and are not suppressed by the empty
`.SUFFIXES` recipe. Additionally, the old `SUFFIXES =` code didn't
actually accomplish this, so remove it.
2020-01-24 09:06:25 -05:00
Kitware Robot
55921df313 CMake Nightly Date Stamp 2020-01-24 00:01:06 -05:00
Kyle Edwards
b7a2baf38c Ninja Multi-Config: Add variable to control configs used in cross-config build 2020-01-23 15:47:12 -05:00
Kyle Edwards
ab2fc91821 Merge topic 'organize_makefile_help_output'
7c1470f146 Makefiles: Organize help output to group 'like' targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4260
2020-01-23 10:43:03 -05:00
Brad King
f0f7ea2bf5 Merge topic 'get-runtime-dependencies-keyword-args'
3573f62a16 Merge branch 'backport-get-runtime-dependencies-keyword-args'
c998c8d560 file(GET_RUNTIME_DEPENDENCIES): Tolerate empty list arguments
4c8a917a87 file(GET_RUNTIME_DEPENDENCIES): Tolerate empty list arguments

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4262
2020-01-23 10:02:45 -05:00
Brad King
9771d231aa Merge topic 'ninja-multi-default-build-alias'
8337ed0d73 Ninja Multi-Config: Add variable to control aliases in build.ninja
110037369d Refactor: Split Ninja files into impl-<Config>.ninja and build-<Config>.ninja
e62a3414f7 Refactor: Move common.ninja into CMakeFiles

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4238
2020-01-23 10:01:14 -05:00
Ben Boeckel
6cc74b6140 cmGlobalNinjaGenerator: avoid cleandead and recompact in Ninja-Multi
Fixes: #20247
2020-01-23 09:24:46 -05:00
Kitware Robot
9c87d051ad CMake Nightly Date Stamp 2020-01-23 00:01:09 -05:00
Kyle Edwards
c998c8d560 file(GET_RUNTIME_DEPENDENCIES): Tolerate empty list arguments
Also list all keywords that were missing values instead of only the
first one.
2020-01-22 14:34:33 -05:00
Robert Maynard
7c1470f146 Makefiles: Organize help output to group 'like' targets 2020-01-22 13:21:12 -05:00
Kyle Edwards
8337ed0d73 Ninja Multi-Config: Add variable to control aliases in build.ninja 2020-01-22 10:26:21 -05:00
Kyle Edwards
110037369d Refactor: Split Ninja files into impl-<Config>.ninja and build-<Config>.ninja 2020-01-22 10:26:21 -05:00
Kyle Edwards
e62a3414f7 Refactor: Move common.ninja into CMakeFiles 2020-01-22 10:25:35 -05:00
Kyle Edwards
593d0f3a57 Merge topic 'ninja-restat-just-build.ninja'
eb2da206d9 cmGlobalNinjaGenerator: only restat build.ninja

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4245
2020-01-22 10:25:06 -05:00
Frank Winklmeier
c829f0cfca trace: Add time and stack level to JSON output format
Add the timestamp and stack depth of the function call to the JSON trace
output format. This information can be useful for cmake profiling and
call stack inspection (see e.g. https://github.com/volo-zyko/cmake-profile-stats).

Improve unit test to allow for varying set of keys to check in trace lines.
2020-01-22 09:58:52 -05:00
Brad King
15c573df41 Merge topic 'mark_as_advanced-without-cache'
3ec82b713e cmMarkAsAdvancedCommand: ignore variables which don't exist in the cache
701a5c60e0 cmake: avoid marking local or unused variables as advanced
af158149e7 FindOpenSSL: do not mark a local variable as advanced
74f659f1f2 FindCurses: only mark CURSES_EXTRA_LIBRARY when it is used
7e2ae4e96d FindOpenGL: only mark declared cache variables as advanced
7cc02a0c29 FindLua: only mark LUA_MATH_LIBRARY as advanced if required
85cd26b8a6 FindBoost: only mark Boost_DIR as advanced if defined
338c7916ba CTest: avoid marking undeclared cache variables as advanced
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4150
2020-01-22 09:50:49 -05:00
Brad King
39695f6fb3 Merge topic 'modernize-memory-management'
edab5add57 cmMakefileTargetGenerator: modernize memory management

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4250
2020-01-22 09:49:30 -05:00
Brad King
3be2abd889 Merge topic 'install-std-string'
5e54b0cf2f cmInstallGenerator: std::string params

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4255
2020-01-22 09:40:32 -05:00
Brad King
3f601ebb0a Merge topic 'vs-std-string'
2e768924f3 cmLocalVisualStudio7Generator: clean up c_str()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4249
2020-01-22 09:24:57 -05:00
Kitware Robot
0877438599 CMake Nightly Date Stamp 2020-01-22 00:01:07 -05:00
Vitaly Stakhovsky
5e54b0cf2f cmInstallGenerator: std::string params
Several construction parameters converted to std::string
Also made a few class members const
2020-01-21 11:09:35 -05:00
Brad King
7a89e3c36c Merge topic 'install-std-string'
9db532f44d cmInstall*Generator: std::string params

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4241
2020-01-21 09:21:51 -05:00
Vitaly Stakhovsky
9db532f44d cmInstall*Generator: std::string params
Several construction parameters converted to std::string
Also made a few class members const
2020-01-21 09:19:13 -05:00
Ben Boeckel
eb2da206d9 cmGlobalNinjaGenerator: only restat build.ninja
This reduces the work that ninja needs to do on a CMake reconfigure.
2020-01-21 08:57:51 -05:00
Marc Chevrier
edab5add57 cmMakefileTargetGenerator: modernize memory management 2020-01-21 12:52:05 +01:00
Kitware Robot
2f7e76efa4 CMake Nightly Date Stamp 2020-01-21 00:01:16 -05:00
Ben Boeckel
3ec82b713e cmMarkAsAdvancedCommand: ignore variables which don't exist in the cache
Fixes: #18331
2020-01-20 15:49:29 -05:00
Vitaly Stakhovsky
2e768924f3 cmLocalVisualStudio7Generator: clean up c_str() 2020-01-20 15:44:07 -05:00
Brad King
941c09616b Merge topic 'multi-ninja-pch'
a55df20499 Multi-Ninja: Add precompile headers support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4201
2020-01-20 11:59:28 -05:00
Brad King
56a3e84a67 Merge topic 'realpath-cache'
9d5a554cc9 cmGlobalGenerator: Add cache for realpath() results

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4220
2020-01-20 11:55:04 -05:00