summaryrefslogtreecommitdiffstats
path: root/Modules/WriteCompilerDetectionHeader.cmake
Commit message (Collapse)AuthorAgeFilesLines
* Features: Record for MSVC 2010-2015Robert Maynard2015-01-301-2/+7
| | | | | | | Also, in WCDH add MSVC Compatibility for cxx_align{of,as}. Co-Author: Stephen Kelly <steveire@gmail.com> Co-Author: Brad King <brad.king@kitware.com>
* Features: Record for SolarisStudio 12.4.Stephen Kelly2015-01-171-0/+1
| | | | It has similar C++11 capabilities compared to GCC 4.8.
* WCDH: Generate per-language files in multi-file mode.Stephen Kelly2015-01-171-12/+16
| | | | | Otherwise we generate defines for C/CXX features unguarded by the presence of the __cplusplus macro and available to the wrong compiler.
* WCDH: Allow compilers to specify features for one language but not the other.Stephen Kelly2015-01-171-2/+8
|
* WCDH: Find a language-specific DetermineCompiler.cmake if present.Stephen Kelly2015-01-171-1/+5
| | | | The SolarisStudio compiler module uses language specific files.
* Merge topic 'revert-feature_record_msvc'Brad King2015-01-151-3/+2
|\ | | | | | | | | | | 4ce110bb Tests: Revert workaround for COMPILE_FEATURES genex bug 0b7e7e27 Revert topic 'feature_record_msvc'
| * Revert topic 'feature_record_msvc'Brad King2015-01-141-3/+2
| | | | | | | | | | | | | | | | | | | | | | Revert commits: 2d738ce3 Help: Add notes for topic 'feature_record_msvc' f73718c9 Features: Enable writing of MSVC compiler feature header. 64c30bdc Features: Record for MSVC C++ 2015 and MSVC C 2010-2015. 225c0ef8 Features: Record for MSVC 2010-2013. This topic was merged to master prematurely, so remove it.
* | Merge topic 'feature_record_msvc'Brad King2015-01-111-2/+3
|\ \ | |/ | | | | | | | | | | | | 2d738ce3 Help: Add notes for topic 'feature_record_msvc' f73718c9 Features: Enable writing of MSVC compiler feature header. 64c30bdc Features: Record for MSVC C++ 2015 and MSVC C 2010-2015. 225c0ef8 Features: Record for MSVC 2010-2013.
| * Features: Enable writing of MSVC compiler feature header.Robert Maynard2015-01-111-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Notes: VS2015 and above are the only MSVC versions to support cxx_final, so remove usages from the tests, and instead only test for cxx_override. VS2012 and above to conform to cxx_decltype_incomplete_return_types proposal, but without support for auto return types the dcl.type.simple example in the proposal doesn't compile. VS2013 and above to conform to the updated cxx_contextual_conversions proposal, but VS2010 and above pass the test. Compilers such as MSVC have no explicit flags to enable C++11 mode, it just is always on. So only run the link tests with compilers that require a flag to specify the language version.
* | WCDH: Add feature portability for thread_local.Stephen Kelly2015-01-011-0/+15
|/ | | | | | | | | | | | | | | | | AppleClang does not support the cxx_thread_local feature, even though it is based on a Clang version which does support the feature. http://stackoverflow.com/a/23850891/2428389 A possible reason for that is that thread_local might be used as a variable in existing Apple SDK headers. Extend the WriteCompilerDetectionHeader module to generate a define for that feature with portability fallbacks. For the avoidance of making it easy to write code which looks correct but which has odd runtime behavior, don't set the define symbol at all if no equivalent keyword is known.
* Features: Record for AppleClang 5.1Stephen Kelly2014-12-221-3/+4
| | | | | Apple's Clang 5.1 already supports most of the C and C++ features CMake enumerates.
* Merge topic 'WCDH-multi-file'Brad King2014-11-261-4/+97
|\ | | | | | | | | 4cf5179c WCDH: Make it possible to generate multiple files.
| * WCDH: Make it possible to generate multiple files.Stephen Kelly2014-11-241-4/+97
| | | | | | | | | | | | Extend the write_compiler_detection_header interface to allow specifying a location for supplementary files, and getting the list of resulting files as a variable.
* | WCDH: Don't imply that MSVC is supported by the module.Stephen Kelly2014-11-231-1/+1
|/ | | | Remove the mention of it from the docs.
* WCDH: Ensure that the prefix argument to the macro is valid.Stephen Kelly2014-07-021-0/+8
| | | | | The prefix must be a C-identifier because it is written as the prefix of preprocessor macros and possibly structs.
* WCDH: Fix compiler id test for compatibility macros.Stephen Kelly2014-06-131-4/+4
| | | | Enable the alignment features for Clang.
* WCDH: Remove noise from generated defines.Stephen Kelly2014-06-131-7/+7
| | | | | | The DECL part is redundant, and the language part is not needed. The source language and context already determines the language, so there is no need to repeat it in the define name.
* WCDH: Document the alignof and alignas wrapper macros.Stephen Kelly2014-06-101-0/+10
|
* Merge topic 'WriteCompilerDetectionHeader-compiler-versions'Brad King2014-06-101-3/+57
|\ | | | | | | | | | | | | | | ddec418a Features: Add compiler version support to WriteCompilerDetectionHeader. b7029576 Project: Add configurable name for version computation macros. 78acaafe Project: Separate simulated compiler id from version detection. 567af1a5 WCDH: Issue a better message for version compatibility.
| * Features: Add compiler version support to WriteCompilerDetectionHeader.Stephen Kelly2014-06-091-1/+50
| |
| * WCDH: Issue a better message for version compatibility.Stephen Kelly2014-06-051-2/+7
| |
* | WCDH: Add compatibility defines for deprecation.Stephen Kelly2014-06-091-10/+52
|/
* Help: Add a manual for compiler feature control.Stephen Kelly2014-05-271-0/+3
| | | | | | | | Link to it from the documentation of related properties, variables and commands. Extend the cmake-developer(7) documentation with notes on extending feature support for compilers.
* Features: Record for Clang 3.4Stephen Kelly2014-05-201-0/+1
| | | | Clang 3.4 supports all features currently known to CMake.
* Features: Extend concept to C language.Stephen Kelly2014-05-141-4/+20
| | | | | | | | | | | Add properties and variables corresponding to CXX equivalents. Add features for c_function_prototypes (C90), c_restrict (C99), c_variadic_macros (C99) and c_static_assert (C11). This feature set can be extended later. Add a <PREFIX>_RESTRICT symbol define to WriteCompilerDetectionHeader to conditionally represent the c_restrict feature.
* Add the WriteCompilerDetectionHeader module.Stephen Kelly2014-05-141-0/+401
Provide a function to write a portable header to detect compiler features. Generate a preprocessor #error for unknown compilers and compiler versions whose features are not yet recorded. This error condition might be relaxed in the future, but for now it is useful for verification of expectations.