xenia/xenia.gyp

376 lines
8.5 KiB
Plaintext
Raw Normal View History

# Copyright 2013 Ben Vanik. All Rights Reserved.
{
'includes': [
'src/xenia/cpu/frontend/test/test.gypi',
'src/xenia/cpu/test/test.gypi',
'tools/tools.gypi',
2013-05-24 00:39:03 +00:00
'third_party/beaengine.gypi',
'third_party/gflags.gypi',
2014-12-20 21:55:05 +00:00
'third_party/glew.gypi',
2015-02-21 19:16:24 +00:00
'third_party/imgui.gypi',
'third_party/llvm.gypi',
'third_party/sparsehash.gypi',
2014-12-23 18:22:14 +00:00
'third_party/xxhash.gypi',
],
2013-11-16 09:41:51 +00:00
'default_configuration': 'release',
'variables': {
'configurations': {
'Debug': {
2013-11-16 09:41:51 +00:00
},
'Release': {
2013-11-16 09:41:51 +00:00
},
},
'library%': 'static_library',
'target_arch%': 'x64',
},
'conditions': [
['OS=="win"', {
'variables': {
'move_command%': 'move'
},
}, {
'variables': {
'move_command%': 'mv'
},
}]
],
2013-11-16 09:41:51 +00:00
'target_defaults': {
'include_dirs': [
'include/',
2014-05-28 05:54:40 +00:00
'third_party/',
'.',
2013-11-16 09:41:51 +00:00
],
'defines': [
'__STDC_LIMIT_MACROS=1',
'__STDC_CONSTANT_MACROS=1',
'_ISOC99_SOURCE=1',
2014-08-22 03:49:47 +00:00
'_CRT_NONSTDC_NO_DEPRECATE=1',
2013-11-16 09:41:51 +00:00
],
'conditions': [
['OS == "win"', {
'defines': [
'_WIN64=1',
'_AMD64_=1',
# HACK: it'd be nice to use the proper functions, when available.
'_CRT_SECURE_NO_WARNINGS=1',
],
}],
],
'cflags': [
2014-08-01 04:56:51 +00:00
'-std=c++11',
2013-11-16 09:41:51 +00:00
],
'configurations': {
'common_base': {
'abstract': 1,
'msvs_configuration_platform': 'x64',
'msvs_configuration_attributes': {
'OutputDirectory': '$(SolutionDir)$(ConfigurationName)',
'IntermediateDirectory': '$(OutDir)\\obj\\$(ProjectName)',
'CharacterSet': '1',
},
2014-12-20 03:29:12 +00:00
'msvs_disabled_warnings': [
4458, # warning C4458: declaration of 'x' hides class member
],
2013-11-16 09:41:51 +00:00
'msvs_configuration_platform': 'x64',
'msvs_cygwin_shell': '0',
'msvs_settings': {
'VCCLCompilerTool': {
#'MinimalRebuild': 'true',
'BufferSecurityCheck': 'true',
'EnableFunctionLevelLinking': 'true',
'RuntimeTypeInfo': 'false',
'WarningLevel': '3',
#'WarnAsError': 'true',
'DebugInformationFormat': '3',
'ExceptionHandling': '1', # /EHsc
'AdditionalOptions': [
#'/TP', # Compile as C++
'/EHsc', # C++ exception handling,
'/MP',
2013-11-16 09:41:51 +00:00
],
},
'VCLinkerTool': {
'GenerateDebugInformation': 'true',
#'LinkIncremental': '1', # 1 = NO, 2 = YES
'TargetMachine': '17', # x86 - 64
'AdditionalLibraryDirectories': [
],
'EntryPointSymbol': 'wWinMainCRTStartup',
2013-11-16 09:41:51 +00:00
},
},
'scons_settings': {
'sconsbuild_dir': '<(DEPTH)/build/xenia/',
},
'xcode_settings': {
'SYMROOT': '<(DEPTH)/build/xenia/',
'ALWAYS_SEARCH_USER_PATHS': 'NO',
'ARCHS': ['x86_64'],
2014-08-19 05:01:55 +00:00
'CLANG_CXX_LANGUAGE_STANDARD': 'c++1y',
2013-11-16 09:41:51 +00:00
'COMBINE_HIDPI_IMAGES': 'YES',
'GCC_C_LANGUAGE_STANDARD': 'gnu99',
'GCC_SYMBOLS_PRIVATE_EXTERN': 'YES',
#'GCC_TREAT_WARNINGS_AS_ERRORS': 'YES',
'GCC_WARN_ABOUT_MISSING_NEWLINE': 'YES',
'GCC_VERSION': 'com.apple.compilers.llvm.clang.1_0',
'WARNING_CFLAGS': ['-Wall', '-Wendif-labels'],
'LIBRARY_SEARCH_PATHS': [
],
},
'defines': [
],
},
'Debug': {
2013-11-16 09:41:51 +00:00
'inherit_from': ['common_base',],
'defines': [
'DEBUG',
'XE_DEBUG=1',
2013-11-16 09:41:51 +00:00
],
'msvs_configuration_attributes': {
'OutputDirectory': '<(DEPTH)\\build\\xenia\\Debug',
2013-11-16 09:41:51 +00:00
},
'msvs_settings': {
'VCCLCompilerTool': {
'Optimization': '0',
'BasicRuntimeChecks': '0', # disable /RTC1 when compiling /O2
'DebugInformationFormat': '3',
'ExceptionHandling': '0',
'RuntimeTypeInfo': 'false',
'OmitFramePointers': 'false',
},
'VCLinkerTool': {
'LinkIncremental': '2',
'GenerateDebugInformation': 'true',
'StackReserveSize': '2097152',
},
},
'xcode_settings': {
'GCC_OPTIMIZATION_LEVEL': '0',
},
},
'Debug_x64': {
'inherit_from': ['Debug',],
2013-11-16 09:41:51 +00:00
},
'Release': {
2013-11-16 09:41:51 +00:00
'inherit_from': ['common_base',],
'defines': [
'RELEASE',
'NDEBUG',
],
'msvs_configuration_attributes': {
'OutputDirectory': '<(DEPTH)\\build\\xenia\\release',
},
'msvs_settings': {
'VCCLCompilerTool': {
'Optimization': '2',
'InlineFunctionExpansion': '2',
'EnableIntrinsicFunctions': 'true',
'FavorSizeOrSpeed': '0',
'ExceptionHandling': '0',
'RuntimeTypeInfo': 'false',
'OmitFramePointers': 'false',
'StringPooling': 'true',
},
'VCLinkerTool': {
'LinkIncremental': '1',
'GenerateDebugInformation': 'true',
'OptimizeReferences': '2',
'EnableCOMDATFolding': '2',
'StackReserveSize': '2097152',
},
},
},
'Release_x64': {
'inherit_from': ['Release',],
2013-11-16 09:41:51 +00:00
},
},
},
'targets': [
{
2014-12-20 00:50:27 +00:00
'target_name': 'libxenia',
'product_name': 'libxenia',
'type': 'static_library',
'dependencies': [
'beaengine',
'gflags',
2014-12-20 21:55:05 +00:00
'glew',
'llvm',
2014-12-23 18:22:14 +00:00
'xxhash',
],
'export_dependent_settings': [
'beaengine',
'gflags',
2014-12-20 21:55:05 +00:00
'glew',
'llvm',
2014-12-23 18:22:14 +00:00
'xxhash',
],
'direct_dependent_settings': {
'include_dirs': [
'src/',
],
'target_conditions': [
['_type=="shared_library"', {
'cflags': [
],
}],
['_type=="executable"', {
'conditions': [
2013-02-07 03:57:45 +00:00
['OS == "win"', {
'libraries': [
'kernel32',
'user32',
'ole32',
2013-02-07 03:57:45 +00:00
'wsock32',
'Ws2_32',
2013-10-24 05:42:48 +00:00
'xinput',
2014-01-13 07:23:55 +00:00
'xaudio2',
'Shell32',
2014-05-28 05:54:40 +00:00
'advapi32',
2014-12-20 21:55:05 +00:00
'glu32',
'opengl32',
2014-12-21 09:21:32 +00:00
'gdi32',
'ntdll',
],
}],
['OS == "mac"', {
'xcode_settings': {
'OTHER_LDFLAGS': [
],
},
}],
2013-02-10 20:21:56 +00:00
['OS == "linux"', {
'libraries': [
'-lpthread',
'-ldl',
2014-12-20 21:55:05 +00:00
'-lGLU',
'-lGL',
2013-02-10 20:21:56 +00:00
],
}],
],
}],
],
},
'conditions': [
['OS == "mac"', {
'xcode_settings': {
'OTHER_CFLAGS': [
'-fno-operator-names',
],
},
}],
['OS == "linux"', {
'cflags': [
'-fno-operator-names',
],
}],
],
'cflags': [
],
'include_dirs': [
'.',
'src/',
2015-05-02 17:44:41 +00:00
# TODO(benvanik): remove when xbyak fixed:
# https://github.com/herumi/xbyak/issues/20
'third_party/xbyak/',
],
'includes': [
'src/xenia/sources.gypi',
],
},
2014-08-09 17:32:16 +00:00
{
2014-12-20 00:50:27 +00:00
'target_name': 'xenia',
'type': 'executable',
2014-08-09 17:32:16 +00:00
2014-12-20 00:50:27 +00:00
'msvs_settings': {
'VCLinkerTool': {
'SubSystem': '2'
},
2014-08-09 17:32:16 +00:00
},
2014-12-20 00:50:27 +00:00
'dependencies': [
'libxenia',
2014-08-09 17:32:16 +00:00
],
'include_dirs': [
'.',
],
2014-12-20 00:50:27 +00:00
'sources': [
'src/xenia/xenia_main.cc',
2014-08-09 17:32:16 +00:00
],
},
{
'target_name': 'gpu-trace-viewer',
'type': 'executable',
'msvs_settings': {
'VCLinkerTool': {
'SubSystem': '2'
},
},
'dependencies': [
2015-02-21 19:16:24 +00:00
'imgui',
'libxenia',
],
'include_dirs': [
'.',
],
'sources': [
'src/xenia/gpu/trace_viewer_main.cc',
],
},
{
'target_name': 'api-scanner',
'type': 'executable',
'msvs_settings': {
'VCLinkerTool': {
'SubSystem': '1'
},
},
'dependencies': [
'libxenia',
],
'include_dirs': [
'.',
],
'includes': [
'src/xenia/tools/api-scanner/sources.gypi',
],
},
],
}