Skip to content

Commit 0b050d0

Browse files
Update Babylon Native (#320)
* update and windows build fix * default Metal for iOS * Android part Co-authored-by: Cedric Guillemet <[email protected]>
1 parent 9295bd5 commit 0b050d0

File tree

5 files changed

+17
-1
lines changed

5 files changed

+17
-1
lines changed

Modules/@babylonjs/react-native-windows/windows/CMakeLists.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,11 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
1414
set(BABYLON_REACT_NATIVE_DIR "${CMAKE_CURRENT_LIST_DIR}/../../react-native")
1515
set(BABYLON_NATIVE_WINDOWS_STORE_USE_SWAPCHAINPANEL 1)
1616

17+
if (NOT GRAPHICS_API OR GRAPHICS_API STREQUAL "")
18+
set (GRAPHICS_API "D3D11")
19+
message("No GRAPHICS_API specified. Defaulting to D3D11.")
20+
endif()
21+
1722
include(${BABYLON_REACT_NATIVE_DIR}/shared/CMakeLists.txt)
1823

1924
set(BABYLON_NATIVE_DIR "${BABYLON_REACT_NATIVE_DIR}/submodules/BabylonNative")

Modules/@babylonjs/react-native/android/CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@ cmake_minimum_required(VERSION 3.13.2)
2121
project(ReactNativeBabylon)
2222
include(${CMAKE_CURRENT_LIST_DIR}/../shared/CMakeLists.txt)
2323

24+
string(TOUPPER ${GRAPHICS_API} GRAPHICS_API_UPPER)
25+
add_definitions("-D${GRAPHICS_API_UPPER}")
26+
2427
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
2528
set(BABYLON_NATIVE_PLATFORM "Android")
2629
set(CMAKE_CXX_EXTENSIONS OFF)

Modules/@babylonjs/react-native/android/build.gradle

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@ buildscript {
4141
}
4242
}
4343

44+
def graphics_api = safeExtGet('GRAPHICS_API', "OpenGL")
45+
4446
apply plugin: 'com.android.library'
4547
apply plugin: 'maven'
4648

@@ -65,6 +67,7 @@ android {
6567
arguments '-DANDROID_STL=c++_static',
6668
'-DENABLE_GLSLANG_BINARIES=OFF',
6769
'-DSPIRV_CROSS_CLI=OFF',
70+
"-DGRAPHICS_API=${graphics_api}",
6871
"-DARCORE_LIBPATH=${extractedLibDir}/jni",
6972
"-DFBJNI_INCPATH=${extractedLibDir}/fbjni/",
7073
"-DFBJNI_LIBPATH=${extractedLibDir}/jni",

Modules/@babylonjs/react-native/ios/CMakeLists.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,11 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -x objective-c++")
1010
# configure Babylon Native to use JSI
1111
set(NAPI_JAVASCRIPT_ENGINE "JSI" CACHE STRING "The JavaScript engine to power N-API")
1212

13+
if (NOT GRAPHICS_API OR GRAPHICS_API STREQUAL "")
14+
set (GRAPHICS_API "Metal")
15+
message("No GRAPHICS_API specified. Defaulting to Metal.")
16+
endif()
17+
1318
get_filename_component(REACTNATIVE_DIR "${CMAKE_CURRENT_LIST_DIR}/../../../react-native" ABSOLUTE)
1419
if(NOT EXISTS ${REACTNATIVE_DIR})
1520
get_filename_component(REACTNATIVE_DIR "${CMAKE_CURRENT_LIST_DIR}/../../../../Apps/Playground/node_modules/react-native" ABSOLUTE)

0 commit comments

Comments
 (0)