Changeset View
Changeset View
Standalone View
Standalone View
native/android/app/CMakeLists.txt
Show First 20 Lines • Show All 93 Lines • ▼ Show 20 Lines | |||||
set(_node_modules_dir ${CMAKE_CURRENT_SOURCE_DIR}/../../node_modules) | set(_node_modules_dir ${CMAKE_CURRENT_SOURCE_DIR}/../../node_modules) | ||||
set(_react_native_dir ${_node_modules_dir}/react-native) | set(_react_native_dir ${_node_modules_dir}/react-native) | ||||
add_subdirectory(../../cpp/CommonCpp/ | add_subdirectory(../../cpp/CommonCpp/ | ||||
${CMAKE_CURRENT_BINARY_DIR}/build/CommonCpp | ${CMAKE_CURRENT_BINARY_DIR}/build/CommonCpp | ||||
EXCLUDE_FROM_ALL | EXCLUDE_FROM_ALL | ||||
) | ) | ||||
file(GLOB SQLCIPHER | |||||
"${_node_modules_dir}/@commapp/sqlcipher-amalgamation/src/*.c" | |||||
) | |||||
file(GLOB ANDROID_NATIVE_CODE "./src/cpp/*.cpp") | |||||
set(GENERATED_NATIVE_CODE "../../cpp/CommonCpp/_generated/commJSI-generated.cpp") | |||||
file(GLOB CRYPTO_NATIVE_CODE "../../cpp/CommonCpp/CryptoTools/*.cpp") | |||||
file(GLOB DB_NATIVE_CODE "../../cpp/CommonCpp/DatabaseManagers/*.cpp") | |||||
file(GLOB DB_ENTITIES_NATIVE_CODE "../../cpp/CommonCpp/DatabaseManagers/entities/*.cpp") | |||||
file(GLOB_RECURSE MODULE_NATIVE_CODE "../../cpp/CommonCpp/NativeModules/**/*.cpp") | |||||
file(GLOB MODULE_ROOT_NATIVE_CODE "../../cpp/CommonCpp/NativeModules/*.cpp") | |||||
file(GLOB TOOLS_NATIVE_CODE "../../cpp/CommonCpp/Tools/*.cpp") | |||||
add_library( | add_library( | ||||
# Sets the name of the library | # Sets the name of the library | ||||
${PACKAGE_NAME} | ${PACKAGE_NAME} | ||||
# Sets the library as a shared library | # Sets the library as a shared library | ||||
SHARED | SHARED | ||||
# React dependencies | # React dependencies | ||||
${_react_native_dir}/ReactCommon/jsi/jsi/jsi.cpp | ${_react_native_dir}/ReactCommon/jsi/jsi/jsi.cpp | ||||
${_react_native_dir}/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/CallInvokerHolder.cpp | ${_react_native_dir}/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/ReactCommon/CallInvokerHolder.cpp | ||||
${_react_native_dir}/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.cpp | ${_react_native_dir}/ReactCommon/react/nativemodule/core/ReactCommon/TurboModule.cpp | ||||
${_react_native_dir}/ReactCommon/react/bridging/LongLivedObject.cpp | ${_react_native_dir}/ReactCommon/react/bridging/LongLivedObject.cpp | ||||
${_react_native_dir}/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleUtils.cpp | ${_react_native_dir}/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleUtils.cpp | ||||
# Third party dependencies | # Third party dependencies | ||||
${SQLCIPHER} | ${SQLCIPHER} | ||||
# comm code | |||||
${ANDROID_NATIVE_CODE} | |||||
${GENERATED_NATIVE_CODE} | |||||
${CRYPTO_NATIVE_CODE} | |||||
${DB_NATIVE_CODE} | |||||
${DB_ENTITIES_NATIVE_CODE} | |||||
${MODULE_NATIVE_CODE} | |||||
${MODULE_ROOT_NATIVE_CODE} | |||||
${TOOLS_NATIVE_CODE} | |||||
) | ) | ||||
set(BUILD_DIR ${CMAKE_SOURCE_DIR}/build) | set(BUILD_DIR ${CMAKE_SOURCE_DIR}/build) | ||||
target_include_directories( | target_include_directories( | ||||
${PACKAGE_NAME} | ${PACKAGE_NAME} | ||||
PRIVATE | PRIVATE | ||||
Show All 15 Lines | target_include_directories( | ||||
../../cpp/third-party/sqlite_orm | ../../cpp/third-party/sqlite_orm | ||||
# symlinked React Native headers | # symlinked React Native headers | ||||
../headers | ../headers | ||||
# comm android specific code | # comm android specific code | ||||
./src/cpp | ./src/cpp | ||||
# comm native mutual code | |||||
../../cpp/CommonCpp/ | |||||
../../cpp/CommonCpp/NativeModules | |||||
../../cpp/CommonCpp/NativeModules/InternalModules | |||||
../../cpp/CommonCpp/NativeModules/PersistentStorageUtilities | |||||
../../cpp/CommonCpp/NativeModules/PersistentStorageUtilities/ThreadOperationsUtilities | |||||
../../cpp/CommonCpp/NativeModules/PersistentStorageUtilities/MessageOperationsUtilities | |||||
../../cpp/CommonCpp/NativeModules/PersistentStorageUtilities/MessageOperationsUtilities/MessageSpecs | |||||
../../cpp/CommonCpp/DatabaseManagers | |||||
../../cpp/CommonCpp/Tools | |||||
# native rust library | # native rust library | ||||
${native_rust_library_include_dir} | ${native_rust_library_include_dir} | ||||
) | ) | ||||
add_definitions( | add_definitions( | ||||
# SQLCipher | # SQLCipher | ||||
-DSQLITE_THREADSAFE=0 | -DSQLITE_THREADSAFE=0 | ||||
-DSQLITE_HAS_CODEC | -DSQLITE_HAS_CODEC | ||||
Show All 26 Lines | |||||
set_target_properties( | set_target_properties( | ||||
# OpenSSL SSL lib | # OpenSSL SSL lib | ||||
openssl-ssl | openssl-ssl | ||||
PROPERTIES IMPORTED_LOCATION | PROPERTIES IMPORTED_LOCATION | ||||
"${_third_party_dir}/openssl/openssl-${OPENSSL_VERSION}/build/${CMAKE_ANDROID_ARCH_ABI}/lib/libssl.a" | "${_third_party_dir}/openssl/openssl-${OPENSSL_VERSION}/build/${CMAKE_ANDROID_ARCH_ABI}/lib/libssl.a" | ||||
) | ) | ||||
# Ensure that the bindings are available before building modules | |||||
add_dependencies(comm-modules-native | |||||
native_rust_library_cxxbridge | |||||
) | |||||
target_include_directories(comm-modules-native | |||||
PUBLIC | |||||
${native_rust_library_include_dir} | |||||
) | |||||
target_link_libraries( | target_link_libraries( | ||||
${PACKAGE_NAME} | ${PACKAGE_NAME} | ||||
fbjni::fbjni | fbjni::fbjni | ||||
android | android | ||||
${log-lib} | ${log-lib} | ||||
Folly::folly | Folly::folly | ||||
glog::glog | glog::glog | ||||
olm | olm | ||||
openssl-crypto | openssl-crypto | ||||
openssl-ssl | openssl-ssl | ||||
comm::native_rust_library | comm::native_rust_library | ||||
comm-modules-native | |||||
) | ) | ||||
# add a dummy library which is required by CallInvokerHolderImpl.java | # add a dummy library which is required by CallInvokerHolderImpl.java | ||||
add_library( | add_library( | ||||
turbomodulejsijni | turbomodulejsijni | ||||
# Sets the library as a shared library. | # Sets the library as a shared library. | ||||
SHARED | SHARED | ||||
# Provides a relative path to your source file(s). | # Provides a relative path to your source file(s). | ||||
./src/cpp/dummy.cpp | ./src/cpp/dummy.cpp | ||||
) | ) |