1load( 2 "//tools/build_defs/oss:rn_defs.bzl", 3 "ANDROID", 4 "APPLE", 5 "CXX", 6 "YOGA_CXX_TARGET", 7 "fb_xplat_cxx_test", 8 "get_apple_compiler_flags", 9 "get_apple_inspector_flags", 10 "get_preprocessor_flags_for_build_mode", 11 "react_native_xplat_target", 12 "rn_xplat_cxx_library", 13 "subdir_glob", 14) 15 16APPLE_COMPILER_FLAGS = get_apple_compiler_flags() 17 18rn_xplat_cxx_library( 19 name = "image", 20 srcs = glob( 21 ["**/*.cpp"], 22 exclude = glob(["tests/**/*.cpp"]), 23 ), 24 headers = [], 25 header_namespace = "", 26 exported_headers = subdir_glob( 27 [ 28 ("", "*.h"), 29 ], 30 prefix = "react/renderer/components/image", 31 ), 32 fbandroid_deps = [ 33 react_native_xplat_target("react/renderer/mapbuffer:mapbuffer"), 34 ], 35 fbobjc_compiler_flags = APPLE_COMPILER_FLAGS, 36 fbobjc_preprocessor_flags = get_preprocessor_flags_for_build_mode() + get_apple_inspector_flags(), 37 labels = [ 38 "pfh:ReactNative_CommonInfrastructurePlaceholder", 39 "supermodule:xplat/default/public.react_native.infra", 40 ], 41 macosx_tests_override = [], 42 platforms = (ANDROID, APPLE, CXX), 43 preprocessor_flags = [ 44 "-DLOG_TAG=\"ReactNative\"", 45 "-DWITH_FBSYSTRACE=1", 46 ], 47 tests = [":tests"], 48 visibility = ["PUBLIC"], 49 deps = [ 50 "//xplat/folly:headers_only_do_not_use", 51 "//xplat/folly:molly", 52 YOGA_CXX_TARGET, 53 react_native_xplat_target("react/debug:debug"), 54 react_native_xplat_target("react/renderer/debug:debug"), 55 react_native_xplat_target("react/renderer/core:core"), 56 react_native_xplat_target("react/renderer/graphics:graphics"), 57 react_native_xplat_target("react/renderer/imagemanager:imagemanager"), 58 react_native_xplat_target("react/renderer/components/view:view"), 59 ], 60) 61 62fb_xplat_cxx_test( 63 name = "tests", 64 srcs = glob(["tests/**/*.cpp"]), 65 headers = glob(["tests/**/*.h"]), 66 compiler_flags = [ 67 "-fexceptions", 68 "-frtti", 69 "-std=c++17", 70 "-Wall", 71 ], 72 contacts = ["[email protected]"], 73 platforms = (ANDROID, APPLE, CXX), 74 deps = [ 75 ":image", 76 "//xplat/folly:molly", 77 "//xplat/third-party/gmock:gtest", 78 ], 79) 80