Factor out xcode c/cpp settings into variables to apply to cmake builds.
BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1619243003 Review URL: https://codereview.chromium.org/1619243003
This commit is contained in:
parent
97293c6ce7
commit
32235eac4b
@ -471,6 +471,28 @@
|
||||
|
||||
[ 'skia_os == "mac"',
|
||||
{
|
||||
'variables': {
|
||||
# Setup some flags that are used below in both the XCode/ninja build as well as the
|
||||
# cmake build.
|
||||
'common_c_and_cpp_flags': [
|
||||
'-mssse3',
|
||||
'-fvisibility=hidden',
|
||||
'-fvisibility-inlines-hidden',
|
||||
'-Wall',
|
||||
'-Wextra',
|
||||
'-Winit-self',
|
||||
'-Wpointer-arith',
|
||||
'-Wsign-compare',
|
||||
'-Wno-unused-parameter',
|
||||
],
|
||||
'common_cpp_flags': [
|
||||
'-fno-threadsafe-statics',
|
||||
'-fno-exceptions',
|
||||
'-fno-rtti',
|
||||
'-std=c++11',
|
||||
'-stdlib=libc++'
|
||||
],
|
||||
},
|
||||
'defines': [ 'SK_BUILD_FOR_MAC' ],
|
||||
'conditions': [
|
||||
# ANGLE for mac hits -Wunneeded-internal-declaration if this isn't set.
|
||||
@ -504,13 +526,15 @@
|
||||
'MACOSX_DEPLOYMENT_TARGET': '<(skia_osx_deployment_target)',
|
||||
}],
|
||||
[ 'skia_sanitizer', {
|
||||
'GCC_ENABLE_CPP_RTTI': 'YES', # vptr needs rtti
|
||||
'OTHER_CFLAGS': [
|
||||
'-fsanitize=<(skia_sanitizer)', # Turn on sanitizers.
|
||||
'-fno-sanitize-recover=<(skia_sanitizer)', # Make any failure fatal.
|
||||
'-fsanitize-blacklist=<(skia_sanitizer_blacklist)', # Compile in our blacklist.
|
||||
'-include <(skia_sanitizer_blacklist)', # Make every .cpp depend on it.
|
||||
],
|
||||
'OTHER_CPLUSPLUSFLAGS': [
|
||||
'-frtti', # vptr needs rtti
|
||||
],
|
||||
# We want to pass -fsanitize=... to our final link call,
|
||||
# but not to libtool. OTHER_LDFLAGS is passed to both.
|
||||
# To trick GYP into doing what we want, we'll piggyback on
|
||||
@ -520,25 +544,24 @@
|
||||
}],
|
||||
],
|
||||
'CLANG_CXX_LIBRARY': 'libc++',
|
||||
'CLANG_CXX_LANGUAGE_STANDARD': 'c++11',
|
||||
'GCC_ENABLE_CPP_EXCEPTIONS': 'NO', # -fno-exceptions
|
||||
'GCC_ENABLE_CPP_RTTI': 'NO', # -fno-rtti
|
||||
'GCC_THREADSAFE_STATICS': 'NO', # -fno-threadsafe-statics
|
||||
'GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS': 'YES', # -mssse3
|
||||
'GCC_SYMBOLS_PRIVATE_EXTERN': 'NO', # -fvisibility=hidden
|
||||
'GCC_INLINES_ARE_PRIVATE_EXTERN': 'NO', # -fvisibility-inlines-hidden
|
||||
'GCC_CW_ASM_SYNTAX': 'NO', # remove -fasm-blocks
|
||||
'GCC_ENABLE_PASCAL_STRINGS': 'NO', # remove -mpascal-strings
|
||||
'WARNING_CFLAGS': [
|
||||
'-Wall',
|
||||
'-Wextra',
|
||||
'-Winit-self',
|
||||
'-Wpointer-arith',
|
||||
'-Wsign-compare',
|
||||
|
||||
'-Wno-unused-parameter',
|
||||
# Used by XCode and ninja
|
||||
'OTHER_CPLUSPLUSFLAGS': [
|
||||
'<@(common_cpp_flags)',
|
||||
'<@(common_c_and_cpp_flags)',
|
||||
],
|
||||
'OTHER_CFLAGS': [
|
||||
'<@(common_c_and_cpp_flags)',
|
||||
],
|
||||
},
|
||||
# Used by cmake
|
||||
'cflags': [
|
||||
'<@(common_c_and_cpp_flags)',
|
||||
],
|
||||
'cflags_cc': [
|
||||
'<@(common_cpp_flags)',
|
||||
],
|
||||
},
|
||||
],
|
||||
|
||||
|
@ -120,7 +120,7 @@
|
||||
'skia_os == "mac"', {
|
||||
'sources': [ '<(icu_directory)/mac/icudtl_dat.S', ],
|
||||
'xcode_settings': {
|
||||
'GCC_ENABLE_CPP_RTTI': 'YES', # -frtti
|
||||
'OTHER_CPLUSPLUSFLAGS': [ '-frtti' ],
|
||||
'WARNING_CFLAGS': [ '-w' ],
|
||||
},
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user