Commit Graph

37245 Commits

Author SHA1 Message Date
Brad King 01b9d039e7 Merge topic 'get_filename_component-fix-program-split'
31f73eb1 get_filename_component: Revise PROGRAM/PROGRAM_ARGS split semantics

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1251
2017-09-14 07:39:24 -04:00
Brad King 9c7bf6974f Merge topic 'remove-nmcl'
c2cc91a4 Platforms: Remove Windows-NMcl

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1255
2017-09-14 07:38:29 -04:00
Brad King 5202075c66 Merge topic 'bootstrap-twice-in-source'
a3deae71 bootstrap: Fix running multiple times in-source

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1258
2017-09-14 07:37:58 -04:00
Brad King 208ac57531 Merge topic 'vs-fix-config-map'
64e973e9 Merge branch 'backport-vs-fix-config-map' into vs-fix-config-map
c5b5bb27 VS: Do not consider MAP_IMPORTED_CONFIG_<CONFIG> on non-imported targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1256
2017-09-14 07:37:16 -04:00
Brad King fda9a94fe6 Merge topic 'autogen-target-depends-fix-3-9-2'
06c8a37e Merge branch 'backport-autogen-target-depends' into autogen-target-depends-fix-3-9-2
b494308d Autogen: Tests: Backport tests for _autogen target dependencies
d0f15817 Autogen: Backport autogen target dependency as file dependency fix

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1257
2017-09-14 07:19:40 -04:00
Kitware Robot d6b49ee676 CMake Nightly Date Stamp 2017-09-14 00:01:05 -04:00
Craig Scott dd67b65188 Merge topic 'improve-graphviz-doc'
7ed35aa3 Docs: Improve markup for graphviz related documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1236
2017-09-13 20:38:40 -04:00
Brad King 06c8a37e58 Merge branch 'backport-autogen-target-depends' into autogen-target-depends-fix-3-9-2
Use the "ours" merge strategy because we already have equivalent
changes on our side.
2017-09-13 15:09:36 -04:00
Sebastian Holtermann b494308dab Autogen: Tests: Backport tests for _autogen target dependencies 2017-09-13 15:07:46 -04:00
Sebastian Holtermann d0f1581719 Autogen: Backport autogen target dependency as file dependency fix
Target dependencies of the origin target were mistakenly forwarded to
the _autogen target as *file* dependencies.  This patch introduces
proper distinction between *target* and *file* dependencies of the
_autogen target.

This patch also changes when PRE_BUILD is used for AUTOGEN in the Visual
Studio generator. Formerly PRE_BUILD was disabled when the origin target
depended on *any* other target. Now PRE_BUILD is only disabled if a
dependency of the _autogen target to an additional *file* is detected.

Fixes: #17278, #17205
2017-09-13 15:04:31 -04:00
Brad King 31f73eb12d get_filename_component: Revise PROGRAM/PROGRAM_ARGS split semantics
The KWSys `SystemTools::SplitProgramFromArgs` implementation goes into
an infinite loop when the value is just " " (a space).  Since the
"program path with unquoted spaces plus command-line arguments"
operation it is trying to provide is poorly defined (string parsing
should not depend on filesystem content), just stop using it.

Instead consider the main two use cases the old approach tried to handle:

* The value is the name or absolute path of a program with no quoting
  or escaping, but also no command-line arguments.  In this case we
  can use the value as given with no parsing, and assume no arguments.

* The value is a command-line string containing the program name/path
  plus arguments.  In this case we now assume that the command line
  is properly quoted or escaped.

Fixes: #17262
2017-09-13 10:47:04 -04:00
Brad King a3deae7199 bootstrap: Fix running multiple times in-source
Since commit v3.9.0-rc1~281^2 (Use quotes for non-system includes,
2017-04-11) we include `cmConfigure.h` via `""` instead of `<>`.
This breaks the `bootstrap` script when run more than once in an
in-source build.  In that case `cmConfigure.h` is generated next
to the source files that include it, so `""`-style includes prevent the
`Bootstrap.cmk/cmConfigure.h` file from being included during bootstrap.

Fix this by teaching the bootstrap script to remove any `cmConfigure.h`
that may have been generated by an earlier run in an in-source build.

Fixes: #17082
2017-09-13 10:37:14 -04:00
Brad King 64e973e991 Merge branch 'backport-vs-fix-config-map' into vs-fix-config-map 2017-09-13 09:43:24 -04:00
Brad King c5b5bb270f VS: Do not consider MAP_IMPORTED_CONFIG_<CONFIG> on non-imported targets
Since commit v3.9.0-rc1~309^2 (include_external_msproject: Honor
MAP_IMPORTED_CONFIG_<CONFIG>, 2017-04-04) we accidentally honor
`MAP_IMPORTED_CONFIG_<CONFIG>` while generating the `.sln` file entries
for normal targets.  This causes `devenv.com`-driven builds to use the
mapping incorrectly for normal targets.  Check that a target really
comes from `include_external_msproject` before considering the map.

Furthermore, when we do use the map, we should only take the first entry
if more than one configuration is specified.  Otherwise we end up giving
VS a configuration name with a `;` in it.

Fixes: #17276
2017-09-13 09:37:30 -04:00
Christian Pfeiffer c2cc91a4a5 Platforms: Remove Windows-NMcl
Since commit v2.8.10~148^2~2 (Modernize MSVC compiler information files,
2012-08-23), the Windows-NMcl platform has been broken.
It's most likely not needed anymore.
2017-09-13 14:52:45 +02:00
Brad King 420874bfaa Merge topic 'msvc-base-features'
39be8a9d MSVC: Avoid unnecessary C++ feature detection steps

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1253
2017-09-13 08:38:11 -04:00
Brad King 7315a46c83 Merge topic 'MsvcArm64'
bc7c94fe MSVC: Add support for ARM64 architecture

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1215
2017-09-13 08:37:02 -04:00
Brad King 67810849b9 Merge topic 'ranged-for'
7d509579 Meta: modernize old-fashioned loops to range-based `for`.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1249
2017-09-13 08:35:05 -04:00
Kitware Robot a763cffd6b CMake Nightly Date Stamp 2017-09-13 00:01:03 -04:00
Minmin Gong bc7c94fe13 MSVC: Add support for ARM64 architecture
Visual Studio 15.4 adds support for this architecture.

Fixes: #17213
2017-09-12 09:54:29 -04:00
Brad King 3ea87bce69 Merge topic 'vs-clang-llvm-support'
8a4755ca VS: Update support for LLVM-vs* toolsets from LLVM 5.0

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1231
2017-09-12 09:39:40 -04:00
Brad King cb17150228 Merge topic 'get-or-create-source-group'
95b17c89 Use cmMakefile::GetOrCreateSourceGroup in cmQtAutogeneratorsInitializer
a451995f Use cmMakefile::GetOrCreateSourceGroup in cmSourceGroupCommand
1e6569c9 cmMakefile: Add GetOrCreateSourceGroup methods
3e8b3e94 cmMakefile: Collect source group methods in one place

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1243
2017-09-12 09:38:24 -04:00
Brad King 3f8c6cab4b Merge topic 'iwyu-update'
ea7177b9 cmCustomCommandGenerator: Fix include-what-you-use diagnostic

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1252
2017-09-12 09:36:12 -04:00
Pavel Solodovnikov 7d5095796a Meta: modernize old-fashioned loops to range-based for.
Changes done via `clang-tidy` with some manual fine-tuning
for the variable naming and `auto` type deduction
where appropriate.
2017-09-12 16:22:47 +03:00
Brad King 39be8a9d19 MSVC: Avoid unnecessary C++ feature detection steps
Since commit v3.9.0-rc1~17^2~4 (Compilers: Port to use default
cmake_record_lang_compile_features macros, 2017-05-10) we run full
per-language-standard feature detection for MSVC.  This is not necessary
because the base mode for MSVC has all features we define except for the
meta-features for C++14 and above.  Override the default C++ feature
detection macro for MSVC to run detection only once as before.

Fixes: #17274
2017-09-12 09:13:44 -04:00
Kitware Robot f06ddacafc CMake Nightly Date Stamp 2017-09-12 00:01:09 -04:00
Brad King ea7177b947 cmCustomCommandGenerator: Fix include-what-you-use diagnostic
For `size_t` we should include `stddef.h`.
2017-09-11 14:39:58 -04:00
Konstantin Ivlev 8a4755ca57 VS: Update support for LLVM-vs* toolsets from LLVM 5.0
Revert commit v3.7.0-rc1~25^2 (VS: Recognize VS/LLVM toolset names as
Clang, 2016-09-28).  Since at least LLVM 5.0 the VS integration of the
LLVM toolchain now mimics cl and accepts MSVC-style command-line
arguments (unlike Microsoft Clang/C2).

Fixes: #17193, #17235
2017-09-11 09:58:22 -04:00
Jano Svitok 7ed35aa331 Docs: Improve markup for graphviz related documentation
- add hyperlink to CMakeGraphVizOptions.cmake in cmake(1)
- improve markup in CMakeGraphVizOptions.cmake
2017-09-11 14:45:36 +02:00
Brad King 71676863bc Merge topic 'find-openssl'
d371b52f FindOpenSSL: Search 'ssld' and 'crypod' for debug variants

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1246
2017-09-11 08:00:03 -04:00
Brad King 1c9d3c0d32 Merge topic 'doc-find_dependency-return'
e48acfc5 CMakeFindDependencyMacro: Document return() behavior and caveats
07a05079 CMakeFindDependencyMacro: Convert documentation to bracket comment

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1245
2017-09-11 07:56:02 -04:00
Brad King 28adf3833c Merge topic 'vs_improve_custom_command'
9ed24280 VS: only add custom command line if it is not empty
34c4108b add HasOnlyEmptyCommandLines() method to cmCustomCommandGenerator

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1050
2017-09-11 07:53:18 -04:00
Brad King bf19bb5609 Merge topic 'timestamp'
014ad298 Timestamp: support %A and %B

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1228
2017-09-11 07:49:40 -04:00
Brad King 15b26ace18 Merge topic 'show_weighted_times'
b2242ea9 Help: Update documentation for PROCESSORS test property
5b829c89 CTest: Weight reported test times by PROCESSORS in summaries
a6e32eb0 CTest: Split out labels and subproject labels in summary output

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1226
2017-09-11 07:48:46 -04:00
Brad King e8463e3570 Merge topic 'findmatlab-remove-CMAKE_CL_64'
f34ac1c6 FindMatlab: Don't use the deprecated variable CMAKE_CL_64

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1234
2017-09-11 07:47:31 -04:00
Kitware Robot 00975e9261 CMake Nightly Date Stamp 2017-09-11 00:01:05 -04:00
Kitware Robot db9b6b266f CMake Nightly Date Stamp 2017-09-10 00:01:05 -04:00
Sebastian Holtermann 95b17c89be Use cmMakefile::GetOrCreateSourceGroup in cmQtAutogeneratorsInitializer 2017-09-09 09:44:55 +02:00
Sebastian Holtermann a451995fc6 Use cmMakefile::GetOrCreateSourceGroup in cmSourceGroupCommand 2017-09-09 09:44:55 +02:00
Sebastian Holtermann 1e6569c9f4 cmMakefile: Add GetOrCreateSourceGroup methods 2017-09-09 09:44:55 +02:00
Sebastian Holtermann 3e8b3e94dc cmMakefile: Collect source group methods in one place 2017-09-09 09:44:55 +02:00
Kitware Robot e18ab9c4b2 CMake Nightly Date Stamp 2017-09-09 00:01:09 -04:00
Robert Dailey d371b52fdf FindOpenSSL: Search 'ssld' and 'crypod' for debug variants
Release variant search already considered `ssl` and `crypto`, but
similarly named libs with `d` postfix were not searched for debug
variant.
2017-09-08 13:57:55 -05:00
Brad King e48acfc501 CMakeFindDependencyMacro: Document return() behavior and caveats
The `find_dependency` macro is designed to be called from Package
Configuration Files, not from Find Modules.  The return() behavior is
particularly problematic for find modules.  Document this more clearly.

Issue: #17257
2017-09-08 10:44:45 -04:00
Brad King 07a05079d3 CMakeFindDependencyMacro: Convert documentation to bracket comment 2017-09-08 10:30:24 -04:00
Bill Hoffman b2242ea964 Help: Update documentation for PROCESSORS test property
This updates the documentation for the PROCESSORS test property to show
how it will affect the summary output for labels and sub projects.
2017-09-08 10:03:53 -04:00
Bill Hoffman 5b829c89b8 CTest: Weight reported test times by PROCESSORS in summaries
This commit changes the times reported by labels and subprojects to be
weighted by the PROCESSORS property. It is reported with `sec*proc`
instead of just `sec`.
2017-09-08 10:03:01 -04:00
Bill Hoffman a6e32eb0c2 CTest: Split out labels and subproject labels in summary output
This commit splits out the reporting of labels and labels used for sub
projects. If a label is a sub project label it will not be included in
the label summary.  To implement this the commit creates
PrintLabelOrSubprojectSummary which is able to do the work of both
PrintLabelSummary and PrintSubprojectSummary avoiding code duplication.
2017-09-08 10:02:39 -04:00
Job Noorman f34ac1c69b FindMatlab: Don't use the deprecated variable CMAKE_CL_64
The variable is not defined on 64-bit MinGW, causing a 32-bit Matlab
version to be found.  Check using CMAKE_SIZEOF_VOID_P instead.
2017-09-08 09:53:27 -04:00
Brad King d4f58a9cd8 Merge topic 'fphsa-version-cleanup'
91935d9e FPHSA: lower-case for cmake_parse_arguments + move config-mode related code
aec27c15 FPHSA: use more localized _FOUND_VERSION instead of VERSION.
0019bfeb FPHSA: Add (failing) unit test in case a cache variable VERSION is present
81844334 FPHSA: add (failing) unit test for found version being equal to 0.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Rolf Eike Beer <eike@sf-mail.de>
Merge-request: !1224
2017-09-08 09:48:15 -04:00