Summary: Yoga may be built with a high warning level. This is helpful in letting Yoga be used in more places, and finding defects. We currently set these in the internal BUCK build, the CMake reference build, and the Yoga Standalone (not RN) CocoaPods build. Yoga's reference CMake build and spec are consumed today by users of Yoga, instead of just Yoga developers. Here, it makes more sense to avoid anything that could break compiler-to-compiler compatibility. We default these to a less intense (`-Wall -Werror`). I kept `/W4`, for pragmatic reasons, and since it is relatively standard for MSVC. We continue to build with strict flags on Buck build on Clang. Fixes https://github.com/facebook/yoga/issues/1590 Differential Revision: D54735661
51 lines
1.4 KiB
Ruby
51 lines
1.4 KiB
Ruby
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
#
|
|
# This source code is licensed under the MIT license found in the
|
|
# LICENSE file in the root directory of this source tree.
|
|
|
|
|
|
Pod::Spec.new do |spec|
|
|
spec.name = 'Yoga'
|
|
spec.version = '0.0.0'
|
|
spec.license = { :type => 'MIT', :file => "LICENSE" }
|
|
spec.homepage = 'https://yogalayout.dev/'
|
|
spec.documentation_url = 'https://yogalayout.dev/docs'
|
|
|
|
spec.summary = 'An embeddable and performant flexbox layout engine with bindings for multiple languages'
|
|
|
|
spec.authors = {'Meta Open Source' => 'opensource@meta.com'}
|
|
spec.source = {
|
|
:git => 'https://github.com/facebook/yoga.git',
|
|
:tag => "v#{spec.version.to_s}",
|
|
}
|
|
|
|
spec.ios.deployment_target = "13.4"
|
|
|
|
spec.module_name = 'yoga'
|
|
spec.requires_arc = false
|
|
spec.pod_target_xcconfig = {
|
|
'DEFINES_MODULE' => 'YES',
|
|
'HEADER_SEARCH_PATHS' => '"$(PODS_TARGET_SRCROOT)"',
|
|
}
|
|
|
|
spec.compiler_flags = [
|
|
'-fno-omit-frame-pointer',
|
|
'-fexceptions',
|
|
'-Wall',
|
|
'-Werror',
|
|
'-std=c++20',
|
|
'-fPIC'
|
|
]
|
|
|
|
spec.swift_version = '5.1'
|
|
spec.source_files = 'yoga/**/*.{h,cpp}'
|
|
spec.header_mappings_dir = 'yoga'
|
|
|
|
public_header_files = 'yoga/*.h'
|
|
spec.public_header_files = public_header_files
|
|
|
|
all_header_files = 'yoga/**/*.h'
|
|
spec.private_header_files = Dir.glob(all_header_files) - Dir.glob(public_header_files)
|
|
spec.preserve_paths = [all_header_files]
|
|
end
|