Commit Graph

23923 Commits

Author SHA1 Message Date
Brad King
099a4ea50c cmcmd: Fix cmake_symlink_library for inconsistent slashes
With the Ninja generator we may invoke `cmake_symlink_library` with
different slash conventions (`/` versus `\`) for different arguments.
Fix comparison of the paths/names given to tolerate this.

Fixes: #17579
2017-12-20 11:35:09 -05:00
Brad King
bad72ccb7f Merge topic 'autogen-nested-lists-fix'
493ad056 Merge branch 'backport-autogen-nested-lists-fix' into autogen-nested-lists-fix
683e9023 Autogen: Fix for problematic nested list separator
3ce7eece Autogen: Fix for problematic nested lists separator

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1607
2017-12-20 08:17:37 -05:00
Brad King
740e598c8e Merge topic 'update-kwsys'
4966c8d8 Merge branch 'upstream-KWSys' into update-kwsys
86399e49 KWSys 2017-12-15 (8f755ee9)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1597
2017-12-20 07:59:42 -05:00
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
Sebastian Holtermann
3ce7eecedc Autogen: Fix for problematic nested lists separator
In the AutogenInfo.cmake file the separator for nested lists
was `@LSEP@` which led to a speed regression because the `@`
character triggered an (unsuccessful) expression evaluation.

By setting the policy version of the CMake instance in the
`_autogen` target to 3.9, the OLD `@` evaluating behavior
controlled by policy CMP0053 is disabled.

Also the nested lists separator string is changed to `<<<S>>>`,
which solves the problem twofold.

Closes #17570
2017-12-18 14:36:17 +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
4966c8d8da Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2017-12-15 (8f755ee9)
2017-12-15 10:48:13 -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