Files
Qlyra/third_party/rlottie.podspec
T

65 lines
2.9 KiB
Ruby

Pod::Spec.new do |s|
s.name = 'rlottie'
s.version = '0.2.0'
s.summary = 'Samsung rlottie native Lottie renderer for Komet.'
s.description = 'Compiles the Samsung/rlottie submodule sources into the app so the native animation engine can be reached via dart:ffi (DynamicLibrary.process()).'
s.homepage = 'https://github.com/Samsung/rlottie'
s.license = { :type => 'MIT', :file => 'rlottie/COPYING' }
s.author = { 'Samsung Electronics' => 'opensource@samsung.com' }
s.source = { :path => '.' }
s.ios.deployment_target = '13.0'
s.osx.deployment_target = '10.15'
s.requires_arc = false
s.source_files = [
'rlottie/inc/*.h',
'rlottie_build/apple/config.h',
'rlottie/src/lottie/*.{cpp,h}',
'rlottie/src/lottie/zip/*.{cpp,h}',
'rlottie/src/lottie/rapidjson/**/*.h',
'rlottie/src/vector/*.{cpp,h}',
'rlottie/src/vector/freetype/*.{cpp,h}',
'rlottie/src/vector/pixman/pixman-arm-neon-asm.h',
'rlottie/src/vector/stb/*.{cpp,h}',
'rlottie/src/binding/c/*.cpp',
]
# rapidjson's msinttypes/ are MSVC-only shims (guarded by _MSC_VER in
# rapidjson.h); on Apple clang they must not be compiled — the module build
# would otherwise hit their `#error "Use this header only with MSVC"`.
s.exclude_files = [
'rlottie/src/vector/pixman/*.S',
'rlottie/src/lottie/rapidjson/msinttypes/*.h',
]
s.public_header_files = 'rlottie/inc/*.h'
s.pod_target_xcconfig = {
# On Apple arm64 the compiler predefines __ARM_NEON__, which pulls in
# vdrawhelper_neon.cpp's hand-asm blitter calling pixman_composite_*_asm_neon
# — defined only in pixman-arm-neon-asm.S, which we can't assemble in the pod
# (excluded above) → undefined symbols at link. Drop the hand-asm path (like
# the CMake build does for 32-bit ARM) and let the C blitter compile; clang
# still auto-vectorizes it to NEON. No-op on x86_64 (macro undefined there).
'OTHER_CFLAGS' => '$(inherited) -U__ARM_NEON__',
'OTHER_CPLUSPLUSFLAGS' => '$(inherited) -U__ARM_NEON__',
'CLANG_CXX_LANGUAGE_STANDARD' => 'c++14',
'CLANG_CXX_LIBRARY' => 'libc++',
'GCC_ENABLE_CPP_EXCEPTIONS' => 'NO',
'GCC_ENABLE_CPP_RTTI' => 'NO',
'CLANG_WARN_DOCUMENTATION_COMMENTS' => 'NO',
'GCC_WARN_INHIBIT_ALL_WARNINGS' => 'YES',
'DEFINES_MODULE' => 'YES',
'HEADER_SEARCH_PATHS' => [
'"${PODS_TARGET_SRCROOT}/rlottie/inc"',
'"${PODS_TARGET_SRCROOT}/rlottie_build/apple"',
'"${PODS_TARGET_SRCROOT}/rlottie/src/lottie"',
'"${PODS_TARGET_SRCROOT}/rlottie/src/lottie/zip"',
'"${PODS_TARGET_SRCROOT}/rlottie/src/lottie/rapidjson"',
'"${PODS_TARGET_SRCROOT}/rlottie/src/vector"',
'"${PODS_TARGET_SRCROOT}/rlottie/src/vector/freetype"',
'"${PODS_TARGET_SRCROOT}/rlottie/src/vector/pixman"',
'"${PODS_TARGET_SRCROOT}/rlottie/src/vector/stb"',
].join(' '),
}
end