123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157 |
- load("@fbsource//tools/build_defs/apple:flag_defs.bzl", "get_preprocessor_flags_for_build_mode")
- load(
- "//tools/build_defs/oss:rn_defs.bzl",
- "ANDROID",
- "APPLE",
- "CXX",
- "YOGA_CXX_TARGET",
- "fb_xplat_cxx_test",
- "get_apple_compiler_flags",
- "get_apple_inspector_flags",
- "react_native_target",
- "react_native_xplat_target",
- "rn_xplat_cxx_library",
- "subdir_glob",
- )
- APPLE_COMPILER_FLAGS = get_apple_compiler_flags()
- rn_xplat_cxx_library(
- name = "textlayoutmanager",
- srcs = glob(
- [
- "*.cpp",
- ],
- ),
- headers = subdir_glob(
- [
- ("", "*.h"),
- ],
- prefix = "",
- ),
- header_namespace = "",
- exported_headers = subdir_glob(
- [
- ("", "*.h"),
- ],
- prefix = "react/textlayoutmanager",
- ),
- compiler_flags = [
- "-fexceptions",
- "-frtti",
- "-std=c++14",
- "-Wall",
- ],
- cxx_exported_headers = subdir_glob(
- [
- ("platform/cxx", "*.h"),
- ],
- prefix = "react/textlayoutmanager",
- ),
- cxx_headers = subdir_glob(
- [
- ("platform/cxx", "**/*.h"),
- ],
- prefix = "",
- ),
- cxx_srcs = glob(
- [
- "platform/cxx/**/*.cpp",
- ],
- ),
- cxx_tests = [":tests"],
- fbandroid_deps = [
- react_native_target("jni/react/jni:jni"),
- ],
- fbandroid_exported_headers = subdir_glob(
- [
- ("platform/android", "*.h"),
- ],
- prefix = "react/textlayoutmanager",
- ),
- fbandroid_headers = subdir_glob(
- [
- ("platform/android", "**/*.h"),
- ],
- prefix = "",
- ),
- fbandroid_srcs = glob(
- [
- "platform/android/**/*.cpp",
- ],
- ),
- fbobjc_compiler_flags = APPLE_COMPILER_FLAGS,
- fbobjc_labels = ["supermodule:ios/default/public.react_native.infra"],
- fbobjc_preprocessor_flags = get_preprocessor_flags_for_build_mode() + get_apple_inspector_flags(),
- force_static = True,
- ios_deps = [
- ],
- ios_exported_headers = subdir_glob(
- [
- ("platform/ios", "*.h"),
- ],
- prefix = "react/textlayoutmanager",
- ),
- ios_frameworks = [
- "$SDKROOT/System/Library/Frameworks/CoreGraphics.framework",
- "$SDKROOT/System/Library/Frameworks/Foundation.framework",
- "$SDKROOT/System/Library/Frameworks/UIKit.framework",
- ],
- ios_headers = subdir_glob(
- [
- ("platform/ios", "**/*.h"),
- ],
- prefix = "",
- ),
- ios_srcs = glob(
- [
- "platform/ios/**/*.cpp",
- "platform/ios/**/*.mm",
- ],
- ),
- macosx_tests_override = [],
- platforms = (ANDROID, APPLE, CXX),
- preprocessor_flags = [
- "-DLOG_TAG=\"ReactNative\"",
- "-DWITH_FBSYSTRACE=1",
- ],
- visibility = ["PUBLIC"],
- deps = [
- "//xplat/fbsystrace:fbsystrace",
- "//xplat/folly:headers_only",
- "//xplat/folly:memory",
- "//xplat/folly:molly",
- "//xplat/third-party/glog:glog",
- YOGA_CXX_TARGET,
- react_native_xplat_target("fabric/attributedstring:attributedstring"),
- react_native_xplat_target("fabric/core:core"),
- react_native_xplat_target("utils:utils"),
- react_native_xplat_target("fabric/debug:debug"),
- react_native_xplat_target("fabric/graphics:graphics"),
- react_native_xplat_target("fabric/uimanager:uimanager"),
- ],
- )
- fb_xplat_cxx_test(
- name = "tests",
- srcs = glob(["tests/**/*.cpp"]),
- headers = glob(["tests/**/*.h"]),
- compiler_flags = [
- "-fexceptions",
- "-frtti",
- "-std=c++14",
- "-Wall",
- ],
- contacts = ["oncall+react_native@xmail.facebook.com"],
- platforms = (
- # `Apple` and `Android` flavors are disabled because the module (built with those flavors) requires Emulator/Simulator (which is expensive and slow). At the same time, we don't really have tests here.
- # ANDROID,
- # APPLE,
- CXX,
- ),
- deps = [
- ":textlayoutmanager",
- "//xplat/folly:molly",
- "//xplat/third-party/gmock:gtest",
- ],
- )
|