Changed: Define Clang features for OS X cross compilation
--HG-- branch : develop
This commit is contained in:
parent
403f342156
commit
1526c7ea84
1 changed files with 21 additions and 5 deletions
|
@ -24,9 +24,25 @@ IF(DEFINED CMAKE_CROSSCOMPILING)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
# Force the compilers to Clang for OS X
|
# Force the compilers to Clang for OS X
|
||||||
|
|
||||||
|
# C
|
||||||
SET(CMAKE_C_COMPILER x86_64-apple-darwin15-clang)
|
SET(CMAKE_C_COMPILER x86_64-apple-darwin15-clang)
|
||||||
|
SET(CMAKE_C_STANDARD_COMPUTED_DEFAULT "11")
|
||||||
|
SET(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert")
|
||||||
|
SET(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes")
|
||||||
|
SET(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros")
|
||||||
|
SET(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert")
|
||||||
|
|
||||||
|
# C++
|
||||||
SET(CMAKE_CXX_COMPILER x86_64-apple-darwin15-clang++)
|
SET(CMAKE_CXX_COMPILER x86_64-apple-darwin15-clang++)
|
||||||
set(CMAKE_CXX_COMPILER_ID "AppleClang")
|
SET(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17")
|
||||||
|
SET(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters")
|
||||||
|
SET(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates")
|
||||||
|
SET(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates")
|
||||||
|
SET(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17")
|
||||||
|
|
||||||
|
# make
|
||||||
|
SET(CMAKE_MAKE_PROGRAM make)
|
||||||
|
|
||||||
# Skip the platform compiler checks for cross compiling.
|
# Skip the platform compiler checks for cross compiling.
|
||||||
SET(CMAKE_CXX_COMPILER_FORCED TRUE)
|
SET(CMAKE_CXX_COMPILER_FORCED TRUE)
|
||||||
|
@ -86,9 +102,10 @@ SET(CMAKE_OSX_SYSROOT ${CMAKE_OSX_SYSROOT}/MacOSX${OSX_SDK}.sdk)
|
||||||
|
|
||||||
# Standard settings
|
# Standard settings
|
||||||
SET(CMAKE_SYSTEM_NAME Darwin)
|
SET(CMAKE_SYSTEM_NAME Darwin)
|
||||||
set(CMAKE_SYSTEM "Darwin-15.0.0")
|
SET(CMAKE_SYSTEM "Darwin-15.0.0")
|
||||||
set(CMAKE_SYSTEM_VERSION "15.0.0")
|
SET(CMAKE_SYSTEM_VERSION "15.0.0")
|
||||||
set(CMAKE_SYSTEM_PROCESSOR "x86_64")
|
SET(CMAKE_SYSTEM_PROCESSOR "x86_64")
|
||||||
|
|
||||||
SET(UNIX ON)
|
SET(UNIX ON)
|
||||||
SET(APPLE ON)
|
SET(APPLE ON)
|
||||||
|
|
||||||
|
@ -112,4 +129,3 @@ SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||||
|
|
||||||
# determinate location for bin utils based on CMAKE_FIND_ROOT_PATH
|
# determinate location for bin utils based on CMAKE_FIND_ROOT_PATH
|
||||||
INCLUDE(CMakeFindBinUtils)
|
INCLUDE(CMakeFindBinUtils)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue