Commit Graph

23906 Commits

Author SHA1 Message Date
Brad King
76fa3b383e Merge topic 'vs-vcxproj-lowercase-utf-8'
907bc354 VS: Emit "utf-8" encoding as lowercase in .vcxproj headers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1594
2017-12-15 10:42:43 -05:00
Brad King
6fb568cef6 Merge topic 'makefile-simplify-fortran'
7ab9a625 Makefiles: Drop 'requires' step and its supporting infrastructure
5f2e2c38 Makefiles: Avoid nested make calls for Fortran module dependencies

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1523
2017-12-15 10:42:12 -05:00
Kitware Robot
4549eed947 CMake Nightly Date Stamp 2017-12-15 00:01:19 -05:00
Vitaly Stakhovsky
907bc35437 VS: Emit "utf-8" encoding as lowercase in .vcxproj headers
Match the XML preamble generated by VS 2010 and later.
2017-12-14 08:27:48 -05:00
Yurii Batrak
7ab9a62572 Makefiles: Drop 'requires' step and its supporting infrastructure
The 'requires' step was used to provide implicit dependencies between
the generated Fortran module files and a Fortran target that needs these
module files to ensure the correct compilation order.  After recent
refactoring to resolve all dependencies explicitly through `.mod.stamp`
make targets, the separate 'requires' step is not needed anymore.
2017-12-14 08:22:07 -05:00
Brad King
4bc5c08476 Merge topic 'per-source-COMPILE_LANGUAGE-genex-support'
10f58b27 Genex: Per-source $<COMPILE_LANGUAGE:...> support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1575
2017-12-14 08:21:52 -05:00
Yurii Batrak
5f2e2c387d Makefiles: Avoid nested make calls for Fortran module dependencies
Makefiles generated by cmake use a series of nested calls to build
`*.provides.build` targets that are used when the 'requires' step is
needed.  That leads to significant degradation of the build time for
incremental builds.  Re-arrange dependencies to eliminate the nested
calls.

Explicit `.mod.stamp` targets introduced by this commit could lead to
situation when a stamp file always older than its dependency.  This
happens during the incremental build when building of an updated Fortran
source produces a module file that has no differences from the stored
stamp file.  In such case `cmake_copy_f90_mod` will be triggered on each
new build to compare a module file with the corresponding stamp file.
This behavior is expected and can not be changed without nested calls
that slow down the build.  The copy-if-different check is much cheaper
than an entire nested make call.
2017-12-14 08:13:42 -05:00
Brad King
1e148aba70 Merge topic 'cmGraphVizWriter_Interface_Dependers'
9b4d31dc cmGraphVizWriter: Updated to create and follow dependers for interface targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1581
2017-12-14 08:08:05 -05:00
Joel T. Frederico
9b4d31dc77 cmGraphVizWriter: Updated to create and follow dependers for interface targets
Generating graphs of dependencies now uses interface targets, but graphs
of dependers did not include interface targets.
2017-12-14 08:03:02 -05:00
Kitware Robot
1e2911b8cd CMake Nightly Date Stamp 2017-12-14 00:01:11 -05:00
Marc Chevrier
10f58b27ac Genex: Per-source $<COMPILE_LANGUAGE:...> support
Fixes: #17542
2017-12-13 16:35:22 +01:00
Brad King
166bf4c490 CMake 3.10.1 2017-12-13 08:34:28 -05:00
Brad King
3395aec7b8 Merge topic 'use-std-string'
c62ffdcd cmIDEOptions: use std::string instead of const char*

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1580
2017-12-13 07:49:18 -05:00
Brad King
372dc9b087 Merge topic 'update-kwsys'
834d1878 Merge branch 'upstream-KWSys' into update-kwsys
c6a83ecf KWSys 2017-12-12 (3ba214b7)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1587
2017-12-13 07:48:29 -05:00
Kitware Robot
c97734280f CMake Nightly Date Stamp 2017-12-13 00:01:27 -05:00
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
Brad King
834d187841 Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2017-12-12 (3ba214b7)
2017-12-12 07:51:51 -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
Vitaly Stakhovsky
c62ffdcd4f cmIDEOptions: use std::string instead of const char*
Revise method signatures to save a few c_str() conversions.
2017-12-08 22:30:16 -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
Brad King
066fe644ee Merge branch 'automoc-apple-framework' into release-3.10
Merge-request: !1561
2017-12-07 09:13:45 -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
Sebastian Holtermann
fcbd02fd6e Autogen: Fix for AUTOMOC on macOS frameworks in CMake 3.10
Revert the library target dependency forwarding to the `_autogen` target
to the 3.9.6 way, only now using `GetLinkImplementationLibraries`.

Fixes: #17278
2017-12-07 09:04:05 -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
05f86af716 Merge branch 'backport-revert-server-target-backtraces' into release-3.10
Merge-request: !1564
2017-12-06 13:46:55 -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