Commit Graph

27538 Commits

Author SHA1 Message Date
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
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
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
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
Tushar Maheshwari
71f088f53a cmExportSet: subsume cmExportSetMap source files 2019-09-19 19:20:30 +05:30
Tushar Maheshwari
6511fa6f33 cmExportSet: default destructor 2019-09-19 19:20:29 +05:30
Tushar Maheshwari
9b8a1f7c28 cmExportSetMap: improve ownership of cmExportSet
- use `std::piecewise_construct` to fix gcc-4.8 build.
- can use `emplace(name, name)` gcc-6 onwards.
2019-09-19 19:20:29 +05:30
Cristian Adam
9d2ac86f45 Precompile Headers: Add precompile header file to source list
The precompile header file will be added to the list of files,
and be part of the newly "Precompile Header File" source group.

Also make sure the sources have the header as dependency.
2019-09-19 13:23:00 +02:00
Kitware Robot
0772d15c2c CMake Nightly Date Stamp 2019-09-19 00:01:06 -04:00
Tushar Maheshwari
14da7aedf2 cmComputeLinkDepends: remove manual memory deallocation
- Replace owning raw `DependSetList` pointer with direct object.
- Use an extra `bool Initialized` flag to imitate `nullptr` semantics.
2019-09-18 14:32:56 -04:00