Add TurboModule code-gen support

Summary:
Add TurboModule code-gen support for macOS and Windows

Changelog
[General][Internal] - Add TurboModule code-gen support for macOS and Windows

Reviewed By: javache

Differential Revision: D40140890

fbshipit-source-id: 60d235f16af590c07abddba3d289efa7d1d973c0
This commit is contained in:
Christoph Purrer 2022-10-10 15:42:06 -07:00 коммит произвёл Facebook GitHub Bot
Родитель 1fc27c4cba
Коммит 53f1f6b9cd
2 изменённых файлов: 18 добавлений и 2 удалений

Просмотреть файл

@ -13,12 +13,14 @@ load(
"IOS", "IOS",
"IS_OSS_BUILD", "IS_OSS_BUILD",
"MACOSX", "MACOSX",
"WINDOWS",
"YOGA_CXX_TARGET", "YOGA_CXX_TARGET",
"fb_xplat_cxx_test", "fb_xplat_cxx_test",
"get_apple_compiler_flags", "get_apple_compiler_flags",
"get_apple_inspector_flags", "get_apple_inspector_flags",
"get_preprocessor_flags_for_build_mode", "get_preprocessor_flags_for_build_mode",
"react_native_dep", "react_native_dep",
"react_native_desktop_root_target",
"react_native_root_target", "react_native_root_target",
"react_native_target", "react_native_target",
"react_native_xplat_shared_library_target", "react_native_xplat_shared_library_target",
@ -563,15 +565,24 @@ def rn_codegen_cxx_modules(
fbobjc_compiler_flags = get_apple_compiler_flags(), fbobjc_compiler_flags = get_apple_compiler_flags(),
fbobjc_preprocessor_flags = get_preprocessor_flags_for_build_mode() + get_apple_inspector_flags(), fbobjc_preprocessor_flags = get_preprocessor_flags_for_build_mode() + get_apple_inspector_flags(),
labels = library_labels + ["codegen_rule"], labels = library_labels + ["codegen_rule"],
platforms = (ANDROID, APPLE, CXX), platforms = (ANDROID, APPLE, CXX, WINDOWS),
preprocessor_flags = [ preprocessor_flags = [
"-DLOG_TAG=\"ReactNative\"", "-DLOG_TAG=\"ReactNative\"",
"-DWITH_FBSYSTRACE=1", "-DWITH_FBSYSTRACE=1",
], ],
visibility = ["PUBLIC"], visibility = ["PUBLIC"],
exported_deps = [ fbandroid_exported_deps = [
react_native_xplat_target("react/nativemodule/core:core"), react_native_xplat_target("react/nativemodule/core:core"),
], ],
ios_exported_deps = [
react_native_xplat_target("react/nativemodule/core:core"),
],
macosx_exported_deps = [
react_native_desktop_root_target(":bridging"),
],
windows_exported_deps = [
react_native_desktop_root_target(":bridging"),
],
) )
def is_running_buck_project(): def is_running_buck_project():

Просмотреть файл

@ -52,6 +52,8 @@ ANDROID = "Android"
APPLE = "Apple" APPLE = "Apple"
WINDOWS = "Windows"
# Apple SDK Definitions # Apple SDK Definitions
IOS = "ios" IOS = "ios"
@ -163,6 +165,9 @@ def react_native_root_target(path):
def react_native_xplat_shared_library_target(path): def react_native_xplat_shared_library_target(path):
return react_native_xplat_target(path) return react_native_xplat_target(path)
def react_native_desktop_root_target(path):
return "//" + path
# Example: react_native_tests_target('java/com/facebook/react/modules:modules') # Example: react_native_tests_target('java/com/facebook/react/modules:modules')
def react_native_tests_target(path): def react_native_tests_target(path):
return "//ReactAndroid/src/test/" + path return "//ReactAndroid/src/test/" + path