mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-10-08 19:10:53 +00:00
Update build configuration
This commit is contained in:
parent
13bd90f34b
commit
02bedc1281
200
BUCK
200
BUCK
@ -1,3 +1,5 @@
|
||||
load('//tools:buck_utils.bzl', 'config_with_updated_linker_flags', 'combined_config', 'configs_with_config')
|
||||
load('//tools:buck_defs.bzl', 'SHARED_CONFIGS', 'EXTENSION_LIB_SPECIFIC_CONFIG')
|
||||
|
||||
COMMON_PREPROCESSOR_FLAGS = [
|
||||
'-fobjc-arc',
|
||||
@ -44,6 +46,7 @@ apple_library(
|
||||
'Source/**/*.mm',
|
||||
'Source/Base/*.m'
|
||||
]),
|
||||
configs = configs_with_config(combined_config([SHARED_CONFIGS, EXTENSION_LIB_SPECIFIC_CONFIG])),
|
||||
preprocessor_flags = COMMON_PREPROCESSOR_FLAGS,
|
||||
lang_preprocessor_flags = COMMON_LANG_PREPROCESSOR_FLAGS,
|
||||
linker_flags = COMMON_LINKER_FLAGS,
|
||||
@ -59,200 +62,3 @@ apple_library(
|
||||
'$SDKROOT/System/Library/Frameworks/CoreGraphics.framework',
|
||||
]
|
||||
)
|
||||
|
||||
|
||||
'''#####################################
|
||||
# Defines
|
||||
#####################################
|
||||
COMMON_PREPROCESSOR_FLAGS = [
|
||||
'-fobjc-arc',
|
||||
'-DDEBUG=1',
|
||||
'-fno-exceptions',
|
||||
'-fno-objc-arc-exceptions'
|
||||
]
|
||||
|
||||
COMMON_LANG_PREPROCESSOR_FLAGS = {
|
||||
'C': ['-std=gnu99'],
|
||||
'CXX': ['-std=c++11', '-stdlib=libc++'],
|
||||
'OBJCXX': ['-std=c++11', '-stdlib=libc++'],
|
||||
}
|
||||
|
||||
COMMON_LINKER_FLAGS = ['-ObjC++']
|
||||
|
||||
ASYNCDISPLAYKIT_EXPORTED_HEADERS = glob([
|
||||
'Source/*.h',
|
||||
'Source/Details/**/*.h',
|
||||
'Source/Layout/*.h',
|
||||
'Source/Base/*.h',
|
||||
'Source/Debug/AsyncDisplayKit+Debug.h',
|
||||
# Most TextKit components are not public because the C++ content
|
||||
# in the headers will cause build errors when using
|
||||
# `use_frameworks!` on 0.39.0 & Swift 2.1.
|
||||
# See https://github.com/facebook/AsyncDisplayKit/issues/1153
|
||||
'Source/TextKit/ASTextNodeTypes.h',
|
||||
'Source/TextKit/ASTextKitComponents.h'
|
||||
])
|
||||
|
||||
ASYNCDISPLAYKIT_PRIVATE_HEADERS = glob([
|
||||
'Source/**/*.h'
|
||||
],
|
||||
excludes = ASYNCDISPLAYKIT_EXPORTED_HEADERS,
|
||||
)
|
||||
|
||||
def asyncdisplaykit_library(
|
||||
name,
|
||||
additional_preprocessor_flags = [],
|
||||
deps = [],
|
||||
additional_frameworks = []):
|
||||
|
||||
apple_library(
|
||||
name = name,
|
||||
prefix_header = 'Source/AsyncDisplayKit-Prefix.pch',
|
||||
header_path_prefix = 'AsyncDisplayKit',
|
||||
exported_headers = ASYNCDISPLAYKIT_EXPORTED_HEADERS,
|
||||
headers = ASYNCDISPLAYKIT_PRIVATE_HEADERS,
|
||||
srcs = glob([
|
||||
'Source/**/*.m',
|
||||
'Source/**/*.mm',
|
||||
'Source/Base/*.m'
|
||||
]),
|
||||
preprocessor_flags = COMMON_PREPROCESSOR_FLAGS + additional_preprocessor_flags,
|
||||
lang_preprocessor_flags = COMMON_LANG_PREPROCESSOR_FLAGS,
|
||||
linker_flags = COMMON_LINKER_FLAGS + [
|
||||
'-weak_framework',
|
||||
'Photos',
|
||||
'-weak_framework',
|
||||
'MapKit',
|
||||
],
|
||||
deps = deps,
|
||||
frameworks = [
|
||||
'$SDKROOT/System/Library/Frameworks/Foundation.framework',
|
||||
'$SDKROOT/System/Library/Frameworks/UIKit.framework',
|
||||
|
||||
'$SDKROOT/System/Library/Frameworks/QuartzCore.framework',
|
||||
'$SDKROOT/System/Library/Frameworks/CoreMedia.framework',
|
||||
'$SDKROOT/System/Library/Frameworks/CoreText.framework',
|
||||
'$SDKROOT/System/Library/Frameworks/CoreGraphics.framework',
|
||||
'$SDKROOT/System/Library/Frameworks/CoreLocation.framework',
|
||||
'$SDKROOT/System/Library/Frameworks/AVFoundation.framework',
|
||||
|
||||
# TODO somehow AssetsLibrary can't be weak_framework
|
||||
'$SDKROOT/System/Library/Frameworks/AssetsLibrary.framework',
|
||||
] + additional_frameworks,
|
||||
visibility = ['PUBLIC'],
|
||||
)
|
||||
|
||||
#####################################
|
||||
# AsyncDisplayKit targets
|
||||
#####################################
|
||||
asyncdisplaykit_library(
|
||||
name = 'AsyncDisplayKit-Core',
|
||||
)
|
||||
|
||||
# (Default) AsyncDisplayKit and AsyncDisplayKit-PINRemoteImage targets are basically the same library with different names
|
||||
for name in ['AsyncDisplayKit', 'AsyncDisplayKit-PINRemoteImage']:
|
||||
asyncdisplaykit_library(
|
||||
name = name,
|
||||
deps = [
|
||||
'//Pods/PINRemoteImage:PINRemoteImage-PINCache',
|
||||
],
|
||||
additional_frameworks = [
|
||||
'$SDKROOT/System/Library/Frameworks/MobileCoreServices.framework',
|
||||
]
|
||||
)
|
||||
|
||||
#####################################
|
||||
# Test Host
|
||||
# TODO: Split to smaller BUCK files and parse in parallel
|
||||
#####################################
|
||||
apple_resource(
|
||||
name = 'TestHostResources',
|
||||
files = ['Tests/TestHost/Default-568h@2x.png'],
|
||||
dirs = [],
|
||||
)
|
||||
|
||||
apple_bundle(
|
||||
name = 'TestHost',
|
||||
binary = ':TestHostBinary',
|
||||
extension = 'app',
|
||||
info_plist = 'Tests/TestHost/Info.plist',
|
||||
info_plist_substitutions = {
|
||||
'PRODUCT_BUNDLE_IDENTIFIER': 'com.facebook.AsyncDisplayKitTestHost',
|
||||
},
|
||||
tests = [':Tests'],
|
||||
)
|
||||
|
||||
apple_binary(
|
||||
name = 'TestHostBinary',
|
||||
headers = glob(['Tests/TestHost/*.h']),
|
||||
srcs = glob(['Tests/TestHost/*.m']),
|
||||
lang_preprocessor_flags = COMMON_LANG_PREPROCESSOR_FLAGS,
|
||||
linker_flags = COMMON_LINKER_FLAGS,
|
||||
deps = [
|
||||
':TestHostResources',
|
||||
':AsyncDisplayKit-Core',
|
||||
],
|
||||
frameworks = [
|
||||
'$SDKROOT/System/Library/Frameworks/Photos.framework',
|
||||
'$SDKROOT/System/Library/Frameworks/MapKit.framework',
|
||||
],
|
||||
)
|
||||
|
||||
apple_package(
|
||||
name = 'TestHostPackage',
|
||||
bundle = ':TestHost',
|
||||
)
|
||||
|
||||
#####################################
|
||||
# Tests
|
||||
#####################################
|
||||
apple_resource(
|
||||
name = 'TestsResources',
|
||||
files = ['Tests/en.lproj/InfoPlist.strings'],
|
||||
dirs = ['Tests/TestResources'],
|
||||
)
|
||||
|
||||
apple_test(
|
||||
name = 'Tests',
|
||||
test_host_app = ':TestHost',
|
||||
info_plist = 'Tests/AsyncDisplayKitTests-Info.plist',
|
||||
info_plist_substitutions = {
|
||||
'PRODUCT_BUNDLE_IDENTIFIER': 'com.facebook.AsyncDisplayKitTests',
|
||||
},
|
||||
prefix_header = 'Tests/AsyncDisplayKitTests-Prefix.pch',
|
||||
header_path_prefix = 'AsyncDisplayKit',
|
||||
# Expose all ASDK headers to tests
|
||||
headers = ASYNCDISPLAYKIT_EXPORTED_HEADERS + ASYNCDISPLAYKIT_PRIVATE_HEADERS + glob(['Tests/*.h']),
|
||||
srcs = glob([
|
||||
'Tests/*.m',
|
||||
'Tests/*.mm'
|
||||
],
|
||||
# ASTextNodePerformanceTests are excluded (#2173)
|
||||
excludes = ['Tests/ASTextNodePerformanceTests.m*']
|
||||
),
|
||||
snapshot_reference_images_path='Tests/ReferenceImages',
|
||||
preprocessor_flags = COMMON_PREPROCESSOR_FLAGS + [
|
||||
'-Wno-implicit-function-declaration',
|
||||
'-Wno-deprecated-declarations',
|
||||
],
|
||||
lang_preprocessor_flags = COMMON_LANG_PREPROCESSOR_FLAGS,
|
||||
linker_flags = COMMON_LINKER_FLAGS,
|
||||
deps = [
|
||||
':TestsResources',
|
||||
'//Pods/OCMock:OCMock',
|
||||
'//Pods/FBSnapshotTestCase:FBSnapshotTestCase',
|
||||
'//Pods/JGMethodSwizzler:JGMethodSwizzler',
|
||||
],
|
||||
frameworks = [
|
||||
'$SDKROOT/System/Library/Frameworks/Foundation.framework',
|
||||
'$SDKROOT/System/Library/Frameworks/UIKit.framework',
|
||||
|
||||
'$SDKROOT/System/Library/Frameworks/CoreMedia.framework',
|
||||
'$SDKROOT/System/Library/Frameworks/CoreText.framework',
|
||||
'$SDKROOT/System/Library/Frameworks/CoreGraphics.framework',
|
||||
'$SDKROOT/System/Library/Frameworks/AVFoundation.framework',
|
||||
|
||||
'$PLATFORM_DIR/Developer/Library/Frameworks/XCTest.framework',
|
||||
],
|
||||
)
|
||||
'''
|
Loading…
x
Reference in New Issue
Block a user