@@ -2,24 +2,14 @@ project(askarreactnative)
22cmake_minimum_required (VERSION 3.4.1)
33
44set (PACKAGE_NAME "askarreactnative" )
5- set (LIB_NAME "askar" )
65file (GLOB LIBASKAR_DIR "${CMAKE_SOURCE_DIR} /../native/mobile/android/${ANDROID_ABI} " )
76
87set (CMAKE_VERBOSE_MAKEFILE ON )
98set (CMAKE_CXX_STANDARD 20)
10-
119set (BUILD_DIR ${CMAKE_SOURCE_DIR} /build )
12- if (${REACT_NATIVE_VERSION} GREATER_EQUAL 71)
13- find_package (fbjni REQUIRED CONFIG)
14- find_package (ReactAndroid REQUIRED CONFIG)
15- else ()
16- set (RN_SO_DIR ${NODE_MODULES_DIR} /react-native/ReactAndroid/src/main/jni/first-party/react/jni)
17- endif ()
1810
19- if (${REACT_NATIVE_VERSION} LESS 66)
20- set (INCLUDE_JSI_CPP "${NODE_MODULES_DIR} /react-native/ReactCommon/jsi/jsi/jsi.cpp" )
21- set (INCLUDE_JSIDYNAMIC_CPP "${NODE_MODULES_DIR} /react-native/ReactCommon/jsi/jsi/JSIDynamic.cpp" )
22- endif ()
11+ find_package (fbjni REQUIRED CONFIG)
12+ find_package (ReactAndroid REQUIRED CONFIG)
2313
2414include_directories (
2515 ../cpp
@@ -36,90 +26,14 @@ add_library(
3626 ../cpp/askar.cpp
3727)
3828
39- if (${REACT_NATIVE_VERSION} GREATER_EQUAL 71)
40- target_include_directories (
41- ${PACKAGE_NAME}
42- PRIVATE
43- "${NODE_MODULES_DIR} /react-native/ReactAndroid/src/main/jni/react/turbomodule"
44- "${NODE_MODULES_DIR} /react-native/ReactCommon"
45- "${NODE_MODULES_DIR} /react-native/ReactCommon/callinvoker"
46- "${NODE_MODULES_DIR} /react-native/ReactCommon/jsi"
47- "${NODE_MODULES_DIR} /react-native/ReactCommon/react/renderer/graphics/platform/cxx"
48- "${NODE_MODULES_DIR} /react-native/ReactCommon/runtimeexecutor"
49- "${NODE_MODULES_DIR} /react-native/ReactCommon/yoga"
50- )
51- else ()
52- file (GLOB LIBFBJNI_INCLUDE_DIR "${BUILD_DIR} /fbjni-*-headers.jar/" )
53-
54- target_include_directories (
55- ${PACKAGE_NAME}
56- PRIVATE
57- "${LIBFBJNI_INCLUDE_DIR} "
58- "${NODE_MODULES_DIR} /react-native/React"
59- "${NODE_MODULES_DIR} /react-native/React/Base"
60- "${NODE_MODULES_DIR} /react-native/ReactAndroid/src/main/jni"
61- "${NODE_MODULES_DIR} /react-native/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni"
62- "${NODE_MODULES_DIR} /react-native/ReactCommon"
63- "${NODE_MODULES_DIR} /react-native/ReactCommon/callinvoker"
64- "${NODE_MODULES_DIR} /react-native/ReactCommon/jsi"
65- ${INCLUDE_JSI_CPP} # only on older RN versions
66- ${INCLUDE_JSIDYNAMIC_CPP} # only on older RN versions
67- )
68- endif ()
69-
70- file (GLOB LIBRN_DIR "${BUILD_DIR} /react-native-0*/jni/${ANDROID_ABI} " )
71-
72- if (${REACT_NATIVE_VERSION} LESS 71)
73- find_library (
74- FBJNI_LIB
75- fbjni
76- PATHS ${LIBRN_DIR}
77- NO_CMAKE_FIND_ROOT_PATH
78- )
79- endif ()
80-
81- if (${REACT_NATIVE_VERSION} LESS 71)
82- find_library (
83- REACT_NATIVE_JNI_LIB
84- reactnativejni
85- PATHS ${LIBRN_DIR}
86- NO_CMAKE_FIND_ROOT_PATH
87- )
88- endif ()
89-
90- if (${REACT_NATIVE_VERSION} GREATER_EQUAL 71)
91- target_link_libraries (
92- ${PACKAGE_NAME}
93- ReactAndroid::jsi
94- ReactAndroid::reactnativejni
95- fbjni::fbjni
96- )
97- elseif (${REACT_NATIVE_VERSION} LESS 66)
98- # JSI lib didn't exist on RN 0.65 and before. Simply omit it.
99- set (JSI_LIB "" )
100- else ()
101- # RN 0.66 distributes libjsi.so, can be used instead of compiling jsi.cpp manually.
102- find_library (
103- JSI_LIB
104- jsi
105- PATHS ${LIBRN_DIR}
106- NO_CMAKE_FIND_ROOT_PATH
107- )
108- endif ()
109-
110- find_library (
111- REANIMATED_LIB
112- reanimated
113- PATHS ${LIBREANIMATED_DIR}
114- NO_CMAKE_FIND_ROOT_PATH
115- )
116-
117- find_library (
118- LOG_LIB
119- log
29+ target_include_directories (
30+ ${PACKAGE_NAME}
31+ PRIVATE
32+ "${NODE_MODULES_DIR} /react-native/ReactCommon"
33+ "${NODE_MODULES_DIR} /react-native/ReactCommon/callinvoker"
34+ "${NODE_MODULES_DIR} /react-native/ReactAndroid/src/main/jni/react/turbomodule"
12035)
12136
122-
12337find_library (
12438 ASKAR_LIB
12539 # TODO(rename): when lib has changed
@@ -132,12 +46,15 @@ if (NOT ASKAR_LIB)
13246 message (FATAL_ERROR "Could not find ASKAR_LIB at: ${LIBASKAR_DIR} " )
13347endif ()
13448
49+ if (${REACT_NATIVE_VERSION} GREATER_EQUAL 76)
50+ target_link_libraries (${PACKAGE_NAME} ReactAndroid::reactnative)
51+ else ()
52+ target_link_libraries (${PACKAGE_NAME} ReactAndroid::reactnativejni)
53+ endif ()
54+
13555target_link_libraries (
13656 ${PACKAGE_NAME}
13757 ${ASKAR_LIB}
138- ${LOG_LIB}
139- ${JSI_LIB}
140- ${REACT_NATIVE_JNI_LIB}
141- ${FBJNI_LIB}
142- android
58+ ReactAndroid::jsi
59+ fbjni::fbjni
14360)
0 commit comments