Commit Graph

23408 Commits

Author SHA1 Message Date
Brad King
c0c5f924fe Merge topic 'refactor-iwyu-code'
3bbe95f5 Clean up iwyu code to not be one big if statement.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1247
2017-09-15 08:54:32 -04:00
Brad King
188cdb98a7 Merge topic 'codeblocks-exclude-external'
fb19b778 CodeBlocks: add option to exclude external files

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1159
2017-09-15 08:53:04 -04:00
Brad King
4644ab3995 Merge topic 'ranged-for'
63f6fd14 Meta: modernize old-fashioned loops to range-based `for` (CTest).

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1262
2017-09-15 08:51:03 -04:00
Brad King
f801ec0cf7 Merge topic 'update-kwsys'
f02eced5 Merge branch 'upstream-KWSys' into update-kwsys
38b8017f KWSys 2017-09-14 (d85b17e7)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1263
2017-09-15 08:49:33 -04:00
Kitware Robot
6b76615c4e CMake Nightly Date Stamp 2017-09-15 00:01:03 -04:00
Pavel Solodovnikov
63f6fd144e Meta: modernize old-fashioned loops to range-based for (CTest).
Changes done via `clang-tidy` with some manual fine-tuning
for the variable naming and `auto` type deduction
where appropriate.
2017-09-14 16:11:58 +03:00
Brad King
f02eced51d Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2017-09-14 (d85b17e7)
2017-09-14 08:44:26 -04:00
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
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
Alexandr (Sagrer) Gridnev
fb19b7789a CodeBlocks: add option to exclude external files
Add variable `CMAKE_CODEBLOCKS_EXCLUDE_EXTERNAL_FILES` to optionally
exclude files from outside the project root from the project file
written by the CodeBlocks extra generator.  This optionally restores
logic that had been removed by commit v2.8.3~40^2 (CodeBlocks Generator:
Do not omit files in the project file listing, 2010-10-05) in response
to QTCREATORBUG-2250.

Issue: #12110
Fixes: #17188
2017-09-14 13:21:59 +03:00
Kitware Robot
d6b49ee676 CMake Nightly Date Stamp 2017-09-14 00:01:05 -04:00
Bill Hoffman
3bbe95f58a Clean up iwyu code to not be one big if statement.
This commit changes the internal -E__run_iwyu to be -E__run_co_compile. This
is used for co-compile commands. These are tools that want to mirror the
compiler. For each compiler invocation the tool will be invoked first. This
started as a way to implement include what you use (iwyu), but has expanded
to include cpplint, cppcheck and others. Likely there will be more in the
future as well. This commit implements each one in its own function and
provides a way to add additional ones in the future with less work.
2017-09-13 17:44:49 -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
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
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
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
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
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
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
Brad King
e5c1a7dfb3 Merge topic 'autogen-digests'
6739a125 Autogen: Doc: Add Visual Studio PRE_BUILD note to cmake-qt.rst
2be0acb7 Autogen: Tests: Add AUTOGEN_TARGET_DEPENDS test to mocDepends tests
734d236c Autogen: Smarter target dependency computation
2e4dab08 Autogen: Set CM_DISABLE_COPY in cmQtAutoGenerators
c330d641 Autogen: Replace CM_AUTO_PTR with std::unique_ptr
9468e926 Autogen: Refactor logging
2ba1b281 Autogen: More use of scoped lambdas
0f9080e2 Autogen: More use of scoped lambdas
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1198
2017-09-08 09:45:07 -04:00
Kitware Robot
90b6186cbd CMake Nightly Date Stamp 2017-09-08 00:01:10 -04:00
Bernhard M. Wiedemann
014ad2989c Timestamp: support %A and %B
These are defined both by [1] and [2] to give full names of a weekday
and month.

[1] http://pubs.opengroup.org/onlinepubs/009695399/functions/strftime.html
[2] https://msdn.microsoft.com/de-de/library/fe06s4ak.aspx
2017-09-07 13:36:11 -04:00
Brad King
ffa164736e CMake 3.9.2 2017-09-07 12:14:26 -04:00
Sebastian Holtermann
734d236c07 Autogen: Smarter target dependency computation 2017-09-07 18:03:14 +02:00
Sebastian Holtermann
2e4dab087e Autogen: Set CM_DISABLE_COPY in cmQtAutoGenerators 2017-09-07 18:03:14 +02:00
Sebastian Holtermann
c330d641af Autogen: Replace CM_AUTO_PTR with std::unique_ptr 2017-09-07 18:03:14 +02:00
Sebastian Holtermann
9468e926b0 Autogen: Refactor logging 2017-09-07 18:03:13 +02:00
Sebastian Holtermann
2ba1b28122 Autogen: More use of scoped lambdas 2017-09-07 18:03:13 +02:00
Sebastian Holtermann
0f9080e235 Autogen: More use of scoped lambdas 2017-09-07 18:03:13 +02:00
Sebastian Holtermann
d561c1fffc Autogen: More use of scoped lambdas 2017-09-07 18:03:13 +02:00
Sebastian Holtermann
db80367c91 Autogen: Use scoped lambdas intead of named functions 2017-09-07 17:53:19 +02:00