Commit Graph
28539 Commits
Author SHA1 Message Date
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
Sebastian Holtermann ed216b32a5 Autogen: Touch moc_predefs.h when it's content didn't change 2017-09-07 17:53:19 +02:00
Sebastian Holtermann f23a24c287 Autogen: Use list of lists functions for UIC options 2017-09-07 17:53:19 +02:00
Sebastian Holtermann 37ef18a468 Autogen: Pass RCC build names and function names in info file
- The output file name of the `rcc` command get computed once
  in the AUTOGEN initializer and is passed in the info file.

- The function name for the `-name` option of `rcc` gets computed
  once in the AUTOGEN initializer and is passed along with the
  other `rcc` options in the info file.
2017-09-07 17:53:19 +02:00
Sebastian Holtermann 761b3d7974 Autogen: Add functions to read/write a list of lists 2017-09-07 17:53:19 +02:00
Sebastian Holtermann 84658539bc Autogen: Use single KeyRegExp filter struct 2017-09-07 17:53:19 +02:00
Sebastian Holtermann d8d064abbc Autogen: Use the same algorithm for RCC and UIC option merging 2017-09-07 17:53:19 +02:00
Sebastian Holtermann 37714f884b Autogen: Replace cmsys::SystemTools:: with cmSystemTools:: 2017-09-07 17:53:19 +02:00
Sebastian Holtermann d1e5eb8497 Autogen: Iterate source files only once
This is a large commit that serves multiple purposes

- Iterate source files only once and store all extracted
  information in a cmQtAutogenDigest class that can be reused.
  This is brings speed improvements because several properties
  are only evaluated once. More that that it helps to avoid
  duplication of code with non trivial files property checks.
- Fix the Visual Studio generator to use PRE_BUILD when possible.
- Convert `for( ... )` loops to C++11 range base loops where possible
  (cmQtAutogen*.cxx only).
- String concatenation optimizations.
2017-09-07 17:53:18 +02:00
Kitware Robot de80352d5b CMake Nightly Date Stamp 2017-09-07 00:01:07 -04:00
Brad King 354835bd73 Merge topic 'static_cast'
353ec237 use static_cast<> for casts from void*

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1225
2017-09-06 10:48:44 -04:00
Brad King 70a2a5d1e0 Merge topic 'vs-csharp-ref-no-asm'
94e70e53 Merge branch 'backport-vs-csharp-ref-no-asm' into vs-csharp-ref-no-asm
7e57e6ae VS: Do not reference output assemblies if not possible for CSharp target

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1203
2017-09-06 10:45:38 -04:00
Kitware Robot 8362db82ec CMake Nightly Date Stamp 2017-09-06 00:01:15 -04:00
Brad King 2ce84615f1 Merge branch 'backport-vs-csharp-ref-no-asm' into release-3.9
Merge-request: !1203
2017-09-05 09:43:24 -04:00
Brad King 94e70e5329 Merge branch 'backport-vs-csharp-ref-no-asm' into vs-csharp-ref-no-asm 2017-09-05 09:42:16 -04:00
Michael Stürmer 7e57e6ae12 VS: Do not reference output assemblies if not possible for CSharp target
Since commit v3.9.0-rc4~4^2 (Vs: allow CSharp targets to be linked to
CXX targets, 2017-06-20) CSharp targets get `ProjectReference` entries
to their dependencies.  This causes VS to also reference the
dependency's output assembly by default, which is incorrect for
non-managed targets.

Fix this by setting `ReferenceOutputAssembly` to `false` for targets
that can't provide output assemblies.  Unmanaged C++ targets (shared
libs & executables) can still be referenced and a warning will be shown
in the IDE but the build will not break anymore.

Fixes: #17172
2017-09-05 09:41:40 -04:00
Brad King e7de2a7def Merge topic 'update-kwsys'
cbf20178 Merge branch 'upstream-KWSys' into update-kwsys
37760743 KWSys 2017-09-01 (aee0cf59)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1223
2017-09-05 09:27:22 -04:00
Kitware Robot ad1b9eba85 CMake Nightly Date Stamp 2017-09-05 00:01:05 -04:00
Michael Stürmer 9ed2428078 VS: only add custom command line if it is not empty 2017-09-04 11:42:35 +02:00
Michael Stürmer 34c4108bbc add HasOnlyEmptyCommandLines() method to cmCustomCommandGenerator 2017-09-04 11:41:45 +02:00