summaryrefslogtreecommitdiffstats
path: root/Source/Checks
Commit message (Collapse)AuthorAgeFilesLines
* Use C++11 nullptrDaniel Pfeifer2017-08-242-15/+0
|
* Merge topic 'cxx11-unordered'Daniel Pfeifer2017-08-233-16/+0
|\ | | | | | | | | | | | | cbcfb79f Use C++11 unordered containers Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1174
| * Use C++11 unordered containersDaniel Pfeifer2017-08-223-16/+0
| |
* | Fix CM_FALLTHROUGH with -Wunused-parameterBrad King2017-08-223-3/+3
|/ | | | | Fix the test code that we `try_compile` to avoid unused parameter warnings that cause the check to fail.
* C++ feature checks: Improve exclusion of "0 Warning(s)"Brad King2017-06-081-1/+3
| | | | | | | | Simply matching "0 Warning" may match "10 Warning(s)". Instead remove the entire ` 0 Warning(s)` content from the MSBuild output before searching it for warnings. Issue: #16942
* C++ feature checks: Do not match "0 Warning(s)" as a warningWalter Gray2017-06-061-1/+1
| | | | | | | | | The change in commit v3.9.0-rc1~6^2~1 (C++ feature checks: check output for '[Ww]arning', 2017-06-03) accidentally matches `0 Warning(s)` in the output and always thinks a warning exists, thus failing all checks in Visual Studio builds. Fixes: #16942
* Provide and use CM_FALLTHROUGHDaniel Pfeifer2017-06-034-0/+40
|
* C++ feature checks: check output for '[Ww]arning'Daniel Pfeifer2017-06-031-1/+1
|
* Check C++ features even without CMAKE_CXX_STANDARD for CMake itselfBrad King2017-05-191-13/+16
| | | | | | When using `CMake_NO_CXX_STANDARD` a user may still provide `-std=c++11` or similar flags in `CMAKE_CXX_FLAGS`, so we should still check for the available C++ features.
* cmConfigure: provide macros CM_EQ_DELETE and CM_DISABLE_COPYDaniel Pfeifer2017-04-222-0/+15
|
* Add a feature check to test availability of auto_ptrDaniel Pfeifer2016-09-262-0/+19
|
* Check for availability of unique_ptr and make_unique when building CMakeBrad King2016-09-163-0/+17
| | | | Some code paths may find these useful if available.
* CM_OVERRIDE: fix feature test for clangDaniel Pfeifer2016-06-291-0/+2
| | | | | | | | Clang refuses to default initialize an instance of a class that does not have a default constructor. Fix the check by adding default constructors. Don't use brace initialization like it is proposed in the error message. We want to test the override support independent from the support for brace initialization.
* cxx features: add check for nullptrDaniel Pfeifer2016-06-272-0/+15
|
* CM_OVERRIDE: mark destructor overridden in the feature test.Daniel Pfeifer2016-06-271-0/+2
| | | | | | | | | | | | This is important for two reasons: 1. A compiler might warn about a class that has a virtual member function but no virtual destructor. We don't want to treat the feature as incomplete in this case. 2. MSVC10 supports the override identifier except on destructors. In this case, the feature really is incomplete and we want to detect it as such.
* cxx features: add check for overrideDaniel Pfeifer2016-06-272-0/+21
|
* Use <unordered_set> where availableDaniel Pfeifer2016-06-272-0/+8
|
* Make C++ feature checks extensibleDaniel Pfeifer2016-06-273-25/+36
| | | | | | Turn the feature check for cxx11_unordered_map into a function such that we can use it for other features as well. Drop the 11 suffix, as we may want to check features from other standards.
* Revise C++ coding style using clang-formatKitware Robot2016-05-163-3/+10
| | | | | | | | | | | | | Run the `Utilities/Scripts/clang-format.bash` script to update all our C++ code to a new style defined by `.clang-format`. Use `clang-format` version 3.8. * If you reached this commit for a line in `git blame`, re-run the blame operation starting at the parent of this commit to see older history for the content. * See the parent commit for instructions to rebase a change across this style transition commit.
* Avoid using C11 to build CMake if _Thread_local support is brokenRaphael Kubo da Costa2015-09-152-0/+35
| | | | | | | | | | | | | | | | | Support for C11's _Thread_local was introduced in GCC in the 4.9 series, even though we make the C11 compiler flags available in CMake with GCC >= 4.6. FreeBSD's runetype.h uses _Thread_local, which causes CMake's own build to fail when using GCC < 4.9 and -std=gnu11: /usr/include/runetype.h:92:22: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'const' extern _Thread_local const _RuneLocale *_ThreadRuneLocale; Add a test for _Thread_local support and only build CMake itself with C11 support if it works. Bug: http://www.cmake.org/Bug/view.php?id=15741
* Use std::unordered_map instead of hash_map where available.Stephen Kelly2015-05-182-0/+31
|
* Avoid using C++14 to build CMake if cstdio breaksBrad King2015-05-082-0/+35
The GNU 4.8 standard library's cstdio header is not aware that C++14 honors C11's removal of "gets" from stdio.h and results in an error: /.../include/c++/4.8/cstdio:120:11: error: no member named 'gets' in the global namespace Detect this problematic case and default to using C++11 instead of C++14 for building CMake itself.