Commit Graph

45056 Commits

Author SHA1 Message Date
Regina Pfeifer
0aa8a2ab8b cmCTest*Command: Port to cmArgumentParser 2019-09-20 13:27:30 +02:00
Regina Pfeifer
d5a6a13368 cmArgumentParser: Record parsed keywords 2019-09-20 13:27:30 +02:00
Kitware Robot
75b2c9717c CMake Nightly Date Stamp 2019-09-20 00:01:06 -04:00
Brad King
9c31d83aa2 Merge topic 'autogen_path_prefix'
cc0900d9cd Help: Add release notes for AUTOMOC_PATH_PREFIX
692d8e3492 Help: Add documentation for AUTOMOC_PATH_PREFIX
1933ade9f1 Tests: At QtAutogen.MocIncludeSymlink test
706d9738a6 Tests: Merge QtAutogen.MocIncludeStrict and MocIncludeRelaxed
d018d27c10 Autogen: Add moc path prefix generation (AUTOMOC_PATH_PREFIX)
77983c8147 Autogen: Add IsHeader flag to SourceFileT class
f9e5441eb4 Autogen: Abbreviate file paths in messages
51676cf655 Autogen: Split JobEvalCacheT job into separate moc and uic jobs
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3818
2019-09-19 11:19:52 -04:00
Brad King
e199294673 Merge topic 'refactor-string-concat'
9dba84cfa5 Refactor: Use cmStrCat to construct error strings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3734
2019-09-19 11:10:40 -04:00
Brad King
cca5897318 Merge topic 'CMakeFindBinUtils-install_name_tool-prefix'
13a7c858c8 Use _CMAKE_TOOLCHAIN_PREFIX for install_name_tool as well

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3830
2019-09-19 09:34:23 -04:00
Brad King
98d53ba1d6 Merge topic 'FindGnuTLS-target'
44e8b8f1f2 FindGnuTLS: add target GnuTLS::GnuTLS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3825
2019-09-19 09:32:02 -04:00
Kitware Robot
0772d15c2c CMake Nightly Date Stamp 2019-09-19 00:01:06 -04:00
Asit Dhal
9dba84cfa5 Refactor: Use cmStrCat to construct error strings
Replace string construction using std::stringstream with cmStrCat and
cmWrap.
2019-09-18 14:18:46 -04:00
Isuru Fernando
13a7c858c8 Use _CMAKE_TOOLCHAIN_PREFIX for install_name_tool as well 2019-09-18 12:05:39 -04:00
David Callu
44e8b8f1f2 FindGnuTLS: add target GnuTLS::GnuTLS
Also add a test case for the module.
2019-09-18 12:03:53 -04:00
Brad King
1423507a71 Merge topic 'command-line-make-functions'
9c45b95ddd cmMakefile: Remove unused AddUtilityCommand overload
7f3ecbe7d7 cmCustomCommandLine: Provide command line make functions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3819
2019-09-18 11:52:14 -04:00
Sebastian Holtermann
cc0900d9cd Help: Add release notes for AUTOMOC_PATH_PREFIX 2019-09-18 11:48:23 -04:00
Sebastian Holtermann
692d8e3492 Help: Add documentation for AUTOMOC_PATH_PREFIX 2019-09-18 11:48:23 -04:00
Sebastian Holtermann
1933ade9f1 Tests: At QtAutogen.MocIncludeSymlink test 2019-09-18 11:48:23 -04:00
Sebastian Holtermann
706d9738a6 Tests: Merge QtAutogen.MocIncludeStrict and MocIncludeRelaxed 2019-09-18 11:48:10 -04:00
Kyle Edwards
01cce69870 Merge topic 'smart_ptr/cmCPackGeneratorFactory'
c9c1eb99fe cmCPackGeneratorFactory: rule of zero

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3826
2019-09-18 11:36:03 -04:00
Brad King
a981a9a745 Merge topic 'shared-pch'
729d997f10 Precompile Headers: Add REUSE_FROM signature

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Rickard Englund <rickard@r-englund.com>
Acked-by: Viktor Kirilov <vik.kirilov@gmail.com>
Merge-request: !3762
2019-09-18 11:34:00 -04:00
Kitware Robot
45b7d5284e CMake Nightly Date Stamp 2019-09-18 00:01:07 -04:00
Tushar Maheshwari
c9c1eb99fe cmCPackGeneratorFactory: rule of zero 2019-09-17 13:05:26 -04:00
Brad King
e6ddb57479 Merge topic 'byproduct-collapse-full-path'
3b409643bd Byproducts: Add test for collapsing of full paths in byproducts
445ff5ccdf Byproducts: collapse full paths of custom target byproducts

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3804
2019-09-17 11:12:08 -04:00
Brad King
14fb0f3967 Merge topic 'smart_ptr/cmSourceFile'
8c83f39a90 cmSourceFile: use unique_ptr for CustomCommand

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kyle Edwards <kyle.edwards@kitware.com>
Merge-request: !3815
2019-09-17 11:11:06 -04:00
Brad King
e82e4b0341 Merge topic 'iar-v850'
bd5006e813 IAR: Add v850 support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3821
2019-09-17 11:09:56 -04:00
Brad King
42a20ef79b Merge topic 'allow-pkg-config-missing-libraries'
28cb86d796 FindPkgConfig: Allow libraries that can't be found with their full path

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Rolf Eike Beer <eike@sf-mail.de>
Merge-request: !3781
2019-09-17 11:08:43 -04:00
Brad King
35b580d603 Merge topic 'remove-failing-modules-test'
0301a76bb4 FindEnvMod: Remove unreliable test case

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3823
2019-09-17 11:07:08 -04:00
Cristian Adam
729d997f10 Precompile Headers: Add REUSE_FROM signature
Add the ability to share precompiled headers artifacts between
targets.

Fixes: #19659
2019-09-17 11:58:38 +02:00
Kitware Robot
3bc1feae5f CMake Nightly Date Stamp 2019-09-17 00:01:08 -04:00
Daniel Eiband
9c45b95ddd cmMakefile: Remove unused AddUtilityCommand overload 2019-09-16 20:45:56 +02:00
Daniel Eiband
7f3ecbe7d7 cmCustomCommandLine: Provide command line make functions
Reduce boilerplate necessary to create custom command lines by introducing and
applying cmMakeCommandLine and cmMakeSingleCommandLine functions.
2019-09-16 20:45:41 +02:00
Chuck Atkins
0301a76bb4 FindEnvMod: Remove unreliable test case
There's no way to know that loading an arbitrary module doesn't pull in
extra dependent modules so the test case asserting that exactly one module
was loaded isn't valid.
2019-09-16 13:10:40 -04:00
Chuck Atkins
28cb86d796 FindPkgConfig: Allow libraries that can't be found with their full path
pkg-config's .pc files can sometimes provide libraries that are visible to
the linker but not present in CMake's known search paths.  In the case
where CMake can find some, but not all of the library dependencies
provided in a .pc file, this allows them to be passed through as "-lfoo"
when the full path can't be found.

This also removes the test failure cases that occured because of this
scenario and adjsuts the remaining tests to account for not-found
libraries
2019-09-16 13:02:08 -04:00
Sebastian Holtermann
d018d27c10 Autogen: Add moc path prefix generation (AUTOMOC_PATH_PREFIX)
The new `AUTOMOC_PATH_PREFIX` boolean target property enables automatic
generation of the path prefix `-p` option for `moc`.
`AUTOMOC_PATH_PREFIX` is initialized from the variable
`CMAKE_AUTOMOC_PATH_PREFIX`, which is ON by default.

When `AUTOMOC_PATH_PREFIX` is enabled, CMake tests if a `moc`ed header file is
in one of the include directories.  If so, then the `-p` option, with the
relative path of the header parent directory to the respective include
directory, is added to the `moc` command.  If the header file is not in an
include directory, the `-p` option is omitted.

Closes: #18815 "AUTOMOC: generated files include full relative path,
                breaking certain reproducible builds"
2019-09-16 18:18:48 +02:00
Sebastian Holtermann
77983c8147 Autogen: Add IsHeader flag to SourceFileT class 2019-09-16 18:18:48 +02:00
Sebastian Holtermann
f9e5441eb4 Autogen: Abbreviate file paths in messages
This introduces the `cmQtAutoGenerator::MessagePath` method, that abbreviates
paths by placing a
 - "SRC:" prefix in place of the project source directory
 - "BIN:" prefix in place of the project binary directory

The method is used in `AUTO{MOC,UIC,RCC}` when paths are displayed in
messages.  This makes the messages generated by `AUTO{MOC,UIC,RCC}` shorter
and improves their readability.
2019-09-16 18:18:48 +02:00
Sebastian Holtermann
51676cf655 Autogen: Split JobEvalCacheT job into separate moc and uic jobs
This splits the `JobEvalCacheT` job into separate `JobEvalCacheMocT` and
`JobEvalCacheUicT` classes, that run concurrently.
The `JobEvalCache*T::FindIncluded*` methods are overhauled to store probed
directoriy names only if probing fails.  Warning messages are refactored
to show the file name and the probed directories instead of all probed file
paths.  This is easier to read.
2019-09-16 18:18:48 +02:00
Sebastian Holtermann
1a3f185c1a Autogen: Split JobProbeDepsT job into separate moc and uic jobs
By splitting `JobProbeDepsT` into two independent `JobProbeDepsMocT`,
`JobProbeDepsUicT`, the moc and uic job generation will happen concurrently.
This should improve the execution speed, when both AUTOMOC and AUTOUIC are
enabled.

Parent directory names for moc and uic output files are are collected in
a `std::unordered_set<std::string>` and get created in a batch.
Beforehand we tried to create the parent directory for each output file.
This led to duplications of `MakeDirectory` calls when there were multiple
output files in the same directory (which is the case usually).
2019-09-16 18:18:48 +02:00
Sebastian Holtermann
726ea1d151 Autogen: Rename job classes 2019-09-16 18:18:48 +02:00
Sebastian Holtermann
05126d23f6 Autogen: Remove CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE sort duplication
This removes code that sorts include directories for `AUTOMOC` according to
`CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE`.  This is possible because the
included directories passed to `AUTOMOC` are already sorted, also with
respect to `CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE`.
2019-09-16 18:18:48 +02:00
Sebastian Holtermann
f54c5ee521 Autogen: Use CollapseFullPath instead of RealPath to support symbolic links 2019-09-16 18:18:48 +02:00
Sebastian Holtermann
65c49e0e26 Autogen: Sanitize include and search directories 2019-09-16 18:18:48 +02:00
Sebastian Holtermann
dad1a6b3fb Autogen: Modernize by using an unnamed namespace instead of static functions 2019-09-16 18:18:48 +02:00
Sebastian Holtermann
8209691146 Autogen: Compute and store generator pointers once in initializer constructor 2019-09-16 18:18:44 +02:00
Nico Mueller
bd5006e813 IAR: Add v850 support
Add compiler identification for V850.

Issue: #17264
2019-09-16 11:07:04 -04:00
Brad King
1ac4e0ef1b Merge topic 'tidy-deprecated-headers'
f30523d090 clang-tidy: modernize-deprecated-headers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3792
2019-09-16 10:25:53 -04:00
Brad King
7c47894b45 Merge topic 'prepare-deferred-custom-command-creation'
5d28e361b7 add_custom_command: Move append functionality into class cmMakefile
4fb29850ad add_custom_command: Refactor setting implicit depends

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3810
2019-09-16 10:18:51 -04:00
Brad King
1df2f8803b Merge topic 'add_custom_command-genex-slash'
c16641607f add_custom_command: Delay slash conversion until after genex evaluation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3791
2019-09-16 10:17:22 -04:00
Brad King
3358871483 Merge topic 'remove-unused-class'
7bf8eb7877 Remove unused cmInstallExportAndroidMKGenerator

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3812
2019-09-16 10:15:37 -04:00
Regina Pfeifer
f30523d090 clang-tidy: modernize-deprecated-headers 2019-09-16 10:11:13 -04:00
Daniel Eiband
3b409643bd Byproducts: Add test for collapsing of full paths in byproducts
Add test for collapsing of full paths in byproducts and additional tests for
the GENERATED source file properties set by add_custom_command and
add_custom_target with relative paths.
2019-09-16 10:24:24 +02:00
Kitware Robot
bfa2eaa617 CMake Nightly Date Stamp 2019-09-16 00:01:06 -04:00