Commit Graph

45181 Commits

Author SHA1 Message Date
Brad King f30f1625c2 Merge topic 'decompose-custom-command-creation'
5a06efda05 cmMakefile: Remove AddUtilityCommand overload without byproducts
ea1bed34b2 cmMakefile: Extract utilities used for creation of custom commands
91abf9f3c4 cmCustomCommand: Move custom commands
f151a57705 cmMakefile: Move enumerations into new header

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3846
2019-09-27 14:54:58 -04:00
Brad King 0672647e12 Merge topic 'free-target-commands'
9d1a1bc495 cmTarget*: Port away from cmCommand

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3799
2019-09-27 14:52:01 -04:00
Brad King d608b2c620 Merge topic 'fileapiSourcePropertyBacktraces'
8b84c046fa fileapi: add some source property backtraces
c71ac889ba cmSourceFile: Add backtraces for a few source properties

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3861
2019-09-27 14:38:30 -04:00
Kitware Robot 8c568722d7 CMake Nightly Date Stamp 2019-09-27 00:02:11 -04:00
Regina Pfeifer 9d1a1bc495 cmTarget*: Port away from cmCommand 2019-09-26 13:27:55 -04:00
Justin Goshi 8b84c046fa fileapi: add some source property backtraces
Support backtraces for COMPILE_DEFINITIONS, COMPILE_OPTIONS, and
INCLUDE_DIRECTORIES source properties.
2019-09-26 10:56:52 -04:00
Justin Goshi c71ac889ba cmSourceFile: Add backtraces for a few source properties
Adding backtrace support for INCLUDE_DIRECTORIES, COMPILE_OPTIONS, and
COMPILE_DEFINITIONS.
2019-09-26 10:56:52 -04:00
Brad King b4087a2353 Merge topic 'vs-ReferenceOutputAssembly-conditions'
4dc8c153ec Tests: Teach VSWinStorePhone to verify the content of generated xap
481070a78a Tests: Teach VSWinStorePhone to verify the content of generated appx/msix
acdb326610 VS: Do not reference output assemblies of targets with no output

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3778
2019-09-26 10:43:27 -04:00
Daniel Eiband 5a06efda05 cmMakefile: Remove AddUtilityCommand overload without byproducts 2019-09-26 10:04:03 -04:00
Daniel Eiband ea1bed34b2 cmMakefile: Extract utilities used for creation of custom commands
Decompose creation of custom commands further into logical steps.
2019-09-26 10:03:48 -04:00
Daniel Eiband 91abf9f3c4 cmCustomCommand: Move custom commands 2019-09-26 10:02:08 -04:00
Daniel Eiband f151a57705 cmMakefile: Move enumerations into new header
The enumerations will also be used in cmLocalGenerator.
2019-09-26 10:02:06 -04:00
Brad King 28a2613dd2 Merge topic 'autogen_json'
d867e05892 Autogen: Use JSON instead of CMake script for info files
881e3cfbf9 Autogen: Variable renames and cleanups
fc36f4410b Autogen: Inline GetKnownQtVersions function
1f0d23546d Autogen: Return unsigned int from GetParallelCPUCount()
6a05bd3fa6 cm/algorithm: Provide function cm::clamp

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3859
2019-09-26 09:57:15 -04:00
Brad King 3cb12895f3 Merge topic 'pch-export'
c54448e185 PCH: Propagate INTERFACE_PRECOMPILE_HEADERS in install(EXPORT)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Cristian Adam <cristian.adam@gmail.com>
Merge-request: !3862
2019-09-26 09:51:55 -04:00
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 5fa625d611 Merge topic 'cpack-DEB-use-CPACK_PACKAGE_DESCRIPTION_FILE'
33c7ea513d CPackDeb: Use `CPACK_PACKAGE_DESCRIPTION_FILE`
53be31e19c Refactor: Use `list` commands instead of old-way string ops
b2c67a7703 Style: Remove spaces after command call and `(`

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3541
2019-09-26 09:23:31 -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
Vedran Vujinovic 4dc8c153ec Tests: Teach VSWinStorePhone to verify the content of generated xap
XAP format was used as app package format on Windows Phone 7 and 8.
It was replaced by APPX format since Windows Phone 8.1.
2019-09-25 20:57:47 +02:00
Brad King b42cb1ff80 Merge branch 'release-3.15' 2019-09-25 12:40:49 -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
Brad King c54448e185 PCH: Propagate INTERFACE_PRECOMPILE_HEADERS in install(EXPORT)
This was accidentally left out of commit 0467a2f91b (PCH: add
PRECOMPILE_HEADERS to special properties, 2015-03-12).  Also add a test
case for `install(EXPORT)` and `export()` propagation of precompiled
headers.

Fixes: #19741
2019-09-25 12:06:28 -04:00
Sebastian Holtermann d867e05892 Autogen: Use JSON instead of CMake script for info files
We used to store information for the _autogen target in a CMake script
file AutogenInfo.cmake, which was imported by a temporary cmake instance in
the _autogen target.  This introduced the overhead of creating a temporary
cmake instance and inherited the limitations of the CMake language which
only supports lists.

This patch introduces JSON files to pass information to AUTORCC and
autogen_ targets.  JSON files are more flexible for passing data, e.g. they
support nested lists.

The patch has the side effects that

- AutogenInfo.cmake is renamed to AutogenInfo.json
- AutogenOldSettings.txt is renamed to AutogenUsed.txt
- RCC<qrcBaseName><checksum>Info.cmake is renamed to
  AutoRcc_<qrcBaseName>_<checksum>_Info.json
- RCC<qrcBaseName><checksum>.lock is renamed to
  AutoRcc_<qrcBaseName>_<checksum>_Lock.lock
- RCC<qrcBaseName><checksum>Settings.txt is renamed to
  AutoRcc_<qrcBaseName>_<checksum>_Used.txt
2019-09-25 10:07:09 -04:00
Sebastian Holtermann 881e3cfbf9 Autogen: Variable renames and cleanups 2019-09-25 10:31:06 +02:00
Sebastian Holtermann fc36f4410b Autogen: Inline GetKnownQtVersions function 2019-09-25 10:31:06 +02:00
Sebastian Holtermann 1f0d23546d Autogen: Return unsigned int from GetParallelCPUCount() 2019-09-25 10:31:06 +02:00
Regina Pfeifer 6a05bd3fa6 cm/algorithm: Provide function cm::clamp 2019-09-25 10:30:58 +02: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 5a35a9c70d Merge branch 'vs-16.4-custom-commands' into release-3.15
Merge-request: !3860
2019-09-24 10:46:13 -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
Vedran Vujinovic 481070a78a Tests: Teach VSWinStorePhone to verify the content of generated appx/msix
Add a test to verify the content of generated UWP app package - appx/msix.
MSIX format was introduced Visual Studio 2017 version 15.9.0 and
Windows SDK version 17763.
2019-09-24 10:12:43 -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
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