Commit Graph
28539 Commits
Author SHA1 Message Date
Brad King 07d15d70d2 Merge topic 'no-git-version'
874396a30d CMakeVersion: Add option to disable Git suffix
b254b0651e CMakeVersion: Prefer Git information provided by 'git archive' exports

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3910
2019-10-12 10:29:19 -04:00
Brad King b727e74fb0 Merge topic 'vs-v142-csharp-flags'
bbf216fb6b VS: Add toolset v142 CSharp flag table

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3908
2019-10-12 10:22:21 -04:00
Alex Turbov 7cf79f4419 message: Support logging a context with each message 2019-10-12 18:21:36 +11:00
Alex Turbov 5bf85e2517 message: Add new CMAKE_MESSAGE_LOG_LEVEL variable 2019-10-12 17:01:15 +11:00
Kitware Robot a8d42ecb8d CMake Nightly Date Stamp 2019-10-12 00:01:14 -04:00
Alex Turbov 4b021bd3e9 message: Minor refactor to make code less verbose 2019-10-12 13:39:55 +11:00
Brad King 6847d81856 Merge branch 'no-git-version' into release-3.16
Merge-request: !3910
2019-10-11 14:36:31 -04:00
Kyle Edwards 874396a30d CMakeVersion: Add option to disable Git suffix
Distro maintainers who are building from Git with patches added on
may want to disable the automatic Git suffixing, as it does not
provide any useful information and simply confuses the end user.
Add an undocumented CMake_VERSION_NO_GIT variable to disable this.
2019-10-11 14:32:09 -04:00
Brad King b254b0651e CMakeVersion: Prefer Git information provided by 'git archive' exports
Update the approach from commit fe2c558ba6 (CMakeVersion: Preserve Git
information during 'git archive', 2019-07-25, v3.16.0-rc1~337^2) to
prefer `export-subst` information.  This will allow exported source
trees to be imported into unrelated Git repositories while still using
the original upstream CMake commit information.
2019-10-11 13:49:59 -04:00
Brad King 820f952316 Merge branch 'vs-v142-csharp-flags' into release-3.16
Merge-request: !3908
2019-10-11 11:19:02 -04:00
Brad King 881bca249d Merge branch 'vs-v142-csharp-flags' into release-3.15
Merge-request: !3908
2019-10-11 11:18:41 -04:00
Brad King bbf216fb6b VS: Add toolset v142 CSharp flag table
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
2019-10-11 11:11:20 -04:00
Brad King fe9a903d8e Merge topic 'cmake-bin-link-job-pool'
b7509dd674 Add option to configure Ninja link job pool for CMake's own binaries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3901
2019-10-11 08:36:57 -04:00
Kitware Robot 696b2d40d4 CMake Nightly Date Stamp 2019-10-11 00:01:07 -04:00
Brad King b7509dd674 Add option to configure Ninja link job pool for CMake's own binaries
Create an undocumented `CMake_JOB_POOL_LINK_BIN` option that builders
can set to avoid linking too many of our binaries at once.
2019-10-10 13:28:45 -04:00
Brad King 9150c818b7 CMake 3.16.0-rc1 2019-10-10 09:31:05 -04:00
Brad King e3b9d125ef Merge topic 'deprecate-policy-old'
d00bb419ca Add deprecation warnings for policies CMP0069 and below

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3893
2019-10-10 09:27:06 -04:00
Brad King d00bb419ca Add deprecation warnings for policies CMP0069 and below
The OLD behaviors of all policies are deprecated, but only by
documentation.  Add an explicit deprecation diagnostic for policies
introduced in CMake 3.9 and below to encourage projects to port away
from setting policies to OLD.
2019-10-10 09:26:10 -04:00
Brad King 2faadaae6b Merge topic 'rename_loglevel_option'
7bbddeb78d CLI: Rename --loglevel to --log-level for naming consistency

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alex Turbov <i.zaufi@gmail.com>
Merge-request: !3899
2019-10-10 09:23:37 -04:00
Brad King bab7ec3c25 Merge topic 'pch-generate'
36ded610af PCH: Generate sources during Compute step

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3890
2019-10-10 09:22:39 -04:00
Brad King 580e322dcb Merge branch 'rename_loglevel_option' into release-3.16
Merge-request: !3899
2019-10-10 09:21:36 -04:00
Craig Scott 7bbddeb78d CLI: Rename --loglevel to --log-level for naming consistency
Other multi-word command line options use hyphens to separate
the words, so the --loglevel option introduced in CMake 3.15 was
inconsistent in this regard. Rename it to --log-level but still support
the original --loglevel name to preserve backward compatibility.
2019-10-10 09:20:50 -04:00
Brad King e5419f4f87 Merge branch 'pch-generate' into release-3.16
Merge-request: !3890
2019-10-10 09:14:58 -04:00
Kitware Robot 0d1bf3f660 CMake Nightly Date Stamp 2019-10-10 00:01:06 -04:00
Brad King 88fa7b761d Merge branch 'vs-16.4-global-targets' into release-3.16
Merge-request: !3896
2019-10-09 09:19:40 -04:00
Brad King 155d6d8342 Merge branch 'file-GENERATE-earlier' into release-3.16
Merge-request: !3895
2019-10-09 09:19:16 -04:00
Cristian Adam 36ded610af PCH: Generate sources during Compute step 2019-10-09 13:50:25 +02:00
Kitware Robot 6050eca0a4 CMake Nightly Date Stamp 2019-10-09 00:01:06 -04:00
Brad King 5fa1315b03 Merge topic 'file-GENERATE-earlier'
f1fb63b306 file(GENERATE): Create output file structures even earlier

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3895
2019-10-08 11:25:08 -04:00
Brad King 6bcc8c1c31 Merge topic 'vs-16.4-global-targets'
9df56ece79 Merge branch 'backport-vs-16.4-global-targets'
ac1a1bf18b VS: Tell VS 16.4 not to verify CMake-provided custom command outputs
04e5f30ad3 VS: Tell VS 16.4 not to verify CMake-provided custom command outputs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3896
2019-10-08 11:22:55 -04:00
Kitware Robot ab54653afd CMake Nightly Date Stamp 2019-10-08 00:01:06 -04:00
Corentin Plouet 553658393c Graphviz: added test suite, fixes, enhancements
* Added a fairly comprehensive test suite
* Separated the graph traversal logic from the Graphviz generation
  code by introducing a new class, cmLinkItemsGraphVisitor{.h,cxx}
* Made the graph traversal logic less ad-hoc by using existing
  methods in the GlobalGenerator; this fixed a few bugs
* Added support for new target types: custom targets, object
  and unknown libraries
* Improved support for ALIAS libraries by showing the alias(es)
  in the graph
* Introduced new flags to control those new libraries (consistent
  with existing flags)
* Updated the documentation
* Removed useless setting to set graph type in dot file
* Improved the node/edge shapes (nicer, more consistent)
* Added a legend to the graph
* Some refactoring and cleanup of the Graphviz generation code
* Added test and fix for issue 19746
2019-10-08 13:45:56 +11:00
Brad King dec3e9363e Merge branch 'backport-vs-16.4-global-targets' into release-3.15
Merge-request: !3896
2019-10-07 17:51:51 -04:00
Brad King ac1a1bf18b VS: Tell VS 16.4 not to verify CMake-provided custom command outputs
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
2019-10-07 17:44:32 -04:00
Brad King 04e5f30ad3 VS: Tell VS 16.4 not to verify CMake-provided custom command outputs
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
2019-10-07 17:41:31 -04:00
Brad King f1fb63b306 file(GENERATE): Create output file structures even earlier
Since commit b80557c7bd (file(GENERATE): Evaluate early to allow
generating source files, 2014-11-04, v3.2.0-rc1~398^2) we create the
`cmSourceFile` instances marked with a `GENERATED` source file property
before tracing source dependencies.  Move it to even earlier so that
steps in `cmGlobalGenerator::AddAutomaticSources` can operate on all
sources.  This also avoids the accidental `O(n^2)` calls for `n` local
generators that we had previously.

This is also needed since commit 83c1657ff7 (Unity build: Generate
sources during Compute step, 2019-10-03) to support `file(GENERATE)`
outputs as sources in a target with `UNITY_BUILD` enabled.
2019-10-07 15:22:12 -04:00
Brad King 4c29297495 Begin post-3.16 development 2019-10-07 10:57:39 -04:00
Brad King 16613bc050 Begin 3.16 release versioning 2019-10-07 10:53:56 -04:00
Brad King 947b02e2e0 Merge topic 'export-genex-under-prefix'
3ded5b6da8 install,export: Fix export of a genex following $<INSTALL_PREFIX>

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3886
2019-10-07 10:34:50 -04:00
Kitware Robot 52891c816d CMake Nightly Date Stamp 2019-10-07 00:01:04 -04:00
Kitware Robot f2bf78ccf7 CMake Nightly Date Stamp 2019-10-06 00:01:06 -04:00
Kitware Robot 3da9733142 CMake Nightly Date Stamp 2019-10-05 00:01:05 -04:00
Brad King 395e5f77fc Merge topic 'unity-step'
83c1657ff7 Unity build: Generate sources during Compute step

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3884
2019-10-04 10:15:08 -04:00
Brad King a988cc8789 Merge topic 'pch-multi-language'
38c1f2ab22 PCH: Fix CMake test files indentation
1144a4fa47 PCH: Add multi-language PCH generation support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3885
2019-10-04 10:14:20 -04:00
Brad King 3ded5b6da8 install,export: Fix export of a genex following $<INSTALL_PREFIX>
The relative path check added by commit 5838aba1aa (Export: Report error
on relative include with genex., 2013-11-26, v3.0.0-rc1~285^2) was added
one condition too early.  If the value starts in `${_IMPORT_PREFIX}`
(which comes from `$<INSTALL_PREFIX>`) then it is an absolute path.

Fixes: #19791
2019-10-04 09:53:22 -04:00
Kitware Robot 65020633e6 CMake Nightly Date Stamp 2019-10-04 00:01:06 -04:00
Cristian Adam 1144a4fa47 PCH: Add multi-language PCH generation support
If the target has C files, it will get a C PCH file.
The same for C++ files. The linker language is no
longer used to determine which language to use for
PCH.

Fixes: #19790
2019-10-03 22:58:55 +02:00
Brad King 83c1657ff7 Unity build: Generate sources during Compute step
The unity build sources need to be added for all generators.  Create
them during `cmGlobalGenerator::Compute` to avoid duplicating the calls
in every generator.  We already handle Qt autogen there too.

Issue: #19789
2019-10-03 14:55:22 -04:00
Brad King 3247506662 Merge topic 'ctest-hardware-allocation'
e9500271a3 Help: Add documentation for CTest hardware allocation
d1f100a415 CTest: Add Json output for PROCESSES property
b741ee820d Tests: Add test for CTest hardware allocation feature
3c8a5aad46 Tests: Write tests for cthwalloc helper tool
2d74e54661 Tests: Write cthwalloc helper tool
e34de0691b CTest: Allocate hardware to tests
aee0964851 CTest: Add bin-packing algorithm
c494b2973a CTest: Add cmCTestHardwareAllocator class
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3858
2019-10-03 14:07:52 -04:00
Brad King 96bc0a5d99 Merge topic 'xcode-scheme-custom-target'
333a2ff099 Merge branch 'backport-xcode-scheme-custom-target'
7cccc5b199 Xcode: Restore CMAKE_XCODE_GENERATE_SCHEME for custom targets
ac9934406d Xcode: Restore CMAKE_XCODE_GENERATE_SCHEME for custom targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3878
2019-10-03 09:09:04 -04:00