blob: fb976ff1ece4d23a40a46b949e43e5195f3475f8 [file] [log] [blame]
# Copyright (c) 2010 The ANGLE Project Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
{
'includes': [ 'common_defines.gypi', ],
'variables':
{
'angle_build_tests%': '1',
'angle_build_samples%': '1',
'angle_build_winrt%': '0',
'angle_build_winphone%': '0',
# angle_code is set to 1 for the core ANGLE targets defined in src/build_angle.gyp.
# angle_code is set to 0 for test code, sample code, and third party code.
# When angle_code is 1, we build with additional warning flags on Mac and Linux.
'angle_code%': 0,
'release_symbols%': 'true',
'gcc_or_clang_warnings':
[
'-Wall',
'-Wchar-subscripts',
'-Werror',
'-Wextra',
'-Wformat=2',
'-Winit-self',
'-Wno-sign-compare',
'-Wno-unused-function',
'-Wno-unused-parameter',
'-Wno-unknown-pragmas',
'-Wpacked',
'-Wpointer-arith',
'-Wundef',
'-Wwrite-strings',
'-Wno-reorder',
'-Wno-format-nonliteral',
],
},
'target_defaults':
{
'default_configuration': 'Debug',
'variables':
{
'warn_as_error%': 1,
},
'target_conditions':
[
['warn_as_error == 1',
{
'msvs_settings':
{
'VCCLCompilerTool':
{
'WarnAsError': 'true',
},
},
}],
],
'configurations':
{
'Common_Base':
{
'abstract': 1,
'msvs_configuration_attributes':
{
'OutputDirectory': '$(SolutionDir)$(ConfigurationName)_$(Platform)',
'IntermediateDirectory': '$(OutDir)\\obj\\$(ProjectName)',
'CharacterSet': '0', # ASCII
},
'msvs_settings':
{
'VCCLCompilerTool':
{
'AdditionalOptions': ['/MP'],
'BufferSecurityCheck': 'true',
'DebugInformationFormat': '3',
'ExceptionHandling': '0',
'EnableFunctionLevelLinking': 'true',
'MinimalRebuild': 'false',
'RuntimeTypeInfo': 'true',
'WarningLevel': '4',
},
'VCLinkerTool':
{
'FixedBaseAddress': '1',
'ImportLibrary': '$(OutDir)\\lib\\$(TargetName).lib',
'MapFileName': '$(OutDir)\\$(TargetName).map',
# Most of the executables we'll ever create are tests
# and utilities with console output.
'SubSystem': '1', # /SUBSYSTEM:CONSOLE
},
'VCResourceCompilerTool':
{
'Culture': '1033',
},
},
}, # Common_Base
'Debug_Base':
{
'abstract': 1,
'defines':
[
'_DEBUG'
],
'msvs_settings':
{
'VCCLCompilerTool':
{
'Optimization': '0', # /Od
'BasicRuntimeChecks': '3',
'RuntimeLibrary': '1', # /MTd (debug static)
'conditions':
[
# winrt compilation requires that this library is
# uses dynamic linked runtime
['angle_build_winrt==1',
{
'RuntimeLibrary': '3', # /MDd (debug dynamic)
}],
],
},
'VCLinkerTool':
{
'GenerateDebugInformation': 'true',
'LinkIncremental': '2',
},
},
'xcode_settings':
{
'COPY_PHASE_STRIP': 'NO',
'GCC_OPTIMIZATION_LEVEL': '0',
},
}, # Debug_Base
'Release_Base':
{
'abstract': 1,
'defines':
[
'NDEBUG'
],
'msvs_settings':
{
'VCCLCompilerTool':
{
'Optimization': '2', # /Os
'RuntimeLibrary': '0', # /MT (static)
'conditions':
[
# winrt compilation requires that this library is
# uses dynamic linked runtime
['angle_build_winrt==1',
{
'RuntimeLibrary': '2', # /MDd (debug dynamic)
}],
],
},
'VCLinkerTool':
{
'GenerateDebugInformation': '<(release_symbols)',
'LinkIncremental': '1',
},
},
}, # Release_Base
'x86_Base':
{
'abstract': 1,
'msvs_configuration_platform': 'Win32',
'msvs_settings':
{
'VCLinkerTool':
{
'TargetMachine': '1',
'AdditionalLibraryDirectories':
[
'<(windows_sdk_path)/Lib/win8/um/x86',
],
},
'VCLibrarianTool':
{
'TargetMachine': '1',
'AdditionalLibraryDirectories':
[
'<(windows_sdk_path)/Lib/win8/um/x86',
],
},
},
}, # x86_Base
'x64_Base':
{
'abstract': 1,
'msvs_configuration_platform': 'x64',
'msvs_settings':
{
'VCLinkerTool':
{
'TargetMachine': '17', # x86 - 64
'AdditionalLibraryDirectories':
[
'<(windows_sdk_path)/Lib/win8/um/x64',
],
},
'VCLibrarianTool':
{
'AdditionalLibraryDirectories':
[
'<(windows_sdk_path)/Lib/win8/um/x64',
],
},
},
}, # x64_Base
'arm_Base':
{
'abstract': 1,
'msvs_configuration_platform': 'ARM',
'msvs_settings':
{
'VCLinkerTool':
{
'TargetMachine': '3', # ARM
'AdditionalLibraryDirectories':
[
'<(windows_8_1_sdk_path)/Lib/win8/um/arm',
],
},
'VCLibrarianTool':
{
'AdditionalLibraryDirectories':
[
'<(windows_8_1_sdk_path)/Lib/win8/um/arm',
],
},
},
}, # arm_Base
# Concrete configurations
'Debug':
{
'inherit_from': ['Common_Base', 'x86_Base', 'Debug_Base'],
},
'Release':
{
'inherit_from': ['Common_Base', 'x86_Base', 'Release_Base'],
},
'conditions':
[
['angle_build_winrt==0 and OS == "win" and MSVS_VERSION != "2010e"',
{
'Debug_x64':
{
'inherit_from': ['Common_Base', 'x64_Base', 'Debug_Base'],
},
'Release_x64':
{
'inherit_from': ['Common_Base', 'x64_Base', 'Release_Base'],
},
}],
['angle_build_winrt==1 and angle_build_winphone==0',
{
'Debug_x64':
{
'inherit_from': ['Common_Base', 'x64_Base', 'Debug_Base'],
},
'Release_x64':
{
'inherit_from': ['Common_Base', 'x64_Base', 'Release_Base'],
},
'Debug_ARM':
{
'inherit_from': ['Common_Base', 'arm_Base', 'Debug_Base'],
},
'Release_ARM':
{
'inherit_from': ['Common_Base', 'arm_Base', 'Release_Base'],
},
}],
['angle_build_winrt==1 and angle_build_winphone==1',
{
'Debug_ARM':
{
'inherit_from': ['Common_Base', 'arm_Base', 'Debug_Base'],
},
'Release_ARM':
{
'inherit_from': ['Common_Base', 'arm_Base', 'Release_Base'],
},
}],
],
}, # configurations
}, # target_defaults
'conditions':
[
['OS == "win"',
{
'target_defaults':
{
'msvs_cygwin_dirs': ['../third_party/cygwin'],
},
},
{ # OS != win
'target_defaults':
{
'cflags':
[
'-fPIC',
'-std=c++0x',
],
},
}],
['OS != "win" and OS != "mac"',
{
'target_defaults':
{
'cflags':
[
'-pthread',
'-fno-exceptions',
],
'ldflags':
[
'-pthread',
],
'configurations':
{
'Debug':
{
'variables':
{
'debug_optimize%': '0',
},
'defines':
[
'_DEBUG',
],
'cflags':
[
'-O>(debug_optimize)',
'-g',
],
}
},
},
}],
['angle_code==1',
{
'target_defaults':
{
'conditions':
[
['OS == "mac"',
{
'xcode_settings':
{
'WARNING_CFLAGS': ['<@(gcc_or_clang_warnings)']
},
}],
['OS != "win" and OS != "mac"',
{
'cflags': ['<@(gcc_or_clang_warnings)']
}],
]
}
}],
],
}