summaryrefslogtreecommitdiffstats
path: root/Tests/CompileFeatures
Commit message (Collapse)AuthorAgeFilesLines
* Features: Fix the default C dialect for Clang and GNU.Stephen Kelly2014-11-204-12/+69
| | | | | | | | | | | | | | Clang 3.4 uses C99 by default, and Clang 3.6 uses C11 by default: http://thread.gmane.org/gmane.comp.compilers.clang.devel/39379 GNU 4.9 uses C90 by default, and GNU 5.0 uses C11 by default: https://gcc.gnu.org/gcc-5/changes.html Test that the default compiler settings result in the expected dialect macros being defined for both C and CXX. Remove the unused main.c file from the CompileFeatures unit test.
* Features: Test the CXX compiler only if it has features.Stephen Kelly2014-11-181-28/+30
| | | | | If using different C and CXX compilers, we might not have a feature-full CXX compiler at this point.
* Features: Add support for C++14 features.Stephen Kelly2014-05-2212-1/+140
| | | | Record the features implemented by GNU 4.9 and Clang 3.4.
* Features: Add COMPILE_FEATURES generator expression.Stephen Kelly2014-05-212-0/+35
| | | | | | | | | | | | Allow setting build properties based on the features available for a target. The availability of features is determined at generate-time by evaluating the link implementation. Ensure that the <LANG>_STANDARD determined while evaluating COMPILE_FEATURES in the link implementation is not lower than that provided by the INTERFACE of the link implementation. This is similar to handling of transitive properties such as POSITION_INDEPENDENT_CODE.
* Features: Extend concept to C language.Stephen Kelly2014-05-146-2/+53
| | | | | | | | | | | 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.
* Test: Parameterize the language in the CompileFeature test.Stephen Kelly2014-05-091-19/+23
|
* Tests: Make CompileFeature tests use highest standard known.Stephen Kelly2014-05-092-3/+29
| | | | | | | | Remove the use of check_cxx_source_compiles which is now just getting in the way. Blacklist the cxx_alignof feature in the test with GNU 4.7. The test file compiles, but it is documented as available first in GNU 4.8.
* Merge topic 'GNU-4.7-features'Brad King2014-05-081-7/+18
|\ | | | | | | | | 9cbc63e4 Features: Record for GNU 4.7.
| * Features: Record for GNU 4.7.Stephen Kelly2014-05-071-7/+18
| | | | | | | | | | Update the CompileFeatures test to verify that unsupported features do not work.
* | cmTarget: Add CXX_STANDARD_REQUIRED to control decay.Stephen Kelly2014-05-071-0/+3
|/
* Features: Make CMAKE_CXX_KNOWN_FEATURES a property.Stephen Kelly2014-05-021-1/+2
| | | | | As a 'built-in' variable it imposes a cost on all variable lookups and it is expected to be rarely used.
* Merge topic 'cxx98-features'Brad King2014-04-301-0/+18
|\ | | | | | | | | a36b957f Features: Add cxx_template_template_parameters.
| * Features: Add cxx_template_template_parameters.Stephen Kelly2014-04-161-0/+18
| | | | | | | | | | Extend the existing feature infrastructure as needed to support both C++11 and C++98 features.
* | Tests: Execute compile features tests unconditionally.Stephen Kelly2014-04-171-0/+8
|/ | | | Conditionally create a dummy test if there are no known features.
* Features: Add cxx_defaulted_move_initializers.Stephen Kelly2014-04-081-0/+7
|
* Features: Add cxx_long_long_type.Stephen Kelly2014-04-081-0/+5
|
* Features: Add cxx_func_identifier.Stephen Kelly2014-04-081-0/+6
|
* Features: Add cxx_local_type_template_args.Stephen Kelly2014-04-081-0/+21
|
* Features: Add cxx_extended_friend_declarations.Stephen Kelly2014-04-081-0/+25
|
* Features: Add cxx_enum_forward_declarations.Stephen Kelly2014-04-081-0/+8
|
* Features: Add cxx_default_function_template_args.Stephen Kelly2014-04-081-0/+12
|
* Features: Add cxx_right_angle_brackets.Stephen Kelly2014-04-081-0/+12
|
* Features: Add cxx_decltype_incomplete_return_types.Stephen Kelly2014-04-081-0/+14
|
* Features: Add cxx_sizeof_member.Stephen Kelly2014-04-081-0/+10
|
* Features: Add cxx_thread_local.Stephen Kelly2014-04-081-0/+2
|
* Features: Add cxx_inline_namespaces.Stephen Kelly2014-04-081-0/+26
|
* Features: Add cxx_variadic_macros.Stephen Kelly2014-04-081-0/+12
|
* Features: Add cxx_uniform_initialization.Stephen Kelly2014-04-081-0/+9
|
* Features: Add cxx_generalized_initializers.Stephen Kelly2014-04-081-0/+23
|
* Features: Add cxx_attributes.Stephen Kelly2014-04-081-0/+2
|
* Features: Add cxx_alignof.Stephen Kelly2014-04-081-0/+5
|
* Features: Add cxx_alignas.Stephen Kelly2014-04-081-0/+4
| | | | | | cxx_alignof will be a separate feature known to CMake, because both can be implemented with separate backward compatibility versions.
* Features: Add cxx_extern_templates.Stephen Kelly2014-04-081-0/+12
|
* Features: Add cxx_unrestricted_unions.Stephen Kelly2014-04-081-0/+11
|
* Features: Add cxx_unicode_literals.Stephen Kelly2014-04-081-0/+3
|
* Features: Add cxx_user_literals.Stephen Kelly2014-04-081-0/+7
|
* Features: Add cxx_alias_templates.Stephen Kelly2014-04-081-0/+11
|
* Features: Add cxx_rvalue_references.Stephen Kelly2014-04-081-0/+5
|
* Features: Add cxx_reference_qualified_functions.Stephen Kelly2014-04-081-0/+11
|
* Features: Add cxx_raw_string_literals.Stephen Kelly2014-04-081-0/+7
|
* Features: Add cxx_range_for.Stephen Kelly2014-04-081-0/+10
|
* Features: Add cxx_nullptr.Stephen Kelly2014-04-081-0/+10
|
* Features: Add cxx_noexcept.Stephen Kelly2014-04-081-0/+5
|
* Features: Add cxx_nonstatic_member_init.Stephen Kelly2014-04-081-0/+4
|
* Features: Add cxx_lambdas.Stephen Kelly2014-04-081-0/+5
|
* Features: Add cxx_inheriting_constructors.Stephen Kelly2014-04-081-0/+18
|
* Features: Add cxx_explicit_conversions.Stephen Kelly2014-04-081-0/+10
|
* Features: Add cxx_deleted_functions.Stephen Kelly2014-04-081-0/+6
|
* Features: Add cxx_defaulted_functions.Stephen Kelly2014-04-081-0/+9
|
* Features: Add cxx_decltype.Stephen Kelly2014-04-081-0/+7
|