@@ -7,7 +7,6 @@ set (CMAKE_CXX_STANDARD 20)
77
88set (PACKAGE_NAME "ReactNativeBabylon" )
99
10-
1110# Clear some variables
1211unset (LIBRN_DIR CACHE )
1312unset (libfbjni_link_DIRS CACHE )
@@ -24,13 +23,11 @@ message("-- LIBRN : " ${LIBRN_DIR})
2423
2524link_directories (../libs/android/${ANDROID_ABI} /)
2625
27-
2826# Configure Babylon Native to use JSI
2927set (NAPI_JAVASCRIPT_ENGINE "JSI" CACHE STRING "The JavaScript engine to power N-API" )
3028
3129list (APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR} /src/" )
3230
33-
3431if (${REACT_NATIVE_VERSION} LESS 66)
3532 file (
3633 TO_CMAKE_PATH
@@ -39,8 +36,6 @@ if(${REACT_NATIVE_VERSION} LESS 66)
3936 )
4037endif ()
4138
42-
43-
4439find_library (
4540 LOG_LIB
4641 log
@@ -96,54 +91,8 @@ disable_warnings(Scheduling) # deprecated stl
9691disable_warnings(Canvas)
9792disable_warnings(Window)
9893
99-
100- #add_library(BabylonNativeShared STATIC ${SHARED_SOURCES})
101- #disable_warnings(BabylonNativeShared)
102- #target_include_directories(BabylonNativeShared PRIVATE ${BABYLON_REACT_NATIVE_SHARED_DIR})
103-
10494file (GLOB BABYLON_SHARED "${CMAKE_CURRENT_SOURCE_DIR} /../shared/*" )
10595
106- add_library (
107- ${PACKAGE_NAME}
108- SHARED
109- "${CMAKE_CURRENT_SOURCE_DIR} /src/main/cpp/BabylonNativeInterop.cpp"
110- ${BABYLON_SHARED}
111- #BabylonNativeShared
112- )
113- disable_warnings(${PACKAGE_NAME} ) # deprecated stl
114-
115-
116-
117- target_include_directories (
118- ${PACKAGE_NAME}
119- PRIVATE
120-
121- "${NODE_MODULES_DIR} /react-native/ReactCommon/callinvoker"
122- "${NODE_MODULES_DIR} /react-native/ReactCommon/jsi"
123- "${NODE_MODULES_DIR} /react-native/ReactCommon"
124- "${NODE_MODULES_DIR} /react-native/ReactCommon/react/nativemodule/core"
125- "${NODE_MODULES_DIR} /react-native/ReactCommon/runtimeexecutor"
126- "${NODE_MODULES_DIR} /react-native/ReactAndroid/src/main/jni"
127- "${NODE_MODULES_DIR} /react-native/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni"
128-
129- PRIVATE "${CMAKE_CURRENT_SOURCE_DIR} /../shared"
130- PRIVATE $<TARGET_PROPERTY:Graphics,INCLUDE_DIRECTORIES >
131- PRIVATE $<TARGET_PROPERTY:NativeEngine,INCLUDE_DIRECTORIES >
132- PRIVATE $<TARGET_PROPERTY:NativeInput,INCLUDE_DIRECTORIES >
133- PRIVATE $<TARGET_PROPERTY:Window,INCLUDE_DIRECTORIES >
134- PRIVATE $<TARGET_PROPERTY:XMLHttpRequest,INCLUDE_DIRECTORIES >
135- PRIVATE $<TARGET_PROPERTY:NativeCamera,INCLUDE_DIRECTORIES >
136- PRIVATE $<TARGET_PROPERTY:NativeXr,INCLUDE_DIRECTORIES >
137- PRIVATE $<TARGET_PROPERTY:NativeCapture,INCLUDE_DIRECTORIES >
138- PRIVATE $<TARGET_PROPERTY:NativeOptimizations,INCLUDE_DIRECTORIES >
139- PRIVATE $<TARGET_PROPERTY:NativeTracing,INCLUDE_DIRECTORIES >
140- PRIVATE $<TARGET_PROPERTY:Canvas,INCLUDE_DIRECTORIES >
141-
142- #BabylonNativeShared
143-
144- ${libfbjni_include_DIRS}
145- )
146-
14796unset (REACT_LIB CACHE )
14897if (${REACT_NATIVE_VERSION} GREATER_EQUAL 76)
14998 # RN 0.76 packs react_nativemodule_core into ReactAndroid::reactnative
@@ -228,15 +177,6 @@ message("-- TURBO : " ${TURBOMODULES_LIB})
228177
229178add_definitions (-DREACT_NATIVE_VERSION=${REACT_NATIVE_VERSION} )
230179
231- # Set RN_SERIALIZABLE_STATE and C++ flags for React Native 0.81+
232- if (${REACT_NATIVE_VERSION} GREATER_EQUAL 80)
233- include ("${REACT_NATIVE_DIR} /ReactCommon/cmake-utils/react-native-flags.cmake" )
234- target_compile_reactnative_options(${PACKAGE_NAME} PRIVATE )
235- else ()
236- string (APPEND CMAKE_CXX_FLAGS
237- " -fexceptions -frtti -std=c++${CMAKE_CXX_STANDARD} -Wall -Werror -Wunused-function -Wunused-private-field -Woverloaded-virtual -Wreorder-ctor -Wdelete-non-abstract-non-virtual-dtor -Wmismatched-tags -Wunused-variable -Wpessimizing-move -Wswitch -Wdeprecated-declarations -Werror=deprecated-this-capture" )
238- endif ()
239-
240180# Link
241181if (${REACT_NATIVE_VERSION} GREATER_EQUAL 76)
242182 set (COMMON_LIBS
@@ -265,6 +205,52 @@ else()
265205 )
266206endif ()
267207
208+
209+ add_library (
210+ ${PACKAGE_NAME}
211+ SHARED
212+ "${CMAKE_CURRENT_SOURCE_DIR} /src/main/cpp/BabylonNativeInterop.cpp"
213+ ${BABYLON_SHARED}
214+ )
215+ disable_warnings(${PACKAGE_NAME} ) # deprecated stl
216+
217+ # Set RN_SERIALIZABLE_STATE and C++ flags for React Native 0.81+
218+ if (${REACT_NATIVE_VERSION} GREATER_EQUAL 80)
219+ include ("${REACT_NATIVE_DIR} /ReactCommon/cmake-utils/react-native-flags.cmake" )
220+ target_compile_reactnative_options(${PACKAGE_NAME} PRIVATE )
221+ else ()
222+ string (APPEND CMAKE_CXX_FLAGS
223+ " -fexceptions -frtti -std=c++${CMAKE_CXX_STANDARD} -Wall -Werror -Wunused-function -Wunused-private-field -Woverloaded-virtual -Wreorder-ctor -Wdelete-non-abstract-non-virtual-dtor -Wmismatched-tags -Wunused-variable -Wpessimizing-move -Wswitch -Wdeprecated-declarations -Werror=deprecated-this-capture" )
224+ endif ()
225+
226+ target_include_directories (
227+ ${PACKAGE_NAME}
228+ PRIVATE
229+
230+ "${NODE_MODULES_DIR} /react-native/ReactCommon/callinvoker"
231+ "${NODE_MODULES_DIR} /react-native/ReactCommon/jsi"
232+ "${NODE_MODULES_DIR} /react-native/ReactCommon"
233+ "${NODE_MODULES_DIR} /react-native/ReactCommon/react/nativemodule/core"
234+ "${NODE_MODULES_DIR} /react-native/ReactCommon/runtimeexecutor"
235+ "${NODE_MODULES_DIR} /react-native/ReactAndroid/src/main/jni"
236+ "${NODE_MODULES_DIR} /react-native/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni"
237+
238+ PRIVATE "${CMAKE_CURRENT_SOURCE_DIR} /../shared"
239+ PRIVATE $<TARGET_PROPERTY:Graphics,INCLUDE_DIRECTORIES >
240+ PRIVATE $<TARGET_PROPERTY:NativeEngine,INCLUDE_DIRECTORIES >
241+ PRIVATE $<TARGET_PROPERTY:NativeInput,INCLUDE_DIRECTORIES >
242+ PRIVATE $<TARGET_PROPERTY:Window,INCLUDE_DIRECTORIES >
243+ PRIVATE $<TARGET_PROPERTY:XMLHttpRequest,INCLUDE_DIRECTORIES >
244+ PRIVATE $<TARGET_PROPERTY:NativeCamera,INCLUDE_DIRECTORIES >
245+ PRIVATE $<TARGET_PROPERTY:NativeXr,INCLUDE_DIRECTORIES >
246+ PRIVATE $<TARGET_PROPERTY:NativeCapture,INCLUDE_DIRECTORIES >
247+ PRIVATE $<TARGET_PROPERTY:NativeOptimizations,INCLUDE_DIRECTORIES >
248+ PRIVATE $<TARGET_PROPERTY:NativeTracing,INCLUDE_DIRECTORIES >
249+ PRIVATE $<TARGET_PROPERTY:Canvas,INCLUDE_DIRECTORIES >
250+
251+ ${libfbjni_include_DIRS}
252+ )
253+
268254target_link_libraries (${PACKAGE_NAME}
269255 ${COMMON_LIBS}
270256 AndroidExtensions
0 commit comments