Commit Graph

44972 Commits

Author SHA1 Message Date
Daniel Eiband f6574c9a81 Depend: Hook up automatic target-level dependencies via byproducts
Target-level dependencies to utility targets are added from another target if
the other target requires a byproduct of the utility target or if it requires a
byproduct of PRE_BUILD, PRE_LINK, or POST_BUILD build events of a target.

Issue: #19005
2019-09-12 16:03:12 +02:00
Daniel Eiband 2edb0b71ed cmMakefile: Add lookup from source name to targets via byproducts
Given an output source name it is now possible to query which target has a
byproduct of this name or has a PRE_BUILD, PRE_LINK, or POST_BUILD build event
with a byproduct of this name.

In a call to GetSourceFileWithOutput a matching byproduct can now optionally be
returned as fallback if there is no matching output of a custom command.

Default behavior is not changed by this commit.
2019-09-12 16:01:45 +02:00
Daniel Eiband 62d5932389 Refatoring: Extract AnyOutputMatches utility 2019-09-12 15:49:55 +02:00
Brad King 9602bcfc62 Merge topic 'compile-msvc-permissive-off'
a3cfb66543 Add compatibility with the cl.exe /permissive- compiler option

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3803
2019-09-12 09:16:56 -04: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 d83bff8640 Merge topic 'free-find-commands'
8a18bb7cdf cmFind*: Port away from cmCommand

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3800
2019-09-12 09:14:48 -04:00
Kitware Robot 5bdff30484 CMake Nightly Date Stamp 2019-09-12 00:01:06 -04:00
Brad King b5b10c8e95 Merge topic 'ctest-no-cmcommand'
cd7d736278 cmCTestTestHandler: Port away from cmCommand

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3795
2019-09-11 11:40:11 -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
Alexej Harm a3cfb66543 Add compatibility with the cl.exe /permissive- compiler option 2019-09-11 15:26:20 +02:00
Kitware Robot 7f46e4a73a CMake Nightly Date Stamp 2019-09-11 00:01:05 -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
Regina Pfeifer 8a18bb7cdf cmFind*: Port away from cmCommand 2019-09-10 22:13:11 +02:00
Brad King 95d4a2d055 Merge topic 'move-setting-GENERATE-upfront'
7569239362 cmMakefile: set GENERATED property of outputs upfront

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3789
2019-09-10 10:59:39 -04:00
Brad King 054d626c9c Merge topic 'MoveIfDifferent'
5b96fd5b81 use cmSystemTools::MoveFileIfDifferent()
5eaf1e1be2 cmSystemTools: introduce MoveFileIfDifferent()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3794
2019-09-10 10:58:53 -04: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
Justin Goshi 291c83f063 cmLocalGenerator: Add GetTargetCompileFlags overload with backtraces 2019-09-10 10:45:41 -04:00
Justin Goshi 8e973b8e8d cmLocalGenerator: Add GetTargetFlags overload with backtraces 2019-09-10 10:45:41 -04:00
Justin Goshi 4d5bbb7704 cmLocalGenerator: Add GetStaticLibraryFlags overload with backtraces 2019-09-10 10:45:41 -04:00
Justin Goshi 1f6a436bf4 cmLocalGenerator: Add AddCompileOptions overload with backtraces 2019-09-10 10:45:41 -04:00
Justin Goshi 5355a60fd0 cmLocalGenerator: Add AppendCompileOptions overload with backtraces 2019-09-10 10:45:41 -04:00
Brad King 05d5c66ff8 Merge topic 'tidy-return-brace'
d63c1e4e6e clang-tidy: modernize-return-braced-init-list

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3790
2019-09-10 10:27:44 -04:00
Brad King 1c2c541b0c Merge topic 'clang-tidy-8-macOS'
8588cdf3a0 clang-tidy: Fix bugprone-exception-escape diagnostic in test code
f1f57cffc7 clang-tidy: Fix performance-for-range-copy diagnostic in Xcode generator
175d8c4bf6 clang-tidy: Resolve performance-unnecessary-value-param diagnostics
7c5ec91301 cmGeneratedFileStreamBase: Optimize string construction in Close

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3796
2019-09-10 10:26:55 -04:00
Brad King b31aa0285c Merge topic 'clang-tidy-8'
2528b70293 clang-tidy: Remove old entries from blacklist

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3787
2019-09-10 10:25:40 -04:00
Brad King c2ead49451 Merge topic 'local-var'
4d71bea02c cmLocalGenerator::AddConfigVariableFlags: optimize string construction

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3793
2019-09-10 10:02:00 -04:00
Kitware Robot f9a014e2c8 CMake Nightly Date Stamp 2019-09-10 00:01:05 -04:00
Brad King 8588cdf3a0 clang-tidy: Fix bugprone-exception-escape diagnostic in test code 2019-09-09 13:51:23 -04:00
Brad King f1f57cffc7 clang-tidy: Fix performance-for-range-copy diagnostic in Xcode generator
Fix diagnostics that appear on macOS with clang-tidy-8.
2019-09-09 13:51:23 -04:00
Brad King 175d8c4bf6 clang-tidy: Resolve performance-unnecessary-value-param diagnostics
Fix diagnostics that appear on macOS with clang-tidy-8.  Suppress cases
where we intentionally take an argument by value to let the caller
choose whether to copy or move.
2019-09-09 13:51:23 -04:00
Brad King 7c5ec91301 cmGeneratedFileStreamBase: Optimize string construction in Close
Use cmStrCat to concatenate two parts of a file name.

This also avoids a bugprone-exception-escape diagnostic from
clang-tidy-8 on macOS.
2019-09-09 13:51:23 -04:00
Regina Pfeifer cd7d736278 cmCTestTestHandler: Port away from cmCommand 2019-09-09 16:32:05 +02:00
Justin Goshi a20d2c85d0 cmLocalGenerator: Add AppendFlags overload with backtraces 2019-09-09 09:43:34 -04:00
Justin Goshi b13207910e cmLocalGenerator: Clarify AddCompileOptions filter logic 2019-09-09 09:43:34 -04:00
Justin Goshi ca7b90dcf2 cmLocalGenerator: Use local variables to collect flags 2019-09-09 09:43:34 -04:00
Justin Goshi eac8700c78 cmLocalGenerator: Improve local variable names 2019-09-09 09:43:34 -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
Rolf Eike Beer 5b96fd5b81 use cmSystemTools::MoveFileIfDifferent()
This is better than doing CopyFileIfDifferent() followed by RemoveFile() in
two ways:

 - it is more efficient, as it avoids disk I/O for the data, even if the
   files here are usually small
 - it is atomic, so an abort during the copy will not leave a destination file
   with partial data behind
2019-09-09 10:34:08 +02:00
Rolf Eike Beer 5eaf1e1be2 cmSystemTools: introduce MoveFileIfDifferent() 2019-09-09 10:30:25 +02:00
Rolf Eike Beer 4d71bea02c cmLocalGenerator::AddConfigVariableFlags: optimize string construction 2019-09-09 08:15:32 +02:00
Kitware Robot d803d6b59f CMake Nightly Date Stamp 2019-09-09 00:01:04 -04:00
Kitware Robot c52a354244 CMake Nightly Date Stamp 2019-09-08 00:01:20 -04:00
Kitware Robot 9aecf2e840 CMake Nightly Date Stamp 2019-09-07 00:01:06 -04:00
Regina Pfeifer d63c1e4e6e clang-tidy: modernize-return-braced-init-list 2019-09-06 22:27:39 +02:00
Daniel Eiband 7569239362 cmMakefile: set GENERATED property of outputs upfront
Setting the GENERATED property of outputs upfront is a precondition for delayed
custom command creation (generator expressions in outputs).

Issue: 12877
2019-09-06 22:22:22 +02:00
Regina Pfeifer 2528b70293 clang-tidy: Remove old entries from blacklist
Now that clang-tidy-8 is used, we can remove the checks that have been
renamed.  Also enable a return-braced-init-list, because we don't have
any violations for that one.
2019-09-06 21:24:18 +02:00
Brad King ca8c3d64c8 Merge topic 'use-using'
1d3f5ebb0d clang-tidy: Enable check modernize-use-using
a1ddf2d0ba clang-tidy: Replace typedef with using

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3782
2019-09-06 12:38:04 -04:00
Brad King 45e90f62dd Merge topic 'simplify-AppendFlags'
5acf0de1fe cmLocalGenerator: Remove AppendFlags 'const char*' overload

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3786
2019-09-06 12:35:49 -04:00
Brad King 32c9ab8a1b Merge topic 'iwyu-freebsd-pkg'
0d06cc457c CPack/FreeBSD: Cleanup include-what-you-use diagnostics

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3785
2019-09-06 12:35:00 -04:00