Commit Graph

6752 Commits

Author SHA1 Message Date
Daniel Eiband
fd3a394614 add_custom_command: Format files in error message in a single line 2019-09-23 23:39:07 +02:00
Daniel Eiband
a1cc6b4447 add_custom_target: Add output checks for custom target byproducts
Use the output checks for byproducts of add_custom_command also for byproducts
of add_custom_target.
2019-09-23 22:18:36 +02:00
Daniel Eiband
cbb861ade8 add_custom_command: Add tests for custom command output checks 2019-09-23 22:15:31 +02:00
Brad King
ebb9346490 Merge topic 'cmake-system-headers'
4a08690ccf cmstd: Extend header <cm/iterator>
c688b401d3 cmstd: Modernize CMake system headers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3776
2019-09-20 10:38:43 -04:00
Brad King
541e681da2 Merge topic 'split-custom-command-creation'
0e1faa28cb cmMakefile: Separate custom command setup from actual creation
56c204e8eb cmMakefile: Refactor AddCustomCommandOldStyle to be delay friendly
3061dc6ac9 add_custom_command: Add tests for rejecting literal quotes in commands
e893ab94ba cmMakefile: Validate command line for all custom commands
f1e846fdde cmMakefile: Extract custom command validation method
4926ab2454 cmMakefile: Create all generated byproducts as known sources

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3822
2019-09-20 10:24:32 -04:00
Brad King
4ade1b00c5 Merge topic 'fileapiLinkPathAndLinkDirBacktraces'
4d6334824d fileapi: add backtraces for LINK_PATH and LINK_DIRECTORIES
5bd65dff7a cmLocalGenerator: Add OutputLinkLibraries overload with backtraces
5d39e792ae cmGeneratorTarget: Store backtrace for target LINK_DIRECTORIES property
7da17ef797 cmLinkLineComputer: Add ComputeLinkLibraries overload with backtraces
d4d0dd0f6a cmLinkLineComputer: Add ComputeLinkLibs overload with backtraces
0ac9dcb807 cmLinkLineComputer: Add ComputeLinkPath overload with backtraces
0c6468178a cmComputeLinkInformation: Add GetDirectoriesWithBacktraces
a209b31d0d cmComputeLinkInformation: Add AppendValues with backtraces

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3805
2019-09-20 10:22:01 -04:00
Brad King
7cf36407be Merge topic 'update-kwsys'
c578caa68b Tests: Decouple Plugin test from KWSys
56879273dc Merge branch 'upstream-KWSys' into update-kwsys
3327c0402a KWSys 2019-09-18 (c6bc38c1)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3828
2019-09-20 10:12:56 -04:00
Marc Chevrier
c688b401d3 cmstd: Modernize CMake system headers
Provide a standardized way to handle the C++ "standard" headers
customized to be used with current CMake C++ standard constraints.
Offer under directory `cm` headers which can be used as direct
replacements of the standard ones.  For example:

    #include <cm/string_view>

can be used safely for CMake development in place of the `<string_view>`
standard header.

Fixes: #19491
2019-09-20 10:01:37 -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
c578caa68b Tests: Decouple Plugin test from KWSys
KWSys now requires C++11 but we want this test to be able to run as
C++98.  Copy the KWSys DynamicLoader implementation (with original
notice headers and license reference) and update it to work alone.
2019-09-19 10:42:51 -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
Justin Goshi
4d6334824d fileapi: add backtraces for LINK_PATH and LINK_DIRECTORIES 2019-09-18 14:00: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
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
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
Daniel Eiband
3061dc6ac9 add_custom_command: Add tests for rejecting literal quotes in commands 2019-09-17 22:52:32 +02: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
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
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
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
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
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
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
Sebastian Lipponer
c16641607f add_custom_command: Delay slash conversion until after genex evaluation
Generator expressions may contain or produce backslashes.

Fixes: #19553
2019-09-13 10:56:26 -04:00
Daniel Eiband
482d858500 Depend: Add test for target-level dependencies via byproducts
Add test for target-level dependency of custom target to POST_BUILD event via
byproduct.  Remove explicit dependencies in test which are no longe required
due to introduced dependencies on build events via byproducts.

Issue: #19005
2019-09-12 16:03:12 +02:00
Brad King
1a1508c8b8 Merge topic 'modernize-use-auto'
d25a5a7ec9 clang-tidy: modernize-use-auto

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3783
2019-09-12 09:15:38 -04:00
Brad King
46629d6a49 Merge topic 'fileapiAddMoreBacktraces'
30006e199b fileapi: add backtraces for compile/link options
291c83f063 cmLocalGenerator: Add GetTargetCompileFlags overload with backtraces
8e973b8e8d cmLocalGenerator: Add GetTargetFlags overload with backtraces
4d5bbb7704 cmLocalGenerator: Add GetStaticLibraryFlags overload with backtraces
1f6a436bf4 cmLocalGenerator: Add AddCompileOptions overload with backtraces
5355a60fd0 cmLocalGenerator: Add AppendCompileOptions overload with backtraces
a20d2c85d0 cmLocalGenerator: Add AppendFlags overload with backtraces
b13207910e cmLocalGenerator: Clarify AddCompileOptions filter logic
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3775
2019-09-11 11:38:58 -04:00
Regina Pfeifer
d25a5a7ec9 clang-tidy: modernize-use-auto
Set the MinTypeNameLength option to an impossibly high value in order
to limit the diagnostics to iterators.  Leave new expressions and cast
expressions for later.
2019-09-10 22:21:41 +02:00
Brad King
bbf48c494a Merge topic 'windows-auto-export-incremental-build'
ff5028c531 Windows: Prevent auto exports to be regenerated on every build

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3750
2019-09-10 10:54:55 -04:00
Justin Goshi
30006e199b fileapi: add backtraces for compile/link options 2019-09-10 10:45:41 -04:00
Brad King
8588cdf3a0 clang-tidy: Fix bugprone-exception-escape diagnostic in test code 2019-09-09 13:51:23 -04:00
Daniel Eiband
ff5028c531 Windows: Prevent auto exports to be regenerated on every build
Check modified time stamps of input files against an existing exports file
before generating the auto exports.

Fixes: #19650
2019-09-09 15:43:15 +02:00
Brad King
922482dd3a Merge topic 'cuda_resolve_device_symbols_on_static_lib_collect_deps_properly'
2d7bb13da7 CUDA: static lib device linking computes required static libs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3748
2019-09-09 09:41:32 -04:00
Craig Scott
a2d4968ab9 Merge topic 'doxygen-add-docs-USE_STAMP_FILE'
611eb26b9d FindDoxygen: add USE_STAMP_FILE option

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3238
2019-09-05 20:03:55 -04:00
Nikita Sirgienko
611eb26b9d FindDoxygen: add USE_STAMP_FILE option
The new option enables the behavior of only building if sources change.
2019-09-06 09:12:09 +10:00
Robert Maynard
2d7bb13da7 CUDA: static lib device linking computes required static libs
Previously the CMake didn't compute the required set of libraries
needed to properly device link a static library when
CUDA_RESOLVE_DEVICE_SYMBOLS was enabled.
2019-09-05 10:51:02 -04:00
Brad King
ac4d6d4a9d Merge topic 'unity-build'
7786a05c70 Unity build: Add XCode support
1353802af3 Unity build: Add unit tests
8dfeb5d278 Unity build: Add support for Visual Studio generator
7114c141e2 Unity build: Add support for Ninja and Makefile generators

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Stanislav Ershov <digital.stream.of.mind@gmail.com>
Acked-by: Evgeniy Dushistov <dushistov@mail.ru>
Acked-by: Viktor Kirilov <vik.kirilov@gmail.com>
Merge-request: !3611
2019-09-05 08:36:06 -04:00
Brad King
09032f09f8 Merge topic 'pch-fix-vs-test'
383bf3b5e7 Precompile Headers: Fix Visual Studio 10 unit test

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3770
2019-09-04 08:53:59 -04:00
Brad King
7b50b05aa9 Merge topic 'tidy-use-using'
62e5f72289 clang-tidy: Replace typedef with using

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3731
2019-09-04 08:52:45 -04:00
Brad King
fb9da8e6f4 Ninja: Pass preprocessor definitions when compiling with Intel Fortran
The Intel Fortran compiler supports an extension that allows conditional
compilation based on preprocessor definitions specified on the command
line even when not preprocessing.

Fixes: #19664
2019-09-03 14:20:26 -04:00
Regina Pfeifer
62e5f72289 clang-tidy: Replace typedef with using 2019-09-03 13:21:26 -04:00
Brad King
de0a2354fc IWYU: Add missing cstddef includes for size_t and nullptr_t
The IWYU tool we use for CI now diagnoses these.
2019-09-03 11:46:52 -04:00
Cristian Adam
383bf3b5e7 Precompile Headers: Fix Visual Studio 10 unit test
The unit test is more roboust, problems like c: vs C:
or having relative paths of cmake_pch.cxx instead of absolute
paths.
2019-09-03 15:50:42 +02:00
Brad King
72b7629956 Merge topic 'FindPython-specify-artifacts-directly'
06d9e67fbd FindPython: Add capability to specify directly artifacts
cea2010b5c FindPython: Enhance python cache variables management.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3690
2019-09-03 09:49:00 -04:00
Brad King
aa3465fcd2 Merge topic 'xcode11-bundles'
e29a92f525 Xcode: Make BundleTests compatible with Xcode 11

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3767
2019-09-03 09:43:32 -04:00
Brad King
4684e64c84 Merge topic 'clang-ipo-support'
dca9c33abc Tests: Remove old IPO test
c856d4556b bindexplib: supporting llvm bitcode formats using llvm-nm
079b8e2916 Clang: prefer lld-link over link.exe
6e3655db2c Clang: add LTO support for GNU-command line clang on windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3527
2019-09-03 09:39:03 -04:00
Brad King
cee20ad537 Merge topic 'vs-cuda-custom-dir'
25f29b9741 cuda: Adapted tests to work with modified cuda toolset
ee86770a3f cuda: Added docs for extended cuda toolset
0ad180d712 cuda: Extend cuda compiler detection to work with custom cuda path
55b0532128 cuda: Extend vs10 target generator to use custom cuda path
df0247a371 cuda: Extend toolset argument to accept path

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