Commit Graph

27726 Commits

Author SHA1 Message Date
Brad King 0bf7a93f91 Merge topic 'ccmake-clear-help'
9276beae5e ccmake: Fully clear the 1st help line when processing

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3937
2019-10-21 11:29:12 -04:00
Brad King 667f2861dc Merge topic 'project-include-before'
f7acc1266c project: Add variable CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE_BEFORE

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3936
2019-10-21 11:24:28 -04:00
Brad King 50afd147f8 Merge topic 'vs-per-config-sources'
55a0bebdd3 VS: Add support for per-config sources
bcaecf6bcd Teach check for single-language targets to consider all configurations
324988a6b1 cmGeneratorTarget: Add GetAllConfigCompileLanguages method
fd2c9fac10 cmGeneratorTarget: Return non-const sources from GetAllConfigSources

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3882
2019-10-21 11:12:06 -04:00
Kitware Robot a82a96f35b CMake Nightly Date Stamp 2019-10-21 00:01:05 -04:00
Sylvain Joubert 9276beae5e ccmake: Fully clear the 1st help line when processing 2019-10-20 14:25:05 +02:00
Kitware Robot 41854d608b CMake Nightly Date Stamp 2019-10-20 00:01:04 -04:00
Kitware Robot 0671f71d70 CMake Nightly Date Stamp 2019-10-19 00:01:07 -04:00
Deniz Bahadir f7acc1266c project: Add variable CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE_BEFORE
Follow up commit 0761186949 (project: Add variable
CMAKE_PROJECT_INCLUDE_BEFORE, 2019-03-28, v3.15.0-rc1~294^2) with a
project-specific variant.  This variable will be used similar to the
already existing `CMAKE_PROJECT_INCLUDE_BEFORE` and
`CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE` variables.

Fixes: #19854
2019-10-18 14:44:24 -04:00
Brad King 92780281c2 CMake 3.16.0-rc2 2019-10-18 09:23:00 -04:00
Brad King fdb41a5102 Merge topic 'variable_watch-modernize'
4bedf6c9fa Refactor: Modernize `cmVariableWatchCommand` a little

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3892
2019-10-18 09:02:29 -04:00
Brad King b34b4c5eac Merge topic 'vs-vctargetspath'
e7d57bc3c3 VS: Propagate CMAKE_VS_GLOBALS into custom targets
45b4b4b930 VS: Propagate CMAKE_VS_GLOBALS into compiler id projects
548e9051a4 VS: Add support to override VCTargetsPath through toolset
99e83d4235 cmake: Teach --build mode to load CMAKE_GENERATOR_TOOLSET

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3817
2019-10-18 09:01:48 -04:00
Brad King 1c84b5c86f Merge topic 'pch-makefile-depends'
797689ab35 PCH: Fix Makefile dependencies to rebuild PCH on header changes
0b10b3ed6b cmMakefileTargetGenerator: Inline WriteObjectBuildFile in only call site

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3928
2019-10-18 08:57:16 -04:00
Kitware Robot 154aa87ca6 CMake Nightly Date Stamp 2019-10-18 00:01:07 -04:00
Brad King 55a0bebdd3 VS: Add support for per-config sources
Since commit 97cc29c766 (VS: Teach generators how to mark per-config
source files, 2017-04-10, v3.9.0-rc1~268^2~2) the VS generators have
known how to generate per-config sources.  We've now converted most
other code paths to support per-config sources, so drop the check
that disallows it.

This leaves only per-config support for precompiled headers and unity
build transformations, but those are optional features that can be
addressed later.

Fixes: #18233
Issue: #19789
2019-10-17 14:05:39 -04:00
Brad King bcaecf6bcd Teach check for single-language targets to consider all configurations 2019-10-17 14:03:54 -04:00
Brad King 324988a6b1 cmGeneratorTarget: Add GetAllConfigCompileLanguages method
Return all languages needed to compile sources in the target in
any configuration.
2019-10-17 14:03:54 -04:00
Brad King fd2c9fac10 cmGeneratorTarget: Return non-const sources from GetAllConfigSources
We need a non-const pointer to `cmSourceFile` instances in order to
call `GetOrDetermineLanguage` on them.
2019-10-17 14:03:54 -04:00
Brad King 5417737fac Merge topic 'graphviz'
553658393c Graphviz: added test suite, fixes, enhancements

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: slodki <slodki_dom@poczta.onet.pl>
Merge-request: !3766
2019-10-17 13:54:26 -04:00
Brad King ea048ed66c Merge topic 'export-target-lang-name'
0e436c573c install,export: Do not treat language names as target names

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3927
2019-10-17 13:52:00 -04:00
Brad King b903092b31 Merge topic 'vs_dotnet_documentation_file'
89ff3ee779 VS: Add VS_DOTNET_DOCUMENTATION_FILE property

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3879
2019-10-17 13:51:11 -04:00
Brad King 6dedb97420 Merge branch 'pch-makefile-depends' into release-3.16
Merge-request: !3928
2019-10-17 10:41:43 -04:00
Brad King 797689ab35 PCH: Fix Makefile dependencies to rebuild PCH on header changes
Teach the Makefile generator to scan the implicit dependencies of PCH
creation.  When a header named by `target_precompile_headers` changes
the corresponding PCH must be rebuilt and all consumers recompiled.

Fixes: #19830
2019-10-17 10:29:31 -04:00
Brad King 7aab792716 Merge branch 'export-target-lang-name' into release-3.16
Merge-request: !3927
2019-10-17 10:23:36 -04:00
Alexander Boczar e7d57bc3c3 VS: Propagate CMAKE_VS_GLOBALS into custom targets
Issue: #19708
2019-10-17 10:19:01 -04:00
Alex Turbov 4bedf6c9fa Refactor: Modernize cmVariableWatchCommand a little 2019-10-17 09:38:31 -04:00
Kitware Robot 095fc6d9d9 CMake Nightly Date Stamp 2019-10-17 00:01:09 -04:00
Brad King 0b10b3ed6b cmMakefileTargetGenerator: Inline WriteObjectBuildFile in only call site 2019-10-16 13:48:14 -04:00
Brad King 0e436c573c install,export: Do not treat language names as target names
When generating `IMPORTED_LINK_INTERFACE_LANGUAGES`, do not treat the
entries as target names.

Fixes: #19846
2019-10-16 12:48:20 -04:00
Brad King e0e109611a Merge topic 'swift-cross-compile'
466ad466b4 try_compile: support Swift for cross-compilation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3921
2019-10-16 09:45:11 -04:00
Kitware Robot 220d599507 CMake Nightly Date Stamp 2019-10-16 00:01:08 -04:00
Brad King 3658f4425a Merge branch 'swift-cross-compile' into release-3.16
Merge-request: !3921
2019-10-15 13:29:11 -04:00
Alexander Boczar 548e9051a4 VS: Add support to override VCTargetsPath through toolset
Fixes: #19708
2019-10-15 13:28:45 -04:00
Alexander Boczar 99e83d4235 cmake: Teach --build mode to load CMAKE_GENERATOR_TOOLSET
Extend the `cmGlobalGenerator::SetGeneratorToolset` signature to
indicate when it is called from `cmake::build`.
2019-10-15 13:28:41 -04:00
Saleem Abdulrasool 466ad466b4 try_compile: support Swift for cross-compilation
Ensure that we preserve the `CMAKE_Swift_COMPILER_TARGET` variable to
use cross-compilation for testing the Swift compiler if appropriate.
2019-10-15 13:25:14 -04:00
Charly Mourglia 89ff3ee779 VS: Add VS_DOTNET_DOCUMENTATION_FILE property
Add a `VS_DOTNET_DOCUMENTATION_FILE` target property to tell VS
generators to add a `DocumentationFile` setting in `.csproj` files.

Fixes: #19784
2019-10-15 11:44:55 -04:00
Brad King dc164bccc1 Merge topic 'cmake-initial-cache-relative'
c9d73b26b0 cmake: Fix relative path regression in -C

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3912
2019-10-15 11:14:09 -04:00
Kitware Robot daf6a6ba68 CMake Nightly Date Stamp 2019-10-15 00:01:05 -04:00
Brad King 7716be4561 Merge branch 'cmake-initial-cache-relative' into release-3.16
Merge-request: !3912
2019-10-14 16:18:16 -04:00
Peter Waller c9d73b26b0 cmake: Fix relative path regression in -C
Since commit 4ca0526f8a (cmake: Pass -S and -B into PreLoad.cmake and -C
scripts, 2019-08-20, v3.16.0-rc1~195^2) the value of `CMAKE_SOURCE_DIR`
is the source directory rather than the current working directory.
This was correct on its own, but the place storing that value is also
used as the base for relative paths specified on the command line.
The latter should of course be relative to the current working
directory.

The fix is to switch to use a full path internally, unless a full path
is already specified.  Add tests for the behaviour of `-C` under these
four circumstances:

    {with -S, without -S} x {full path, relative path}

Fixes: #19827
2019-10-14 16:17:00 -04:00
Kitware Robot 30f0319e7f CMake Nightly Date Stamp 2019-10-14 00:01:06 -04:00
Craig Scott 25eef45f16 Merge topic 'feature/CMAKE_MESSAGE_CONTEXT'
7cf79f4419 message: Support logging a context with each message
5bf85e2517 message: Add new CMAKE_MESSAGE_LOG_LEVEL variable
aa59badd6f Tests: Message log level tests must fail on unwanted output
7c579f0a03 Help: Move CMAKE_MESSAGE_INDENT variable to correct section
4b021bd3e9 message: Minor refactor to make code less verbose

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3680
2019-10-13 17:08:44 -04:00
Kitware Robot 001a1d2686 CMake Nightly Date Stamp 2019-10-13 00:01:09 -04:00
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