Commit Graph

23886 Commits

Author SHA1 Message Date
Brad King
1f5b2a8de9 Merge topic 'fix-ctest-chrono'
ba6caafa CTest: Use integer-representable value for "infinite" timeout
548e8f6f CTest: Simplify std::chrono::duration<double> conversion to double
de0035fd cmCTestBuildAndTestHandler: Convert timeout to std::chrono::duration
687a26b7 CTest: Fix regression in build-and-test timeout forwarding
e770b1b8 CTest: Fix regression in build-and-test timeout compuatation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: dublet <github@dublet.org>
Merge-request: !1574
2017-12-12 08:02:33 -05:00
Kitware Robot
62d8bff146 CMake Nightly Date Stamp 2017-12-12 00:01:15 -05:00
Brad King
ba6caafa42 CTest: Use integer-representable value for "infinite" timeout
Refactoring in commit 66419bc046 (CTest: convert timeouts to
std::chrono::duration, 2017-11-20) changed out "infinite" timeout to a
value not representable by a 64-bit integer.  This causes undefined
behavior when e.g. KWSys Process converts the duration to a `long` to
interact with system APIs.  Use the old `1.0e7` maximum value.
2017-12-11 10:41:48 -05:00
Brad King
9720c14255 Merge topic 'cpack-generator-scripts-enable-all-cmake-policies'
93d5f464 CPack: enable all CMake policies for generator scripts

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1582
2017-12-11 09:00:19 -05:00
Brad King
0f57e15157 Merge topic 'ctest-remove-unfinished-batch-mode'
f984296b CTest: Remove unfinished batch test mode

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1577
2017-12-11 08:33:58 -05:00
Brad King
1efb6e566f Merge topic 'update-kwsys'
9dee52ba Merge branch 'upstream-KWSys' into update-kwsys
3b1bb703 KWSys 2017-12-08 (2d27b1d0)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1576
2017-12-11 08:33:25 -05:00
Kitware Robot
14fe6d431b CMake Nightly Date Stamp 2017-12-11 00:01:09 -05:00
Kitware Robot
ec37222d59 CMake Nightly Date Stamp 2017-12-10 00:01:10 -05:00
Domen Vrankar
93d5f464cc CPack: enable all CMake policies for generator scripts 2017-12-09 12:50:28 +01:00
Kitware Robot
0fe1966b79 CMake Nightly Date Stamp 2017-12-09 00:01:30 -05:00
Brad King
f984296ba8 CTest: Remove unfinished batch test mode
This was partially implemented by commit v2.8.0~154 (Added some ctest
batch capabilities, 2009-09-10) but never finished.
2017-12-08 11:23:33 -05:00
Brad King
548e8f6ffe CTest: Simplify std::chrono::duration<double> conversion to double
The ratio of ticks to seconds for this type is 1, so we can just use its
`count()` directly.  This also avoids converting through the integer
representation of `std::chrono::milliseconds`, which has a much smaller
allowed range.

Drop our `cmsysProcess_SetTimeout` wrapper as it is now very thin.
2017-12-08 11:09:49 -05:00
Brad King
9dee52baca Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2017-12-08 (2d27b1d0)
2017-12-08 10:08:39 -05:00
Brad King
158fb9755c Merge topic 'autogen-fix-library-deps'
1bc60334 Merge branch 'automoc-apple-framework' into autogen-fix-library-deps
a3f8371c Merge branch 'automoc-apple-framework' into autogen-fix-library-deps
bd49ae51 Autogen: Fix library dependency forwarding to _autogen target
e4ccc684 Autogen: Tests: Add test for MacOS frameworks
fcbd02fd Autogen: Fix for AUTOMOC on macOS frameworks in CMake 3.10

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1566
2017-12-08 09:35:02 -05:00
Brad King
bbac777698 Merge topic 'update-kwsys'
c50f08cd Merge branch 'upstream-KWSys' into update-kwsys
5b1c84b4 KWSys 2017-12-07 (4aee0036)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1567
2017-12-08 09:12:54 -05:00
Brad King
de0035fdcc cmCTestBuildAndTestHandler: Convert timeout to std::chrono::duration 2017-12-08 08:31:00 -05:00
Brad King
687a26b702 CTest: Fix regression in build-and-test timeout forwarding
Refactoring in commit 66419bc046 (CTest: convert timeouts to
std::chrono::duration, 2017-11-20) changed out "infinite" timeout
to a value not representable by a 64-bit integer.  Update the
`--build-and-test` forwarding of `--test-timeout` to not forward
an "infinite" timeout.
2017-12-08 07:33:39 -05:00
Brad King
e770b1b86e CTest: Fix regression in build-and-test timeout compuatation
Refactoring in commit 66419bc046 (CTest: convert timeouts to
std::chrono::duration, 2017-11-20) accidentally changed the logic used
to compute the timeout for a test when it starts.  It incorrectly limits
the maximum possible timeout to 2 minutes rather than 2 minutes less
than the total allowed test time remaining.  Update the new logic to
restore the original behavior.

Avoid subtracting 2 minutes from our "infinite" timeout value to avoid
creating very large timeouts that are not "infinite" and may exceed
integer type ranges.
2017-12-08 07:14:05 -05:00
Kitware Robot
1c40558e91 CMake Nightly Date Stamp 2017-12-08 00:01:12 -05:00
Brad King
51045535e8 Merge topic 'fix-ctest-chrono'
be470278 CTest: Fix regression in test timeout compuatation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: dublet <github@dublet.org>
Merge-request: !1568
2017-12-07 10:45:47 -05:00
Sebastian Holtermann
bd49ae5109 Autogen: Fix library dependency forwarding to _autogen target
Library dependencies of the origin target were forwarded to the
_autogen target as source file dependencies. This is fixed by
forwarding the dependencies as target dependencies instead.

Issue: #17278
2017-12-07 09:09:19 -05:00
Brad King
be4702781d CTest: Fix regression in test timeout compuatation
Refactoring in commit 66419bc046 (CTest: convert timeouts to
std::chrono::duration, 2017-11-20) accidentally changed the logic used
to compute the timeout for a test when it starts.  It incorrectly limits
the maximum possible timeout to 2 minutes rather than 2 minutes less
than the total allowed test time remaining.  Update the new logic to
restore the original behavior.

Avoid subtracting 2 minutes from our "infinite" timeout value to avoid
creating very large timeouts that are not "infinite" and may exceed
integer type ranges.
2017-12-07 08:33:19 -05:00
Brad King
3de52db69c Merge topic 'splitRCPatchComponent'
f92304c7 CMakeVersion RC file: Split patch into 2 components

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1552
2017-12-07 08:11:56 -05:00
Brad King
9accb48d17 Merge topic 'revert-server-target-backtraces'
b7100756 Merge branch 'backport-revert-server-target-backtraces' into revert-server-target-backtraces
976370d1 server: drop "ctestInfo" backtrace information
8b2736c7 server: Revert "Report backtraces in codemodel response"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1564
2017-12-07 08:08:59 -05:00
Brad King
c50f08cdd8 Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2017-12-07 (4aee0036)
2017-12-07 07:25:03 -05:00
Kitware Robot
f5e48edaae CMake Nightly Date Stamp 2017-12-07 00:01:14 -05:00
Brad King
b7100756d7 Merge branch 'backport-revert-server-target-backtraces' into revert-server-target-backtraces 2017-12-06 11:49:52 -05:00
Brad King
976370d134 server: drop "ctestInfo" backtrace information
Backtrace information was included by commit 35a52bd1b4 (server: add
"ctestInfo" request to get test info, 2017-10-25) to match that already
provided for targets.  However, the backtrace representation uses too
much memory and needs to be dropped.  Remove it from test information.

Issue: #17502
2017-12-06 11:45:51 -05:00
Brad King
8b2736c71c server: Revert "Report backtraces in codemodel response"
The backtrace information is very repetitive and hugely increases the
size of the codemodel object.  We need to remove it until an alternative
representation can be developed.  Revert commit v3.10.0-rc1~393^2
(server: Report backtraces in codemodel response, 2017-06-20), except
for the protocol version number (because it indicates other new things).

Unfortunately this is incompatible with clients that expect the
"crossReferences" field in targets.  However, the regression in memory
usage is quite serious, especially on large projects, and therefore
breaks even older clients that do not use backtraces.  Since the
"crossReferences" field was only provided by one release (3.10.0), it is
simplest to revert it outright for 3.10.1.

Fixes: #17502
2017-12-06 11:39:03 -05:00
Brad King
060cf73ec8 Merge topic 'src-COMPILE_DEFINITIONS-genex'
9432f686 Add generator expression support to per-source COMPILE_DEFINITIONS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1546
2017-12-06 08:05:31 -05:00
Brad King
98206571fb Merge topic 'update-kwsys'
79b241de cmake-gui: Update RegexExplorer for changes to KWSys
4a8bbc52 Merge branch 'upstream-KWSys' into update-kwsys
52a5c4a8 KWSys 2017-12-05 (9376537e)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1558
2017-12-06 08:01:20 -05:00
Kitware Robot
a442624def CMake Nightly Date Stamp 2017-12-06 00:01:25 -05:00
Brad King
79b241dee0 cmake-gui: Update RegexExplorer for changes to KWSys 2017-12-05 11:32:08 -05:00
Brad King
4a8bbc520a Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2017-12-05 (9376537e)
2017-12-05 11:31:27 -05:00
Marc Chevrier
9432f686e6 Add generator expression support to per-source COMPILE_DEFINITIONS
This allows users to specify different genex-based compile definitions for each file in a target.

Fixes: #17508
2017-12-05 14:47:39 +01:00
Brad King
d06b826421 Merge topic 'update-cm-thread'
3519c8f2 utilities: Swapped to use std C++11 mutex/threading constructs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1551
2017-12-05 08:18:13 -05:00
Brad King
83068cb1ed Merge topic 'include_external_ms_project_support_non_windows_target'
2c06e9e7 include_external_msproject: Support non-Windows target platforms
c89e8522 cmGlobalGenerator: Add IsIncludeExternalMSProjectSupported method

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1525
2017-12-05 08:17:30 -05:00
Brad King
729dda5420 Merge topic 'src-genex-refactoring'
6bffc13e Refactor per-source generator expression evaluation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1550
2017-12-05 08:15:40 -05:00
Brad King
0236e50802 Merge topic 'update-cpplint'
bfcc2034 Update cpplint support to return 0 and mark warnings for CDash.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1544
2017-12-05 08:14:39 -05:00
Brad King
0b7822f49a Merge topic 'win-fallthrough'
21541bb5 Use CM_FALLTHROUGH in Windows-specific code

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1555
2017-12-05 08:13:34 -05:00
Brad King
b8e7af979d Merge topic 'ctest-chrono'
66419bc0 CTest: convert timeouts to std::chrono::duration
923b8fad IWYU: Add mappings for std::enable_if on chrono durations

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1513
2017-12-05 08:12:52 -05:00
Kitware Robot
8616e9ba24 CMake Nightly Date Stamp 2017-12-05 00:01:13 -05:00
Justin Goshi
f92304c789 CMakeVersion RC file: Split patch into 2 components
The binary file version has 4 16-bit components. In cases where the
patch component is too large (ex: represents a build date yyyymmdd) we
split it into two parts.
2017-12-04 10:49:39 -08:00
Tomoki Imai
2c06e9e73e include_external_msproject: Support non-Windows target platforms
Allow the command on any generator that supports it, even if
the target platform does not define `WIN32`.

Fixes: #17511
2017-12-04 11:23:38 -05:00
Tomoki Imai
c89e8522bb cmGlobalGenerator: Add IsIncludeExternalMSProjectSupported method 2017-12-04 11:21:43 -05:00
Brad King
21541bb5cc Use CM_FALLTHROUGH in Windows-specific code
Some cases were missed by earlier sweeps due to not compiling
Windows-specific code.
2017-12-04 10:58:15 -05:00
Brad King
d8290531a9 Merge topic 'cpack-pkg-fix'
f25d87db CPack: Fix macOS PKG component dependency information

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1547
2017-12-04 10:50:33 -05:00
Brad King
caa1c4967a Merge topic 'csharp_project_without_sources'
8e654a37 VS: Enable generation of CSharp projects without initial .cs files

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1521
2017-12-04 10:48:53 -05:00
Brad King
411397f913 Merge topic 'update-kwsys'
be8ec418 Merge branch 'upstream-KWSys' into update-kwsys
740ccb1f KWSys 2017-12-01 (0f0023b1)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1548
2017-12-04 10:46:36 -05:00
Wouter Klouwen
66419bc046 CTest: convert timeouts to std::chrono::duration
This commit continues the refactoring of CTest to adopt std::chrono.
After the last sets of changes that introduced std::chrono::steady_clock
and std::chrono::system_clock respectively, it makes sense to have all
the timeouts be stored as std::chrono::duration.

No functional change intended.
2017-12-04 10:43:14 -05:00