Commit Graph

27558 Commits

Author SHA1 Message Date
Brad King
a29b8d285e Merge topic 'fix-vsmacro-access-violation'
7847fef510 VS: Fix access violation when calling Visual Studio macro

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3853
2019-09-26 09:49:56 -04:00
Brad King
df982c4e18 Merge topic 'add-custom-target-byproduct-checks'
fd3a394614 add_custom_command: Format files in error message in a single line
a1cc6b4447 add_custom_target: Add output checks for custom target byproducts
cbb861ade8 add_custom_command: Add tests for custom command output checks

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3850
2019-09-26 09:47:51 -04:00
Kyle Edwards
67e6b55c58 Merge topic 'ctest-argument-parser'
0aa8a2ab8b cmCTest*Command: Port to cmArgumentParser
d5a6a13368 cmArgumentParser: Record parsed keywords

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3835
2019-09-26 09:22:13 -04:00
Brad King
76ae4c5839 Merge topic 'vs-16.4-custom-commands'
0578239d3a VS: Tell VS 16.4 not to verify SYMBOLIC custom command outputs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3860
2019-09-25 12:39:14 -04:00
Kitware Robot
a6b3791814 CMake Nightly Date Stamp 2019-09-25 00:01:07 -04:00
Daniel Eiband
7847fef510 VS: Fix access violation when calling Visual Studio macro
Fixes: #19730
2019-09-24 17:44:28 +02:00
Brad King
0578239d3a VS: Tell VS 16.4 not to verify SYMBOLIC custom command outputs
VS 16.4 introduces an additional check on `CustomBuild` rules that warns
if the outputs of the command are not created.  However, CMake supports
marking outputs with the `SYMBOLIC` property to indicate that they will
not actually be generated.  That property is used by Makefile and Ninja
generators but has not been needed by the VS generators before.  Teach
the VS generator to disable `VerifyInputsAndOutputsExist` in custom
build rules that have a symbolic output.

Fixes: #19737
2019-09-24 10:41:20 -04:00
Brad King
dcc117b944 Merge topic 'pch-relative-includes'
acb9511044 Precompile headers: Treat headers as relative to current source directory

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3840
2019-09-24 10:34:38 -04:00
Brad King
908fc3605b Merge topic 'add-genex-evaluate-utility'
7dcf9cb83c cmGeneratorExpression: Add cmGeneratorExpression::Evaluate utility
c7c59dae82 cmCustomCommandGenerator: Replace generator expression member
c12222db86 cmGeneratorExpression: Remove Evaluate overload by parameter re-ordering
1811411fec cmGeneratorExpression: Move quiet flag to cmCompiledGeneratorExpression
edb0bbd18b cmGeneratorTarget: Remove unused virtual signature of TargetPropertyEntry

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3852
2019-09-24 10:33:41 -04:00
Brad King
13c7a16cde Merge topic 'miscellaneous-refactorings'
f4afcd5c6b VS: Remove call to ConvertToWindowsExtendedPath with result discarded
61fdf326d8 cmState: Avoid lowering command name twice
0965bd9c06 Generators: Remove function declarations which do not have a definition

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3847
2019-09-24 10:32:43 -04:00
Brad King
a6093ed18d Merge topic 'update-cached-is-generated-property'
8456f60dbc cmSourceFile: Remove non-const GetProperties accessor

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3848
2019-09-24 10:31:27 -04:00
Brad King
c4afe766f7 Merge topic 'free-free-set-them-free'
920f0dd83a cmInstallCommand: Port away from cmCommand
1dd31297ca cmTargetLinkLibrariesCommand: Port away from cmCommand
d5c63f073f cmSourceGroupCommand: Port away from cmCommand
42e413bcbb cmSetTargetPropertiesCommand: Port away from cmCommand
77aa75b8dc cmProjectCommand: Port away from cmCommand
9c521088df cmLoadCacheCommand: Port away from cmCommand
fcfec154ac cmLinkDirectoriesCommand: Port away from cmCommand
d038beec21 cmIncludeDirectoryCommand: Port away from cmCommand
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3829
2019-09-24 10:27:17 -04:00
Kitware Robot
a3492c094a CMake Nightly Date Stamp 2019-09-24 00:01:06 -04:00
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
Daniel Eiband
7dcf9cb83c cmGeneratorExpression: Add cmGeneratorExpression::Evaluate utility
cmGeneratorExpression::Evaluate is a shortcut when only the evaluated string is
needed or an instance of cmCompiledGeneratorExpression cannot be cached.

Fixes: #19686
2019-09-23 21:19:15 +02:00
Cristian Adam
acb9511044 Precompile headers: Treat headers as relative to current source directory
Teach `target_precompile_headers` to treat relative paths the
same way as `target_sources`.

Fixes: #19733
2019-09-23 11:13:13 -04:00
Brad King
17c5b32dc2 Merge topic 'smart_ptr/cmDependsC'
8d0cec747c cmDependsC: remove cmDeleteAll call

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3842
2019-09-23 10:53:12 -04:00
Brad King
15163c9234 Merge topic 'object-library-sources'
71e677392b Do not collect objects from dependencies of object libraries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3843
2019-09-23 10:51:55 -04:00
Kitware Robot
aebb1af7a2 CMake Nightly Date Stamp 2019-09-23 00:01:06 -04:00
Daniel Eiband
c7c59dae82 cmCustomCommandGenerator: Replace generator expression member
Replace generator expression member variable by stack variable in the
constructor.
2019-09-22 09:51:20 +02:00
Daniel Eiband
c12222db86 cmGeneratorExpression: Remove Evaluate overload by parameter re-ordering
Simplify by re-ordering parameters of cmCompiledGeneratorExpression::Evaluate
so that frequently used parameters are before less frequently used parameters.
This allows with little extra arguments to get rid of one Evaluate overload,
which makes it easier to implement the cmGeneratorExpression::Evaluate utility.
The latter would otherwise need four overloads.
2019-09-22 09:51:19 +02:00
Daniel Eiband
1811411fec cmGeneratorExpression: Move quiet flag to cmCompiledGeneratorExpression
The quiet flag is false for all but one call to Evaluate.  Make the quiet flag
a setter of cmCompiledGeneratorExpression to be able to remove it from the
Evaluate function signature.
2019-09-22 09:49:41 +02:00
Kitware Robot
de14d38cd2 CMake Nightly Date Stamp 2019-09-22 00:01:05 -04:00
Daniel Eiband
edb0bbd18b cmGeneratorTarget: Remove unused virtual signature of TargetPropertyEntry
Remove unused virtual Evaluate signature of TargetPropertyEntry.  Also remove
the boolean parameter quiet.
2019-09-21 22:40:57 +02:00
Daniel Eiband
8456f60dbc cmSourceFile: Remove non-const GetProperties accessor
Manipulating the property map of cmSourceFile directly may invalidate the class
invariant of the cached value IsGenerated.  Provide the setter SetProperties
which also updates IsGenerated.
2019-09-21 13:31:36 +02:00
Daniel Eiband
f4afcd5c6b VS: Remove call to ConvertToWindowsExtendedPath with result discarded
Remove call to ConvertToWindowsExtendedPath.  The call has no side effect and
the return value is discarded.
2019-09-21 12:56:10 +02:00
Daniel Eiband
61fdf326d8 cmState: Avoid lowering command name twice
The given command given to GetCommand is already lower case so we can use
GetCommandByExactName directly.
2019-09-21 12:56:05 +02:00
Daniel Eiband
0965bd9c06 Generators: Remove function declarations which do not have a definition 2019-09-21 12:55:37 +02:00
Kitware Robot
47a12c6585 CMake Nightly Date Stamp 2019-09-21 00:02:32 -04:00
Regina Pfeifer
920f0dd83a cmInstallCommand: Port away from cmCommand 2019-09-21 05:20:59 +02:00
Regina Pfeifer
1dd31297ca cmTargetLinkLibrariesCommand: Port away from cmCommand 2019-09-21 05:15:26 +02:00
Regina Pfeifer
d5c63f073f cmSourceGroupCommand: Port away from cmCommand 2019-09-21 05:14:42 +02:00
Regina Pfeifer
42e413bcbb cmSetTargetPropertiesCommand: Port away from cmCommand 2019-09-21 05:14:05 +02:00
Regina Pfeifer
77aa75b8dc cmProjectCommand: Port away from cmCommand 2019-09-21 05:13:30 +02:00
Regina Pfeifer
9c521088df cmLoadCacheCommand: Port away from cmCommand 2019-09-21 05:12:54 +02:00
Regina Pfeifer
fcfec154ac cmLinkDirectoriesCommand: Port away from cmCommand 2019-09-21 05:12:31 +02:00
Regina Pfeifer
d038beec21 cmIncludeDirectoryCommand: Port away from cmCommand 2019-09-21 05:11:44 +02:00
Regina Pfeifer
fdc3ba4583 cmExportCommand: Port away from cmCommand 2019-09-21 05:11:08 +02:00
Brad King
71e677392b Do not collect objects from dependencies of object libraries
Object libraries do not link and therefore do not need to consider the
object files from "linked" dependencies on other object libraries.

This was an oversight in commit 57538224d0 (objlib: Link object-files
from `OBJECT` libraries, 2017-12-14, v3.12.0-rc1~419^2~2).

Fixes: #19744
Inspired-by: Julien Finet <julien.finet@kitware.com>
2019-09-20 12:48:46 -04:00
Tushar Maheshwari
8d0cec747c cmDependsC: remove cmDeleteAll call 2019-09-20 20:39:43 +05:30
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
df0586d8d5 Merge topic 'pch-source-list'
9d2ac86f45 Precompile Headers: Add precompile header file to source list

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3832
2019-09-20 10:29:16 -04:00
Brad King
cd607ef560 Merge topic 'smart_ptr/cmComputeLinkDepends'
14da7aedf2 cmComputeLinkDepends: remove manual memory deallocation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3831
2019-09-20 10:28:04 -04:00
Brad King
01d2944458 Merge topic 'smart_ptr/cmExportSet'
71f088f53a cmExportSet: subsume cmExportSetMap source files
6511fa6f33 cmExportSet: default destructor
9b8a1f7c28 cmExportSetMap: improve ownership of cmExportSet

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3816
2019-09-20 10:26:41 -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
fb8341c35e Merge topic 'prepare-genex-in-byproducts'
a583b7bc17 Genex: Evaluate byproduct generator expressions in cmCustomCommandGenerator
ccc9685cc1 Genex: Move genex expansion of paths into AppendPaths utility
026ef9b312 Refactoring: Use ConfigName instead of property CMAKE_BUILD_TYPE

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3797
2019-09-20 10:23:13 -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