Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Features: Add cxx_right_angle_brackets. | Stephen Kelly | 2014-04-08 | 4 | -0/+19 |
| | |||||
* | Features: Add cxx_decltype_incomplete_return_types. | Stephen Kelly | 2014-04-08 | 4 | -2/+23 |
| | |||||
* | Features: Add cxx_sizeof_member. | Stephen Kelly | 2014-04-08 | 4 | -0/+17 |
| | |||||
* | Features: Add cxx_thread_local. | Stephen Kelly | 2014-04-08 | 4 | -0/+9 |
| | |||||
* | Features: Add cxx_inline_namespaces. | Stephen Kelly | 2014-04-08 | 4 | -0/+33 |
| | |||||
* | Features: Add cxx_variadic_macros. | Stephen Kelly | 2014-04-08 | 4 | -0/+20 |
| | |||||
* | Features: Add cxx_uniform_initialization. | Stephen Kelly | 2014-04-08 | 4 | -0/+16 |
| | |||||
* | Features: Add cxx_generalized_initializers. | Stephen Kelly | 2014-04-08 | 4 | -0/+30 |
| | |||||
* | Features: Add cxx_attributes. | Stephen Kelly | 2014-04-08 | 4 | -0/+9 |
| | |||||
* | Features: Add cxx_alignof. | Stephen Kelly | 2014-04-08 | 4 | -0/+12 |
| | |||||
* | Features: Add cxx_alignas. | Stephen Kelly | 2014-04-08 | 4 | -0/+11 |
| | | | | | | 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 Kelly | 2014-04-08 | 4 | -0/+20 |
| | |||||
* | Features: Add cxx_unrestricted_unions. | Stephen Kelly | 2014-04-08 | 4 | -0/+18 |
| | |||||
* | Features: Add cxx_unicode_literals. | Stephen Kelly | 2014-04-08 | 4 | -0/+10 |
| | |||||
* | Features: Add cxx_user_literals. | Stephen Kelly | 2014-04-08 | 4 | -0/+14 |
| | |||||
* | Features: Add cxx_alias_templates. | Stephen Kelly | 2014-04-08 | 4 | -0/+18 |
| | |||||
* | Features: Add cxx_rvalue_references. | Stephen Kelly | 2014-04-08 | 4 | -0/+12 |
| | |||||
* | Features: Add cxx_reference_qualified_functions. | Stephen Kelly | 2014-04-08 | 4 | -0/+20 |
| | |||||
* | Features: Add cxx_raw_string_literals. | Stephen Kelly | 2014-04-08 | 4 | -0/+14 |
| | |||||
* | Features: Add cxx_range_for. | Stephen Kelly | 2014-04-08 | 4 | -0/+17 |
| | |||||
* | Features: Add cxx_nullptr. | Stephen Kelly | 2014-04-08 | 4 | -0/+17 |
| | |||||
* | Features: Add cxx_noexcept. | Stephen Kelly | 2014-04-08 | 4 | -0/+12 |
| | |||||
* | Features: Add cxx_nonstatic_member_init. | Stephen Kelly | 2014-04-08 | 4 | -0/+11 |
| | |||||
* | Features: Add cxx_lambdas. | Stephen Kelly | 2014-04-08 | 4 | -0/+12 |
| | |||||
* | Features: Add cxx_inheriting_constructors. | Stephen Kelly | 2014-04-08 | 4 | -0/+26 |
| | |||||
* | Features: Add cxx_explicit_conversions. | Stephen Kelly | 2014-04-08 | 4 | -0/+19 |
| | |||||
* | Features: Add cxx_deleted_functions. | Stephen Kelly | 2014-04-08 | 4 | -0/+13 |
| | |||||
* | Features: Add cxx_defaulted_functions. | Stephen Kelly | 2014-04-08 | 4 | -0/+16 |
| | |||||
* | Features: Add cxx_decltype. | Stephen Kelly | 2014-04-08 | 4 | -0/+14 |
| | |||||
* | Features: Add cxx_strong_enums. | Stephen Kelly | 2014-04-08 | 4 | -0/+14 |
| | |||||
* | Features: Add cxx_auto_function. | Stephen Kelly | 2014-04-08 | 4 | -0/+12 |
| | |||||
* | Features: Add cxx_override. | Stephen Kelly | 2014-04-08 | 4 | -0/+14 |
| | |||||
* | Features: Add cxx_final. | Stephen Kelly | 2014-04-08 | 4 | -0/+9 |
| | |||||
* | Features: Add cxx_static_assert. | Stephen Kelly | 2014-04-08 | 4 | -0/+11 |
| | |||||
* | Features: Add cxx_constexpr. | Stephen Kelly | 2014-04-08 | 4 | -0/+14 |
| | |||||
* | Features: Add cxx_variadic_templates. | Stephen Kelly | 2014-04-08 | 4 | -1/+85 |
| | | | | | | | Expect cxx_variadic_templates to implement N2555. N2555 is essentially a bugfix and predates most compiler releases which aimed to experimentally support variadic templates. | ||||
* | Features: Add cxx_delegating_constructors. | Stephen Kelly | 2014-04-08 | 4 | -1/+25 |
| | |||||
* | Export: Populate INTERFACE_COMPILE_FEATURES property. | Stephen Kelly | 2014-04-08 | 5 | -1/+29 |
| | |||||
* | Add target_compile_features command. | Stephen Kelly | 2014-04-07 | 49 | -0/+342 |
| | | | | | | | | | | | This can be used to set the compiler features required by particular targets. An error is issued at CMake time if the compiler does not support the required feature. If a language dialect flag is required by the features used, that will be added automatically. Base the target_compile_features command on cmTargetPropCommandBase. This gives us 'free' handling of IMPORTED, ALIAS, INTERFACE, non-compilable and missing targets. | ||||
* | cmTargetPropCommandBase: Change the interface to return bool. | Stephen Kelly | 2014-04-07 | 10 | -16/+22 |
| | | | | | This is needed for the target_compile_features command, which may fail at configure time if an invalid feature is specified. | ||||
* | cmTarget: Transitively evaluate compiler features. | Stephen Kelly | 2014-04-07 | 21 | -14/+203 |
| | | | | | | | | | | | Extend the interface of the target_compile_features command with PUBLIC and INTERFACE keywords. Populate the INTERFACE_COMPILER_FEATURES target property if they are set. Consume the INTERFACE_COMPILER_FEATURES target property from linked dependent targets to determine the final required compiler features and the compile flag, if needed. Use the same pattern of origin-debugging which is used for other build properties. | ||||
* | cmTarget: Allow populating COMPILE_FEATURES using generator expressions. | Stephen Kelly | 2014-04-07 | 10 | -9/+44 |
| | | | | | | Delay validation of the content as a feature if it contains a generator expression. It will be checked again at generate-time after evaluation. | ||||
* | Features: Add cxx_auto_type. | Stephen Kelly | 2014-04-07 | 16 | -2/+105 |
| | | | | | | | | | | | | | | Record the availability of this feature for GNU 4.8 on (UNIX AND NOT APPLE) only. In the future, availability can be recorded for earlier GNU, for other platforms and for other compilers. Initially the affected configurations are as restricted as possible to allow for easy testing while extending the features vector in only one dimension. The error message when using the set_property API directly is not very good, but follow up commits will provide origin debugging of the property and a target_compile_features command which will provide a configure-time backtrace when possible. | ||||
* | cmTarget: Add COMPILE_FEATURES target property. | Stephen Kelly | 2014-04-07 | 7 | -0/+184 |
| | | | | | | | Use the contents of it to upgrade the CXX_STANDARD target property, if appropriate. This will have the effect of adding the -std=c++11 compile flag or other language specification on GNU when that is needed for the feature. | ||||
* | project: Add infrastructure for recording CXX compiler features | Stephen Kelly | 2014-04-07 | 7 | -0/+124 |
| | | | | | | | | | | | | | | Add a feature test using the compiler macros and the preprocessor to determine available features. Add a CMAKE_CXX_COMPILE_FEATURES variable which contains all features known to the loaded compiler, and a CMAKE_CXX_KNOWN_FEATURES variable containing all features known to CMake. Add language standard specific variables for internal use to determine the standard-specific compile flags to use. This will be extended to other languages in the future. Follow-up commits will add features which will be recorded by the feature test. | ||||
* | cmTarget: Add CXX_STANDARD and CXX_EXTENSION target properties. | Stephen Kelly | 2014-04-07 | 15 | -0/+137 |
| | | | | | These are used to determine whether to add -std=c++11, -std=gnu++11 etc flags on the compile line. | ||||
* | Add some COMPILE_OPTIONS for specifying C++ dialect. | Stephen Kelly | 2014-04-07 | 3 | -0/+30 |
| | | | | | These are compiler-specific, compiler version specific, extension specific and standard version specific. | ||||
* | Tests: Require CMake 3.0 for the SystemInformation test. | Stephen Kelly | 2014-04-07 | 1 | -1/+1 |
| | | | | Correctly identify AppleClang. | ||||
* | Don't load Clang-CXX from AppleClang-CXX. | Stephen Kelly | 2014-04-07 | 2 | -1/+11 |
| | | | | | The Clang-CXX module is going to get version-specific checks, and the version system for AppleClang is not the same as Clang. | ||||
* | Merge topic 'optimize-source-file-processing' | Brad King | 2014-04-07 | 5 | -47/+100 |
|\ | | | | | | | | | | | | | | | | | a4e6bf8e cmTarget: Make GetSourceFiles string overload private. 92e2fbe1 cmGeneratorTarget: Trace cmSourceFile objects instead of strings. c5b26f3b cmTarget: Cache the cmSourceFiles in GetSourceFiles. eb163f37 cmTarget: Extract a ProcessSourceItemCMP0049 method. 19b7c22d Ninja: Query custom commands once per target, not once per file. |