23918 Commits

Author SHA1 Message Date
Brad King
c9cbc32648 Merge topic 'cuda-mixed-cxx-standard'
4b7618d1 CUDA: Fix CUDA_STANDARD selection via cxx_std_11 with CXX_STANDARD
1d2d9c18 cmMakefile: Refactor determining a targets C++ standard level

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1590
2017-12-20 07:59:20 -05:00
Kitware Robot
b5bbf06c26 CMake Nightly Date Stamp 2017-12-20 00:01:15 -05:00
Christian Pfeiffer
7bf2141430 Merge topic 'winarm64'
1f3933d3 Address code review feedback
14ebad53 Use IMAGE_FILE_HEADER and add missing Arm 32bit images support
8950183b Add Arm64 support to COFF symbol export feature

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1603
2017-12-19 12:43:22 -05:00
Kitware Robot
1eac7c6ee5 CMake Nightly Date Stamp 2017-12-19 00:01:12 -05:00
Jacek Blaszczynski
1f3933d382 Address code review feedback 2017-12-18 18:26:55 +01:00
Jacek Blaszczynski
14ebad533d Use IMAGE_FILE_HEADER and add missing Arm 32bit images support 2017-12-18 16:15:58 +01:00
Kitware Robot
438ed3bfc1 CMake Nightly Date Stamp 2017-12-18 00:01:05 -05:00
Kitware Robot
08229348a8 CMake Nightly Date Stamp 2017-12-17 00:01:11 -05:00
Jacek Blaszczynski
8950183b38 Add Arm64 support to COFF symbol export feature 2017-12-17 01:41:21 +01:00
Kitware Robot
d4fb3136d5 CMake Nightly Date Stamp 2017-12-16 00:01:10 -05:00
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
Robert Maynard
4b7618d170 CUDA: Fix CUDA_STANDARD selection via cxx_std_11 with CXX_STANDARD
When C++ features require a certain C++/CUDA level, verify or update the
standard level target property for each language independently.

While at it, add missing rejection of invalid `CUDA_STANDARD` property
values.

Co-Author: Brad King <brad.king@kitware.com>
Fixes: #17519
2017-12-15 10:29:20 -05:00
Robert Maynard
1d2d9c18bd cmMakefile: Refactor determining a targets C++ standard level
The original code doesn't scale well as we add support for each new
language level.

Co-Author: Brad King <brad.king@kitware.com>
2017-12-15 10:27:07 -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