summaryrefslogtreecommitdiffstats
path: root/Source/Checks/cm_cxx17_check.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Extend C++17/C++14 feature checks to cover more standard library APIsMathieu Garaud2019-02-271-1/+10
| | | | | | | Make sure `std::cbegin`, `std::cend`, and `std::size` work in C++17 or C++14 mode before choosing the corresponding standard level for compiling CMake itself. This helps in cases that the compiler is using a standard library too old to support the full standard level chosen.
* Avoid compiling CMake itself as C++17 with Clang's MSVC ABIZsolt Parragi2019-02-111-0/+13
| | | | | | GUID functions in ATL cause compilation errors with this compiler. Add the offending case to our check for C++17 support so that it is not used by default when it does not work.
* Extend C++17/C++14 feature checks to require unique_ptrBrad King2018-08-011-1/+3
| | | | | | | | When testing compiler modes higher than C++11 for constructs we need, include a check for using `unique_ptr` in that mode. The PGI 18.4 compiler in some environments supports `unique_ptr` in C++11 mode but is broken for C++14 and C++17. Check that `unique_ptr` works in these modes before using one.
* Compile CMake as C++17 if supported by the compilerBrad King2017-12-221-0/+7
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.