Commit Graph

45143 Commits

Author SHA1 Message Date
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
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 28bd7e41b8 Merge topic 'iar-v850-asm'
158f3795b8 IAR: Add v850 assembler support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3856
2019-09-24 10:30:39 -04:00
Brad King 004876b214 Merge topic 'FindThreads-lib-name'
de5f123d3a FindThreads: Do not hard-code '-l' flag on library name

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3857
2019-09-24 10:29:30 -04:00
Brad King a934799907 Merge topic 'FindOpenSSL-static-deps'
8098bd5768 FindOpenSSL: add pthread and dl dependencies to static lib on Linux

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3820
2019-09-24 10:28:21 -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
Alan W. Irwin de5f123d3a FindThreads: Do not hard-code '-l' flag on library name
When not using the `-pthread` flag we instead return a library to link
by name.  Previously we hard-coded the `-l` flag before the library
name.  When used with `target_link_libraries`, the hard-coded `-l` flag
is preserved rather than transformed into the link option preferred by
the toolchain in use.  Drop the explicit `-l` part to let CMake's
generators produce the proper way to link the threads library for the
current toolchain.

Fixes: #19747
2019-09-23 10:43:27 -04:00
Brad King 3d1fb997e5 Merge topic 'HP-UX_Port_GCC'
ba315f2035 bootstrap: Require GCC 4.9 or higher on HP-UX
5ffb2dbff6 libuv: Add partial port to HP-UX
1059f9a96d jsoncpp: Fix compilation on HP-UX 11.31 ia64 with GCC 4.9.3

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3508
2019-09-23 10:32:42 -04:00
Nico Mueller 158f3795b8 IAR: Add v850 assembler support
Assembler compiler configuration for 'v850' architecture

Issue: #17264
2019-09-23 13:14:14 +02: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
David Callu 8098bd5768 FindOpenSSL: add pthread and dl dependencies to static lib on Linux 2019-09-20 22:39:20 +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 ba315f2035 bootstrap: Require GCC 4.9 or higher on HP-UX
Revise for future removal of the early rejection checks on HP-UX.
Our code may now work with GCC 4.9 on HP-UX when manually using
`env CXXFLAGS=-D_GLIBCXX_USE_C99` to make the C++11 `std::to_string`
available on this platform.  However, without nightly testing we
cannot officially enable support for the platform.

Issue: #17137
Co-Author: Earle Lowe <elowe@elowe.com>
2019-09-20 10:30:01 -04:00
Earle Lowe 5ffb2dbff6 libuv: Add partial port to HP-UX
Port enough of libuv to HP-UX 11.31 ia64 with GCC 4.9.3 to work for
CMake.
2019-09-20 10:30:01 -04:00
Earle Lowe 1059f9a96d jsoncpp: Fix compilation on HP-UX 11.31 ia64 with GCC 4.9.3
In particular, fix the `isfinite` definition.
2019-09-20 10:30:01 -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