Move `yoga` to be consumed via prefab

Summary:
This removes the old way of consuming `libyoga.so` from
`Android-prebuilt.cmake` to using Prefab which is natively supported
by the Android pipeline.

Changelog:
[Internal] [Changed] - Move `yoga` to be consumed via prefab

Reviewed By: cipolleschi

Differential Revision: D39927496

fbshipit-source-id: f7ab2a3aab3cb42effa648dfeff6711d183260e4
This commit is contained in:
Nicola Corti 2022-09-29 07:08:21 -07:00 коммит произвёл Facebook GitHub Bot
Родитель 8717d2d672
Коммит 4a336f0637
3 изменённых файлов: 15 добавлений и 21 удалений

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

@ -120,7 +120,14 @@ final def preparePrefab = tasks.register("preparePrefab", PreparePrefabHeadersTa
new PrefabPreprocessingEntry(
"react_render_mapbuffer",
new Pair("../ReactCommon/react/renderer/mapbuffer/", "react/renderer/mapbuffer/")
)
),
new PrefabPreprocessingEntry(
"yoga",
[
new Pair("../ReactCommon/yoga/", ""),
new Pair("src/main/jni/first-party/yogajni/jni", "")
]
),
]
)
it.outputDir.set(prefabHeadersDir)
@ -387,7 +394,8 @@ android {
"jsi",
"glog",
"fabricjni",
"react_render_mapbuffer"
"react_render_mapbuffer",
"yoga"
}
}
ndk {
@ -500,6 +508,9 @@ android {
react_render_mapbuffer {
headers(new File(prefabHeadersDir, "react_render_mapbuffer").absolutePath)
}
yoga {
headers(new File(prefabHeadersDir, "yoga").absolutePath)
}
}
publishing {

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

@ -61,24 +61,6 @@ target_compile_options(folly_runtime
-DFOLLY_MOBILE=1
-DFOLLY_HAVE_XSI_STRERROR_R=1)
## yoga
add_library(yoga SHARED IMPORTED GLOBAL)
set_target_properties(yoga
PROPERTIES
IMPORTED_LOCATION
${REACT_NDK_EXPORT_DIR}/${ANDROID_ABI}/libyoga.so)
target_include_directories(yoga
INTERFACE
${FIRST_PARTY_NDK_DIR}/yogajni/jni
${REACT_COMMON_DIR}/yoga)
target_compile_options(yoga
INTERFACE
-fvisibility=hidden
-fexceptions
-frtti
-O3)
target_link_libraries(yoga INTERFACE log android)
## react_nativemodule_core
add_library(react_nativemodule_core SHARED IMPORTED GLOBAL)
set_target_properties(react_nativemodule_core

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

@ -55,6 +55,7 @@ add_library(jsi ALIAS ReactAndroid::jsi)
add_library(glog ALIAS ReactAndroid::glog)
add_library(fabricjni ALIAS ReactAndroid::fabricjni)
add_library(react_render_mapbuffer ALIAS ReactAndroid::react_render_mapbuffer)
add_library(yoga ALIAS ReactAndroid::yoga)
target_link_libraries(${CMAKE_PROJECT_NAME}
fabricjni # prefab ready
@ -74,7 +75,7 @@ target_link_libraries(${CMAKE_PROJECT_NAME}
rrc_view # prefab ready
runtimeexecutor # prefab ready
turbomodulejsijni # prefab ready
yoga)
yoga) # prefab ready
# If project is on RN CLI v9, then we can use the following lines to link against the autolinked 3rd party libraries.
if(EXISTS ${PROJECT_BUILD_DIR}/generated/rncli/src/main/jni/Android-rncli.cmake)