Brad King
c1edede31f
Merge topic 'compile-features-C-language'
...
e0890d03
Features: Extend concept to C language.
2014-05-20 09:40:14 -04:00
Stephen Kelly
e0890d03a4
Features: Extend concept to C language.
...
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.
2014-05-15 00:15:18 +02:00
Stephen Kelly
5c04dfe465
Features: Only require AppleClang policy to be NEW on APPLE.
2014-05-14 23:55:34 +02:00
Brad King
e506f1f16e
Merge topic 'features-gnu-oldest-supported'
...
f782417b
Features: Record the oldest supported compiler.
2014-05-12 09:31:08 -04:00
Stephen Kelly
5109b0428d
Features: Fix GNU 4.8.1 version test.
2014-05-10 08:58:49 +02:00
Stephen Kelly
f5bf9d4311
Tests: Make CompileFeature tests use highest standard known.
...
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.
2014-05-09 14:39:30 +02:00
Stephen Kelly
f782417b8c
Features: Record the oldest supported compiler.
...
This may be used to ensure that features are reported correctly
only if the compiler minimum version is met.
2014-05-08 18:02:14 +02:00
Brad King
f1d504d6cd
Merge topic 'GNU-4.7-features'
...
9cbc63e4
Features: Record for GNU 4.7.
2014-05-08 11:28:03 -04:00
Brad King
3e206022ab
Merge topic 'minor-cleanups'
...
47795421
Fix whitespace in docs.
aa283b6b
Features: Fix test for GNU 4.8.1.
bbfd4cd4
Features: Include the language of the compiler in error messages.
2014-05-08 11:27:57 -04:00
Brad King
9add7071a5
Merge topic 'hp-cpp98-tests'
...
b0f277db
HP aCC: record compiler flag for Ansi C++98 support for version 3.80 onwards
2014-05-08 11:27:55 -04:00
Brad King
7b3def93b6
Merge topic 'decay-language-version'
...
205215fb
cmTarget: Add CXX_STANDARD_REQUIRED to control decay.
1df2116b
Features: Decay language flag if requested is not available.
c4f4dac2
Project: Fix exit-on-error with compile feature tests.
5bb7ce72
Project: Use nullary form of main for compile feature tests.
64254e7a
Project: Remove extern from static string in feature tests.
0d9c99bf
Help: Fix order of help entries.
dc7639bd
Tests: Fix name of cache variable.
2014-05-08 11:27:53 -04:00
Stephen Kelly
9cbc63e40c
Features: Record for GNU 4.7.
...
Update the CompileFeatures test to verify that unsupported features
do not work.
2014-05-07 22:02:02 +02:00
Stephen Kelly
3b59f8b7c6
Project: Refactor C compiler determination into multiple files.
2014-05-07 14:28:36 +02:00
Stephen Kelly
8896501b23
CompilerId: Allow specifying a prefix for preprocessor defines.
2014-05-07 14:00:01 +02:00
Stephen Kelly
9d285600d4
Project: Generate the CXX compiler Id test from multiple files.
...
This will allow sharing of the logic of the order to test compilers in
and the preprocessor macros used to do that and to determine the
version components.
2014-05-07 14:00:00 +02:00
Stephen Kelly
aa283b6b01
Features: Fix test for GNU 4.8.1.
2014-05-07 12:40:42 +02:00
Stephen Kelly
1df2116bfa
Features: Decay language flag if requested is not available.
...
Use the highest standard compile flags available if requested language
version is too new.
This supports use-cases like
set(CMAKE_CXX_STANDARD 14)
# Compiled with -std=c++11 with GNU 4.7, which has no -std=c++14
# or equivalent flag
add_executable(main main.cpp)
This can be used in combination with preprocessor defines which
communicate the availability of certain language features for
optional use.
2014-05-07 12:17:49 +02:00
Stephen Kelly
c4f4dac2d5
Project: Fix exit-on-error with compile feature tests.
2014-05-07 12:16:14 +02:00
Rolf Eike Beer
b0f277db38
HP aCC: record compiler flag for Ansi C++98 support for version 3.80 onwards
...
Old versions of aCC need a special compiler flag to get full C++98 template
support as e.g. CMake itself or the Complex and ComplexOneConfig tests need.
The same versions need a special flag to get a proper C++ library, too.
2014-04-25 17:59:57 +02:00
Stephen Kelly
a36b957fc4
Features: Add cxx_template_template_parameters.
...
Extend the existing feature infrastructure as needed to support
both C++11 and C++98 features.
2014-04-16 15:16:23 +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