Commit Graph

23970 Commits

Author SHA1 Message Date
Brad King b0c2cd47f0 Merge topic 'serverBugFixHasInstallRule'
cb7d0a80 server: project has install rule bug fix

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1489
2017-11-20 09:42:06 -05:00
Brad King 521cb89e02 Merge topic 'vs-source-group-order'
f26009dd VS: Order .vcxproj.filters files deterministically
c871446a cmSourceGroup: Return strings from GetName and GetFullName

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1484
2017-11-20 09:41:09 -05:00
Brad King a347de186c Merge branch 'fix-cmake-server-bad-buffering' into release-3.10
Merge-request: !1498
2017-11-20 09:30:04 -05:00
vector-of-bool 01c42155cc server: Fix regression in partial message handling
If a partial message is flushed into the input pipe for CMake Server,
the parser will try and parse it as a full message because of some bad
loop checks.  This was introduced accidentally in commit
v3.10.0-rc1~365^2~2 (server: Refactor to make the event loop owned by
server object, 2017-03-24).
2017-11-20 09:25:20 -05:00
Kitware Robot 566f77b7f9 CMake Nightly Date Stamp 2017-11-20 00:01:04 -05:00
Sebastian Holtermann 4043463179 Autogen: Use integers instead of strings for the Qt version 2017-11-19 13:35:07 +01:00
Sebastian Holtermann be11a85286 Autogen: Use project relative paths in rcc custom command comment 2017-11-19 13:35:07 +01:00
Sebastian Holtermann ab9d5896ae Autogen: Detect rcc feature once during configuration
We used to detect the `rcc` features before every `rcc` list invocation
wich resulted in `rcc` be called twice for every listing operation.

Now we detect the `rcc` list capabilities once during configuration and
pass it to the cmake_autorcc target in the info file.
2017-11-19 13:12:42 +01:00
Sebastian Holtermann 2a85b5ac76 Autogen: Make cmQtAutoGeneratorInitializer an instantiable class
Remove the cmQtAutoGenDigest classes and make
cmQtAutoGeneratorInitializer instantiable instead.
2017-11-19 12:51:31 +01:00
Sebastian Holtermann 75819b8626 Autogen: Add and use cmQtAutoGenerator base class
Adds the new base class `cmQtAutoGenerator` which contains common
variables and methods used by `cmQtAutoGeneratorMocUic` and
`cmQtAutoGeneratorRcc`.
2017-11-19 12:51:31 +01:00
Sebastian Holtermann 27ed3b3537 Autogen: Rename cmQtAutoGenerators to cmQtAutoGeneratorMocUic 2017-11-19 12:51:30 +01:00
Sebastian Holtermann 1cd285fe06 Autogen: Remove rcc code from cmQtAutoGenerators 2017-11-19 12:51:30 +01:00
Sebastian Holtermann a87f82e025 Autogen: Switch to use custom commands for RCC
Instead of processing all `rcc` invocation requests in the
_autogen target that calls `cmake -E cmake_autogen ...` once,
use a dedicated custom command that calls
`cmake -E cmake_autorcc ...` for each `.qrc` file.
This allows parallel `.qrc` file processing and reduces the
workload (and complexity) in the _autogen target.
If only `AUTORCC` is enabled, the _autogen target won't be created
at all since it is now used for `AUTOMOC` and `AUTOUIC` only.

For `.qrc` files that are GENERATED a custom target is used
instead of a custom command.

Closes #17161
2017-11-19 12:51:30 +01:00
Sebastian Holtermann b2a0b549bb Autogen: Introduce standalone RCC generator class
Introduces the standalone RCC generator class `cmQtAutoGeneratorRcc`.

Every instance of `cmQtAutoGeneratorRcc` class handles the
`rcc` invocation for a single `.qrc` file.
The class will be used in the future to allow parallel `.qrc` file
processing by calling `cmake -E cmake_autorcc <INFO_FILE> <CONFIG>`.
2017-11-19 12:51:30 +01:00
Kitware Robot 85ae0ba796 CMake Nightly Date Stamp 2017-11-19 00:01:05 -05:00
Kitware Robot 9c4a74559d CMake Nightly Date Stamp 2017-11-18 00:01:08 -05:00
Brad King 2b7d59f310 Genex: Enable COMPILE_LANGUAGE for file(GENERATE) with Visual Studio
Issue: #17435
2017-11-17 14:31:07 -05:00
Justin Goshi fe2c2b0ffb server: ctestInfo fix to return all tests
Prior to this change we were looking at targets. But tests are
associated with directories. This change fixes how we gather all tests.
2017-11-17 09:19:26 -08:00
Brad King 0f6f7c8ab1 Genex: Fix COMPILE_LANGUAGE messages to allow file(GENERATE) with Xcode
When rejecting the `COMPILE_LANGUAGE` generator expression on include
directories and compile definitions with Xcode, add `file(GENERATE)` to
the allowed set in the message.  It is allowed and already covered
by the `RunCMake.File_Generate` test `COMPILE_LANGUAGE-genex` case.
2017-11-17 11:56:00 -05:00
Aaron Orenstein 4a6348dbbd Performance: Improve efficiency of source file lookup in cmMakefile
This reintroduces the change from commit v3.10.0-rc1~69^2 (Performance:
Improve efficiency of source file lookup in cmMakefile, 2017-08-17) with
some corrections.  The original was rolled back by commit
v3.10.0-rc1~52^2~1 (Revert "Performance: ...", 2017-09-25) due to
incompatibilities found.  The rollback was followed-up by addition of a
test for the offending case, and this revision passes the test.
2017-11-17 10:25:41 -05:00
Wouter Klouwen 5fd979a8a3 CTest: adopt std::chrono::system_clock
After the refactor to make CTest use std::chrono::steady_clock for the
keeping of time for test duration, there are still references to
cmSystemTools::GetTime() left.
To further adopt std::chrono for time related activities, this commit
changes those remaining references to std::chrono::system_clock::now()
calls and alters the storage from either unsigned int or double to
std::chrono::system_clock::time_point.

For ease of conversion, a converter method is added to cmXMLWriter that
converts from a std::chrono::system_clock::time_point to the number of
seconds since the UN*X epoch as that is expected behaviour. This means
no more casts as required.

Functionally should be no difference as the system_clock is implemented
in the same terms.
2017-11-17 15:22:55 +00:00
Brad King 00e13993fd CUDA: Add CMAKE_CUDA_SEPARABLE_COMPILATION variable
Use its value to initialize the `CUDA_SEPARABLE_COMPILATION` target
property when targets are created.

Fixes: #17478
2017-11-17 09:51:39 -05:00
Brad King 2ea17412a9 FindOpenGL: Add policy CMP0072 to prefer GLVND for legacy GL
Fixes: #17449
2017-11-17 07:17:28 -05:00
Kitware Robot 89fa46e29b CMake Nightly Date Stamp 2017-11-17 00:02:24 -05:00
Justin Goshi cb7d0a80fa server: project has install rule bug fix
Need to check all generators associated with the project because any of
them may have an install rule.
2017-11-16 09:03:08 -08:00
Kitware Robot bd863785db CMake Nightly Date Stamp 2017-11-16 00:02:31 -05:00
Brad King f26009dde6 VS: Order .vcxproj.filters files deterministically
Sort source groups by name rather than arbitrary pointer values.

Fixes: #17446
2017-11-15 10:52:33 -05:00
Brad King c871446abc cmSourceGroup: Return strings from GetName and GetFullName 2017-11-15 10:47:07 -05:00
Brad King e312885829 Merge topic 'ctest-chrono'
e8a4036e CTest: use std::chrono::steady_clock for time keeping

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1445
2017-11-15 08:56:23 -05:00
Kitware Robot 5c44821331 CMake Nightly Date Stamp 2017-11-15 00:04:33 -05:00
Wouter Klouwen e8a4036e96 CTest: use std::chrono::steady_clock for time keeping
It was reported in issue #17345 that CTest does not use monotonic time
to report test duration. Monotonic clocks are not affected by large NTP
adjustments or things like daylight savings time.

As CMake 3.10 requires C++11, which introduced std::chrono, this commit
moves the time keeping in CTest from cmSystemTools::GetTime() to
std::chrono::steady_clock.

Fixes: #17345
2017-11-14 13:30:14 +00:00
Brad King 6c23107725 Merge topic 'cmake-gui-qt-static-windows'
3a993c49 Tests: Add options to disable tests requiring Qt
27a73f16 cmake-gui: Add build option to use Qt5 windows plugin statically

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1476
2017-11-14 07:23:40 -05:00
Brad King 8203895caa Merge topic 'xcode64'
23dd8b9e cmGlobalXCodeGenerator: Support XCTest for XCode 6.4

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1471
2017-11-14 07:22:42 -05:00
Kitware Robot 7a06f9973a CMake Nightly Date Stamp 2017-11-14 00:02:18 -05:00
Brad King b77501d4c7 Merge topic 'ctest-warning'
ec2f9012 CTest: correct misleading warning message for RUN_SERIAL tests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Zack Galbreath <zack.galbreath@kitware.com>
Merge-request: !1469
2017-11-13 09:56:46 -05:00
Brad King 27a73f1613 cmake-gui: Add build option to use Qt5 windows plugin statically
This will enable builds against a static Qt5 on Windows.
2017-11-13 09:54:49 -05:00
Brad King b62eb8f697 Merge topic 'xcodeForLoopCleanup'
98cbcedd Xcode: use ranged for loops, cleanup existing for loops

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1456
2017-11-13 09:52:43 -05:00
Kitware Robot 67c981fdc2 CMake Nightly Date Stamp 2017-11-13 00:01:06 -05:00
Kitware Robot b1a06e4726 CMake Nightly Date Stamp 2017-11-12 00:01:04 -05:00
Kitware Robot 5d3b917d38 CMake Nightly Date Stamp 2017-11-11 00:03:54 -05:00
Brad King 78f5d571e4 CMake 3.10.0-rc5 2017-11-10 10:46:29 -05:00
Brad King 2201ecec44 Windows: Do not report manifest tool update notification as failure
A diagnostic message added in commit v3.10.0-rc1~59^2 (Windows: Improve
link-time error messages when rc or mt fail, 2017-09-22) incorrectly
reports the `mt /notify_update` special return code as a failure.
Fix the logic to consider the special return codes as success.

Fixes: #17444
2017-11-10 10:41:50 -05:00
Brad King 11e2f53e30 Merge topic 'windows-mt-update-quiet'
5c07d390 cmcmd: Fix typo in RunCommand logic

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1473
2017-11-10 10:41:15 -05:00
Brad King 5c07d3900d cmcmd: Fix typo in RunCommand logic
Fix logic added by commit 18eae3f04d (Windows: Do not report manifest
tool update notification as failure, 2017-11-09).

Issue: #17444
2017-11-10 10:37:26 -05:00
Brad King 163be8714a Merge topic 'update-ctest-documentation'
3b272ff8 Help: Add 'Label and Subproject Summary' section to ctest(1) manual
002d0a1c Help: Normalize capitalization of 'CTest' in ctest(1) manual
9d3aa95c Help: Divide ctest(1) manual options into sections
7904b659 Tests: Remove incorrect use of 'test-timeout' option
e80dc2ad cmCTest: Remove dead code

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1427
2017-11-10 08:05:45 -05:00
Brad King 38bb98de51 Merge topic 'cmakeServerRequiredCMakeVersion'
cdf5f34b server: return minimum cmake required version for each project

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1462
2017-11-10 07:51:13 -05:00
Brad King 78def0e257 Merge topic 'csharp-settings-property'
15892aa3 VS: Fix warnings in generated references to '.settings' files

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1450
2017-11-10 07:50:00 -05:00
Brad King c1a55e333f Merge topic 'update-kwsys'
8bef3e31 Merge branch 'upstream-KWSys' into update-kwsys
e8d0b431 KWSys 2017-11-09 (40d7b1bb)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1467
2017-11-10 07:34:24 -05:00
Brad King 6d20c44f3d Merge topic 'windows-mt-update-quiet'
18eae3f0 Windows: Do not report manifest tool update notification as failure

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1470
2017-11-10 07:31:55 -05:00
Craig Scott 98cbcedd74 Xcode: use ranged for loops, cleanup existing for loops
The changes are mostly converting old-style explicit iterator for loops
into ranged for statements. A number of for loops had already been
changed over, but local variables had been left behind instead of being
absorbed into the ranged for statement, so these have been cleaned up
too. A couple of minor improvements were made in areas already being
updated by the for loop changes to slightly simplify the code or to
avoid unnecessary conversions between `const char*` and `std::string`.
2017-11-10 13:12:57 +08:00