23940 Commits

Author SHA1 Message Date
Kitware Robot
40dea7e4b2 CMake Nightly Date Stamp 2017-12-24 00:01:09 -05:00
Brad King
0d22a23fd2 Merge topic 'self-c++17'
31d59ff3 Compile CMake as C++17 if supported by the compiler
31c6b9ad Generalize check for C++14 constructs
05af537e cmGlobalNinjaGenerator: Avoid using deprecated std::ptr_fun

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Pavel Solodovnikov <hellyeahdominate@gmail.com>
Merge-request: !1614
2017-12-23 08:19:47 -05:00
Kitware Robot
89ed729af1 CMake Nightly Date Stamp 2017-12-23 00:01:14 -05:00
Brad King
31d59ff3b1 Compile CMake as C++17 if supported by the compiler
Add a check that a simple source file can compile as C++17 that uses
some of the features we need.  Do this only when hosted by CMake 3.8
or above because those versions are aware of C++17.

Check for unordered_map as we do in bootstrap since commit 375eca7881
(bootstrap: Check support for unordered_map from compiler mode,
2017-11-30).  Also maintain the existing C++14 cstdio check.
2017-12-22 09:05:54 -05:00
Brad King
31c6b9adbf Generalize check for C++14 constructs
The check for C++14 and cstdio is a special case of the more general
problem of checking that the compiler's C++14 mode supports everything
we need.  Rename the checks accordingly.
2017-12-22 09:05:54 -05:00
Kitware Robot
1f29bc4092 CMake Nightly Date Stamp 2017-12-22 00:01:26 -05:00
Brad King
05af537ecc cmGlobalNinjaGenerator: Avoid using deprecated std::ptr_fun
It was deprecated by C++11 and removed by C++17.  Use a C++11 lambda.
2017-12-21 08:05:23 -05:00
Brad King
4148435993 Merge topic 'cpackifw-package-remove-target-dir'
739ae1d0 CPack/IFW: Add option to control deletion of the install directory

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1591
2017-12-21 08:01:34 -05:00
Brad King
3ba57ddf89 Merge topic 'use-override'
cfe4e2db VS: Use 'override' keyword for overridden methods in generator classes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1601
2017-12-21 07:59:51 -05:00
Brad King
d0390f8be0 Merge topic 'cmake_symlink_library-slashes'
099a4ea5 cmcmd: Fix cmake_symlink_library for inconsistent slashes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1612
2017-12-21 07:59:26 -05:00
Brad King
228468cf3e Merge topic 'objlib-dedup'
66c0b36d objlib: fix unchecked insertions in `cmGeneratorTarget::GetLanguages`

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1609
2017-12-21 07:58:48 -05:00
Brad King
1edfb2c47a Merge topic 'solaris_warning_single'
8ef14467 Solaris: Fix shadowed declaration warning

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1611
2017-12-21 07:57:30 -05:00
Kitware Robot
deaa19cfed CMake Nightly Date Stamp 2017-12-21 00:01:12 -05:00
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
Pavel Solodovnikov
66c0b36d75 objlib: fix unchecked insertions in cmGeneratorTarget::GetLanguages 2017-12-20 17:37:15 +03: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
Craig Scott
8ef14467e4 Solaris: Fix shadowed declaration warning
"single" is a type declared in /usr/include/floatingpoint.h on Solaris,
so the local variable of the same name in cmParseArgumentsCommand.cxx
was triggering a compiler warning about the local variable shadowing
the type.
2017-12-20 21:49:47 +11: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
Vitaly Stakhovsky
cfe4e2db1f VS: Use 'override' keyword for overridden methods in generator classes
The corresponding 'virtual' removed.
2017-12-15 21:17:49 -05:00
Jean-Philippe Lebel
739ae1d090 CPack/IFW: Add option to control deletion of the install directory
Added support for QT IFW "RemoveTargetDir" boolean option.  QTIFW
supports an option to prevent, or not, deletion of the installation
directory. This is a direct pass-through to that variable.
2017-12-15 13:24:58 -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