UNPKG

one

Version:

One is a React framework for web, iOS, and Android apps.

41 lines (33 loc) • 1.24 kB
cmake_minimum_required(VERSION 3.22) project(One CXX) set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(PACKAGE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/..) set(CPP_DIR ${PACKAGE_DIR}/cpp) set(JNI_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src/main/cpp) find_package(fbjni REQUIRED CONFIG) find_package(ReactAndroid REQUIRED CONFIG) find_package(react-native-worklets REQUIRED CONFIG) # one library for the package's C++: the sync-state JSI host object (shared # with iOS; only the registry trampolines differ, Swift there, JNI here), the # One.Storage engine (shared; only its directory lookup is per platform), the # crypto random source, and # the nitrogen-generated Nitro hybrid objects. JNI_OnLoad in # OneNativeSyncJni.cpp registers both. add_library( One SHARED ${JNI_DIR}/OneNativeSyncJni.cpp ${JNI_DIR}/OneStorageDirectory.cpp ${CPP_DIR}/OneNativeSyncHost.cpp ${CPP_DIR}/HybridOneStorage.cpp ${CPP_DIR}/HybridOneCrypto.cpp) target_include_directories(One PRIVATE ${CPP_DIR} ${JNI_DIR}) include(${CMAKE_SOURCE_DIR}/../nitrogen/generated/android/One+autolinking.cmake) target_link_libraries( One fbjni::fbjni ReactAndroid::jsi ReactAndroid::reactnative react-native-worklets::worklets android log)