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
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.
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.
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
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.
Issue: #17570
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
"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.
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
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
This is more or less what Gentoo implements for years, but in a more
sophisticated version that uses the target mode now offered by
pkg_check_modules().