Commit Graph

43112 Commits

Author SHA1 Message Date
Marc Chevrier
b70bac647d Genex: add $<TARGET_FILE_PREFIX:...> and $<TARGET_FILE_SUFFIX:...>
These capabilities complement MR !3190
and is also needed to solve issue #18771.
2019-04-10 23:45:12 +02:00
Marc Chevrier
f65763fe9b Refactor: Add new methods to retrieve prefix and suffix 2019-04-10 18:37:03 +02:00
Brad King
876680e94b Merge topic 'meta-feature_only_infer_granular_support'
613ac56e50 Add a test to verify meta-feature parity with granular features
b0f46c48f6 CompileFeatures: Now able to presume full language level support
646fb1a646 CompileFeatures: memoize C++ compilers with full language level support
0d641fcfad Tests: Remove outdated portion of CompileFeatures genex test

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3176
2019-04-10 08:49:21 -04:00
Kitware Robot
784c35b444 CMake Nightly Date Stamp 2019-04-10 00:01:10 -04:00
Craig Scott
6aef0aa5fe Merge branch 'release-3.14' 2019-04-10 07:57:12 +10:00
Craig Scott
0a29875313 Merge topic 'fix-submit-url'
b8cb63457e Modules/CTest: Fix SubmitURL

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3206
2019-04-09 17:55:34 -04:00
Craig Scott
127d0ea2a6 Merge branch 'fix-submit-url' into release-3.14
Merge-request: !3206
2019-04-10 07:54:29 +10:00
Regina Pfeifer
b8cb63457e Modules/CTest: Fix SubmitURL
Problem appeared in d6475daa79 (Modules/CTest: Set SubmitURL, 2018-12-08).

Fixes: #19099
2019-04-10 07:43:20 +10:00
Robert Maynard
613ac56e50 Add a test to verify meta-feature parity with granular features 2019-04-09 08:44:56 -04:00
Robert Maynard
b0f46c48f6 CompileFeatures: Now able to presume full language level support
Previously compilers that only supported the meta-level flags
would not have any of the granular features listed. Now we
presume that they have full support and enable all the features.

Update granular feature tests to skip the actual compilation
checks for the presumed features.
2019-04-09 08:44:56 -04:00
Robert Maynard
646fb1a646 CompileFeatures: memoize C++ compilers with full language level support
Previously compilers that had full support for a language standard level
were still verified every time a new build directory was created.  Now
we record this information and insert the correct granular compile
features instead of doing a `try_compile`.
2019-04-09 08:44:56 -04:00
Brad King
0d641fcfad Tests: Remove outdated portion of CompileFeatures genex test
The genex part of the test verifies that `$<COMPILE_FEATURES:...>`
evaluates as expected.  It does not need to actually try using code with
the associated features, as that is tested separately.
2019-04-09 08:44:56 -04:00
Brad King
a289d79517 Merge topic 'improve-formatting-of-help'
cb33befe2d Modules: Update documentation formatting
0e4fbb4a1f Help: Improve formatting of Help documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !3199
2019-04-09 08:30:15 -04:00
Brad King
aa0692de67 Merge topic 'argument-parser'
b783e62533 cmExecuteProcessCommand: Port to cmArgumentParser
9bddb03f31 cmParseArgumentsCommand: Port to cmArgumentParser
45edf1ad66 Retire cmCommandArgumentsHelper
f5acecaa6f cmExportCommand: Port to cmArgumentParser
e6b6bb0618 cmInstallCommand: Port to cmArgumentParser
4336a29edd cmFileCommand: Port to cmArgumentParser
4359fe133b Introduce cmArgumentParser

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Leonid Pospelov <pospelovlm@yandex.ru>
Merge-request: !3137
2019-04-09 08:27:31 -04:00
Brad King
6b126c47bd Merge branch 'release-3.14' 2019-04-09 08:03:46 -04:00
Brad King
3d15ae4ea1 Merge topic 'cmake-gui-windows-theme'
18962f8f8f Utilities/Release: Link statically to QWindowsVistaStyle plugin
a53c3f03bc Merge branch 'backport-cmake-gui-windows-theme'
fce03306ee cmake-gui: Fix theme on Windows with Qt >= 5.10

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3205
2019-04-09 08:01:01 -04:00
Brad King
0e953e138b Merge topic 'implicit-includes-relative'
442f4c4902 Merge branch 'backport-implicit-includes-relative'
ef41d49812 Fix implicit include directory extraction for adaptive relative paths
6bc6fc2a7f Tests: Teach RunCMake.ParseImplicitIncludeInfo to match output by regex
82948805ec Tests: Clarify hand-written cases in RunCMake.ParseImplicitIncludeInfo

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3204
2019-04-09 07:59:52 -04:00
Marc Chevrier
284429ac87 Merge topic 'genex_filter'
698f51abac Genex: Add $<FILTER:list,INCLUDE|EXCLUDE,regex>

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3188
2019-04-09 03:20:30 -04:00
Kitware Robot
d6488cb6b3 CMake Nightly Date Stamp 2019-04-09 00:01:09 -04:00
Sebastian Lipponer
698f51abac Genex: Add $<FILTER:list,INCLUDE|EXCLUDE,regex> 2019-04-08 19:57:22 +02:00
Brad King
4f07fdde26 Merge topic 'help_remove_duplicates'
32d7b0cc2c Help: Move entry to correct section in cmake-generator-expressions(7) manual
68b307caae Help: Add missing release notes for genex $<REMOVE_DUPLICATES:list>

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3200
2019-04-08 13:52:23 -04:00
Brad King
dff61585f3 Merge branch 'backport-cmake-gui-windows-theme' into release-3.14
Merge-request: !3205
2019-04-08 13:38:42 -04:00
mistersandman
18962f8f8f Utilities/Release: Link statically to QWindowsVistaStyle plugin
We now build with Qt 5.12.  This plugin is needed with Qt >= 5.10.

Fixes: #19147
Suggested-by: mistersandman on gitlab.kitware.com
2019-04-08 13:30:36 -04:00
Brad King
a53c3f03bc Merge branch 'backport-cmake-gui-windows-theme' 2019-04-08 13:30:26 -04:00
mistersandman
fce03306ee cmake-gui: Fix theme on Windows with Qt >= 5.10
In Qt 5.10 the theme support moved to a separate QWindowsVistaStyle
plugin.

Issue: #19147
2019-04-08 13:30:05 -04:00
Sebastian Lipponer
32d7b0cc2c Help: Move entry to correct section in cmake-generator-expressions(7) manual
The generator expression $<REMOVE_DUPLICATES:list> is string-valued, not
boolean-valued.
2019-04-08 19:19:29 +02:00
Sebastian Lipponer
68b307caae Help: Add missing release notes for genex $<REMOVE_DUPLICATES:list> 2019-04-08 19:19:29 +02:00
Brad King
30f68934e9 Merge branch 'backport-implicit-includes-relative' into release-3.14
Merge-request: !3204
2019-04-08 10:44:46 -04:00
Brad King
442f4c4902 Merge branch 'backport-implicit-includes-relative' 2019-04-08 10:16:47 -04:00
Brad King
ef41d49812 Fix implicit include directory extraction for adaptive relative paths
In some cases GCC reports *relative* implicit include directories.  They
are computed adaptively with respect to the current working directory
such that the effective implicit include directory is an unchanging
absolute path.  Teach our implicit include directory extraction to
recognize such paths and normalize them.

Fixes: #19133
2019-04-08 10:12:22 -04:00
Brad King
6bc6fc2a7f Tests: Teach RunCMake.ParseImplicitIncludeInfo to match output by regex 2019-04-08 10:12:22 -04:00
Brad King
82948805ec Tests: Clarify hand-written cases in RunCMake.ParseImplicitIncludeInfo 2019-04-08 10:11:54 -04:00
Bartosz Kosiorek
cb33befe2d Modules: Update documentation formatting 2019-04-08 14:55:56 +02:00
Bartosz Kosiorek
0e4fbb4a1f Help: Improve formatting of Help documentation 2019-04-08 14:53:31 +02:00
Brad King
7e60e77c3c Merge topic 'autogen_autorcc_no_libuv'
7b98a6eb68 Autogen: Rename cmQtAutoGeneratorRcc to cmQtAutoRcc
9710d4aacf Autogen: Move libuv loop from cmQtAutoGenerator to cmQtAutoGeneratorMocUic
95e72c0157 Autogen: Make cmQtAutoGenerator::FileSystem Logger free
f161cfe5a8 Autogen: Move Logger and FileSystem member variables to generator classes
7baec5e94b AutoRcc: Don't use cmQtAutoGenerator::FileSystem methods
191269d247 AutoRcc: Remove libuv event loop from cmQtAutoGeneratorRcc
95de172b68 AutoRcc: Make rcc parsing function private
521475b41b AutoRcc: Use cmQtAutoGen::RccLister in initializer and generator
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3202
2019-04-08 07:58:58 -04:00
Brad King
14270eab36 Merge topic 'genex-output_name'
1889ed923e Genex: Add capability to retrieve base name for various target artifacts
26b6d2aff0 Refactor struct TargetFileSystemArtifact

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3190
2019-04-08 07:52:58 -04:00
Marc Chevrier
1889ed923e Genex: Add capability to retrieve base name for various target artifacts
This new capability is required to solve efficiently issue #18771
2019-04-08 07:49:08 -04:00
Marc Chevrier
26b6d2aff0 Refactor struct TargetFileSystemArtifact
Creates base class TargetArtifactBase which enable to share code with
future new functionalities.
2019-04-08 07:48:20 -04:00
Brad King
c756fbce9b Merge topic 'ghs_os_dir'
a1e6b414b9 GHS: Update GHS_BSP_NAME processing
266dadf868 GHS: Print status message regarding GHS_OS_DIR

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3123
2019-04-08 07:45:13 -04:00
Brad King
99ce35ab9c Merge topic 'tidy-fixes'
c1d1027ac1 Enabled performance-inefficient-vector-operation check in clang-tidy

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3185
2019-04-08 07:44:10 -04:00
Brad King
658efb4c1a Merge topic 'modernize-raw-string-literal'
0090907e86 tidy: Fix modernize-raw-string-literal in FreeBSD CPack generator

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3198
2019-04-08 07:42:56 -04:00
Kitware Robot
52aa682284 CMake Nightly Date Stamp 2019-04-08 00:01:07 -04:00
Kitware Robot
2f01090d81 CMake Nightly Date Stamp 2019-04-07 00:01:07 -04:00
Sebastian Holtermann
7b98a6eb68 Autogen: Rename cmQtAutoGeneratorRcc to cmQtAutoRcc
The class name `cmQtAutoGeneratorRcc` is long and cumbersome.  This shortens
it to `cmQtAutoRcc`.
2019-04-06 17:37:12 +02:00
Sebastian Holtermann
9710d4aacf Autogen: Move libuv loop from cmQtAutoGenerator to cmQtAutoGeneratorMocUic
`cmQtAutoGenerator` automatically started a libuv loop in the constructor.
The loop is needed in `cmQtAutoGeneratorMocUic`, but not in
`cmQtAutoGeneratorRcc` (anymore).  To avoid starting the loop in
`cmQtAutoGeneratorRcc`, this patch moves the loop variables and startup code
from `cmQtAutoGenerator` to `cmQtAutoGeneratorMocUic`.
2019-04-06 17:37:12 +02:00
Sebastian Holtermann
95e72c0157 Autogen: Make cmQtAutoGenerator::FileSystem Logger free
`cmQtAutoGenerator::FileSystem` used to have a reference to a
`cmQtAutoGenerator::Logger` instances.  This was used for utility methods
that automatically generated an error message on demand.  Unfortunately this
resulted in double error messages in some places.  To fix these and with
the additional purpose of removing the dependency of
`cmQtAutoGenerator::FileSystem` to `cmQtAutoGenerator::Logger`, this patch
removes the `Logger` reference in `cmQtAutoGenerator::FileSystem`.
In the process some silent error conditions gained error messages and
some existing error messages were extended.
2019-04-06 17:37:12 +02:00
Sebastian Holtermann
f161cfe5a8 Autogen: Move Logger and FileSystem member variables to generator classes
`cmQtAutoGenerator` automatically added `cmQtAutoGenerator::Logger` and
`cmQtAutoGenerator::FileSystem` member variables to all inherited classes.
This patch moves these members variable declarations to the inherited classes,
where needed.
2019-04-06 17:37:12 +02:00
Sebastian Holtermann
7baec5e94b AutoRcc: Don't use cmQtAutoGenerator::FileSystem methods
`cmQtAutoGenerator::FileSystem` is only required for concurrent file system
access, but `cmQtAutoGeneratorRcc` isn't concurrent.  Therefore this patch
replaces all `cmQtAutoGenerator::FileSystem` uses in `cmQtAutoGeneratorRcc`.
2019-04-06 17:37:08 +02:00
Sebastian Holtermann
191269d247 AutoRcc: Remove libuv event loop from cmQtAutoGeneratorRcc
Using a libuv event loop in AUTORCC is unnecessary and over complicated.
This patch removes the loop and makes `cmQtAutoGeneratorRcc::Process` a
regular serial processing method.
2019-04-06 16:38:40 +02:00
Sebastian Holtermann
95de172b68 AutoRcc: Make rcc parsing function private
The `.qrc` parsing functions in `cmQtAutoGen` are no longer needed outside
the private implementation of `cmQtAutoGen::RccLister`.  This makes them
private, too.
2019-04-06 16:17:40 +02:00