Commit Graph

23947 Commits

Author SHA1 Message Date
Kitware Robot 6eaa984e3a CMake Nightly Date Stamp 2017-12-31 00:01:09 -05:00
Kitware Robot f408a60443 CMake Nightly Date Stamp 2017-12-30 00:01:08 -05:00
Kitware Robot 3e1f5b11e0 CMake Nightly Date Stamp 2017-12-29 00:01:11 -05:00
Kitware Robot cd2ed4b87a CMake Nightly Date Stamp 2017-12-28 00:01:07 -05:00
Kitware Robot 497f4bb941 CMake Nightly Date Stamp 2017-12-27 00:01:13 -05:00
Kitware Robot 77f6fdfc2f CMake Nightly Date Stamp 2017-12-26 00:01:05 -05:00
Kitware Robot 63367d2840 CMake Nightly Date Stamp 2017-12-25 00:01:09 -05:00
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