Ben Boeckel
ac4106c69a
cmMakefile: Use a hashmap for imported targets
2014-05-07 15:48:32 -04:00
Stephen Kelly
8d0b1ccac1
Features: FATAL_ERROR on compilers with no recorded features.
...
Users of the new target_compile_features command are expected to
check the existence of the CMAKE_CXX_COMPILE_FEATURES variable before
attempting to use it to require features.
2014-04-17 16:20:50 +02:00
Stephen Kelly
60c0d2dd81
Features: Add cxx_defaulted_move_initializers.
2014-04-08 11:05:58 +02:00
Stephen Kelly
c4e672358c
Features: Add cxx_long_long_type.
2014-04-08 11:05:58 +02:00
Stephen Kelly
dcaafada0e
Features: Add cxx_func_identifier.
2014-04-08 11:05:57 +02:00
Stephen Kelly
251a1f02a0
Features: Add cxx_local_type_template_args.
2014-04-08 11:05:57 +02:00
Stephen Kelly
53fe7773e6
Features: Add cxx_extended_friend_declarations.
2014-04-08 11:05:57 +02:00
Stephen Kelly
16603f7cdb
Features: Add cxx_enum_forward_declarations.
2014-04-08 11:05:57 +02:00
Stephen Kelly
adf22f611e
Features: Add cxx_default_function_template_args.
2014-04-08 11:05:57 +02:00
Stephen Kelly
7b3e8a0534
Features: Add cxx_right_angle_brackets.
2014-04-08 11:05:57 +02:00
Stephen Kelly
9a49fd21be
Features: Add cxx_decltype_incomplete_return_types.
2014-04-08 11:05:57 +02:00
Stephen Kelly
1889045ca6
Features: Add cxx_sizeof_member.
2014-04-08 11:05:57 +02:00
Stephen Kelly
ab455ebafd
Features: Add cxx_thread_local.
2014-04-08 11:05:57 +02:00
Stephen Kelly
300ce2481e
Features: Add cxx_inline_namespaces.
2014-04-08 11:05:57 +02:00
Stephen Kelly
f9d04a96b5
Features: Add cxx_variadic_macros.
2014-04-08 11:05:57 +02:00
Stephen Kelly
3d76656fb3
Features: Add cxx_uniform_initialization.
2014-04-08 11:05:56 +02:00
Stephen Kelly
e74b216c90
Features: Add cxx_generalized_initializers.
2014-04-08 11:05:56 +02:00
Stephen Kelly
ff80c3b420
Features: Add cxx_attributes.
2014-04-08 11:05:56 +02:00
Stephen Kelly
7605fee593
Features: Add cxx_alignof.
2014-04-08 11:05:56 +02:00
Stephen Kelly
e7d6e1f44f
Features: Add cxx_alignas.
...
cxx_alignof will be a separate feature known to CMake, because
both can be implemented with separate backward compatibility
versions.
2014-04-08 11:05:56 +02:00
Stephen Kelly
32c2acd65c
Features: Add cxx_extern_templates.
2014-04-08 11:05:56 +02:00
Stephen Kelly
9064f78b0c
Features: Add cxx_unrestricted_unions.
2014-04-08 11:05:56 +02:00
Stephen Kelly
3322b393a2
Features: Add cxx_unicode_literals.
2014-04-08 11:05:56 +02:00
Stephen Kelly
04c5b99f38
Features: Add cxx_user_literals.
2014-04-08 11:05:56 +02:00
Stephen Kelly
e1e292cd06
Features: Add cxx_alias_templates.
2014-04-08 11:05:56 +02:00
Stephen Kelly
3300f78310
Features: Add cxx_rvalue_references.
2014-04-08 11:05:55 +02:00
Stephen Kelly
b1c5bd5314
Features: Add cxx_reference_qualified_functions.
2014-04-08 11:05:55 +02:00
Stephen Kelly
ea9c445f06
Features: Add cxx_raw_string_literals.
2014-04-08 11:05:55 +02:00
Stephen Kelly
735adf2c94
Features: Add cxx_range_for.
2014-04-08 11:05:55 +02:00
Stephen Kelly
0fa9bbf1fa
Features: Add cxx_nullptr.
2014-04-08 11:05:55 +02:00
Stephen Kelly
8149fc909f
Features: Add cxx_noexcept.
2014-04-08 11:05:55 +02:00
Stephen Kelly
bd2a025eb0
Features: Add cxx_nonstatic_member_init.
2014-04-08 11:05:55 +02:00
Stephen Kelly
15cdf6f51d
Features: Add cxx_lambdas.
2014-04-08 11:05:55 +02:00
Stephen Kelly
a579a0aab4
Features: Add cxx_inheriting_constructors.
2014-04-08 11:05:55 +02:00
Stephen Kelly
ebab2015f9
Features: Add cxx_explicit_conversions.
2014-04-08 11:05:55 +02:00
Stephen Kelly
ac3a1b14c0
Features: Add cxx_deleted_functions.
2014-04-08 11:05:55 +02:00
Stephen Kelly
91f3699000
Features: Add cxx_defaulted_functions.
2014-04-08 11:05:54 +02:00
Stephen Kelly
7e748417bc
Features: Add cxx_decltype.
2014-04-08 11:05:54 +02:00
Stephen Kelly
8d3467636c
Features: Add cxx_strong_enums.
2014-04-08 11:05:54 +02:00
Stephen Kelly
0caf08e43e
Features: Add cxx_auto_function.
2014-04-08 11:05:54 +02:00
Stephen Kelly
0685ac6edc
Features: Add cxx_override.
2014-04-08 11:05:54 +02:00
Stephen Kelly
57ac6a905c
Features: Add cxx_final.
2014-04-08 11:05:54 +02:00
Stephen Kelly
88542a6101
Features: Add cxx_static_assert.
2014-04-08 11:05:54 +02:00
Stephen Kelly
91289312fa
Features: Add cxx_constexpr.
2014-04-08 11:05:54 +02:00
Stephen Kelly
10f33eee1d
Features: Add cxx_variadic_templates.
...
Expect cxx_variadic_templates to implement N2555.
N2555 is essentially a bugfix and predates most compiler releases which
aimed to experimentally support variadic templates.
2014-04-08 11:05:54 +02:00
Stephen Kelly
750dfee29c
Features: Add cxx_delegating_constructors.
2014-04-08 11:05:54 +02:00
Stephen Kelly
baff44345c
cmTarget: Allow populating COMPILE_FEATURES using generator expressions.
...
Delay validation of the content as a feature if it contains a
generator expression. It will be checked again at generate-time
after evaluation.
2014-04-07 18:11:18 +02:00
Stephen Kelly
f97bf4370c
Features: Add cxx_auto_type.
...
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.
2014-04-07 18:11:18 +02:00
Stephen Kelly
03355d6b5b
cmTarget: Add COMPILE_FEATURES target property.
...
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.
2014-04-07 16:52:22 +02:00
Stephen Kelly
ff710539ab
Remove default labels from fully covered switch statements.
...
Allow compilers to warn when new enum values are added, making
switches no-longer fully-covered.
2014-04-03 21:53:13 +02:00