Added Rsocket
This commit is contained in:
@@ -155,6 +155,21 @@ task finalizeOpenSSL(dependsOn: [prepareOpenSSL], type: Copy) {
|
||||
into "$thirdPartyNdkDir/OpenSSL/openssl-android-1.0.0/"
|
||||
}
|
||||
|
||||
task downloadRSocket(dependsOn: [], type: Download) {
|
||||
src 'https://github.com/priteshrnandgaonkar/rsocket-cpp/archive/0.10.1.tar.gz'
|
||||
onlyIfNewer true
|
||||
overwrite false
|
||||
dest new File(downloadsDir, 'rsocket-cpp-0.10.1.tar.gz');
|
||||
}
|
||||
|
||||
task prepareRSocket(dependsOn: [downloadRSocket], type: Copy) {
|
||||
from tarTree(downloadRSocket.dest)
|
||||
from './third-party/RSocket/'
|
||||
include 'rsocket-cpp-0.10.1/**/*', 'build.gradle', 'ApplicationManifest.xml', 'CMakeLists.txt'
|
||||
includeEmptyDirs = false
|
||||
into "$thirdPartyNdkDir/RSocket"
|
||||
}
|
||||
|
||||
task prepareAllLibs() {
|
||||
dependsOn finalizeGlog
|
||||
dependsOn prepareDoubleConversion
|
||||
@@ -162,6 +177,7 @@ task prepareAllLibs() {
|
||||
dependsOn prepareFolly
|
||||
dependsOn finalizeEvent
|
||||
dependsOn finalizeOpenSSL
|
||||
dependsOn prepareRSocket
|
||||
}
|
||||
|
||||
android {
|
||||
|
||||
4
android/third-party/RSocket/ApplicationManifest.xml
vendored
Normal file
4
android/third-party/RSocket/ApplicationManifest.xml
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.rsocket">
|
||||
</manifest>
|
||||
96
android/third-party/RSocket/CMakeLists.txt
vendored
Normal file
96
android/third-party/RSocket/CMakeLists.txt
vendored
Normal file
@@ -0,0 +1,96 @@
|
||||
cmake_minimum_required (VERSION 3.6.0)
|
||||
|
||||
PROJECT(rsocket CXX)
|
||||
set(PACKAGE_NAME rsocket)
|
||||
set(CMAKE_CXX_STANDARD 14)
|
||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||
|
||||
set(third_party_ndk ${PROJECT_SOURCE_DIR}/../)
|
||||
set(libfolly_DIR ${third_party_ndk}/folly/)
|
||||
set(glog_DIR ${third_party_ndk}/glog)
|
||||
set(BOOST_DIR ${third_party_ndk}/boost/boost_1_63_0/)
|
||||
set(LIBEVENT_DIR ${third_party_ndk}/LibEvent/libevent-release-2.1.9/)
|
||||
set(DOUBLECONVERSION_DIR ${third_party_ndk}/double-conversion/double-conversion-3.0.0/)
|
||||
set(OPENSSL_DIR ${third_party_ndk}/OpenSSL/openssl-android-1.0.0/)
|
||||
|
||||
set(RSOCKET_DIR ${PROJECT_SOURCE_DIR}/rsocket-cpp-0.10.1)
|
||||
|
||||
list(APPEND dir_list ${RSOCKET_DIR}/)
|
||||
list(APPEND dir_list ${RSOCKET_DIR}/benchmarks)
|
||||
list(APPEND dir_list ${RSOCKET_DIR}/framing)
|
||||
list(APPEND dir_list ${RSOCKET_DIR}/internal)
|
||||
list(APPEND dir_list ${RSOCKET_DIR}/statemachine)
|
||||
list(APPEND dir_list ${RSOCKET_DIR}/transports)
|
||||
list(APPEND dir_list ${RSOCKET_DIR}/transports/tcp)
|
||||
list(APPEND dir_list ${RSOCKET_DIR}/yarpl/flowable)
|
||||
list(APPEND dir_list ${RSOCKET_DIR}/yarpl/observable)
|
||||
|
||||
|
||||
file(GLOB SRC_FILES ${RSOCKET_DIR}/*.cpp
|
||||
${RSOCKET_DIR}/benchmarks/*.cpp
|
||||
${RSOCKET_DIR}/framing/*.cpp
|
||||
${RSOCKET_DIR}/statemachine/*.cpp
|
||||
${RSOCKET_DIR}/transports/*.cpp
|
||||
${RSOCKET_DIR}/transports/tcp/*.cpp
|
||||
${FOLLY_DIR}/hash/detail/*.cpp
|
||||
${RSOCKET_DIR}/yarpl/observable/*.cpp
|
||||
)
|
||||
|
||||
include_directories(${dir_list})
|
||||
|
||||
add_compile_options(
|
||||
-DFOLLY_HAVE_CLOCK_GETTIME=1
|
||||
-DFOLLY_HAVE_PTHREAD=1
|
||||
-DFOLLY_NO_CONFIG=1
|
||||
-DFOLLY_HAVE_MEMRCHR
|
||||
-DFOLLY_MOBILE=1
|
||||
-DFOLLY_USE_LIBCPP=1
|
||||
-DFOLLY_HAVE_LIBJEMALLOC=0
|
||||
-DFOLLY_HAVE_PREADV=0
|
||||
-frtti
|
||||
-fexceptions
|
||||
-Wno-error
|
||||
-Wno-unused-local-typedefs
|
||||
-Wno-unused-variable
|
||||
-Wno-sign-compare
|
||||
-Wno-comment
|
||||
-Wno-return-type
|
||||
-Wno-tautological-constant-compare
|
||||
)
|
||||
|
||||
message(STATUS "DIR LIST RSocket => " ${dir_list} )
|
||||
#file(GLOB_RECURSE SRCFILES ${RSOCKET_DIR}/*.cpp)
|
||||
|
||||
add_library(${PACKAGE_NAME} SHARED ${SRC_FILES})
|
||||
|
||||
set(build_DIR ${CMAKE_SOURCE_DIR}/build)
|
||||
set(libfolly_build_DIR ${build_DIR}/libfolly/${ANDROID_ABI})
|
||||
|
||||
file(MAKE_DIRECTORY ${build_DIR})
|
||||
|
||||
add_subdirectory(${libfolly_DIR} ${libfolly_build_DIR})
|
||||
|
||||
target_include_directories(${PACKAGE_NAME} PRIVATE
|
||||
${libfolly_DIR}
|
||||
${BOOST_DIR}
|
||||
${BOOST_DIR}/../
|
||||
${LIBEVENT_DIR}/
|
||||
${LIBEVENT_DIR}/include/
|
||||
${LIBEVENT_DIR}/include/event2
|
||||
${OPENSSL_DIR}/jni/openssl-android/
|
||||
${OPENSSL_DIR}/jni/openssl-android/include
|
||||
${OPENSSL_DIR}/jni/openssl-android/include/openssl
|
||||
${glog_DIR}
|
||||
${glog_DIR}/../
|
||||
${glog_DIR}/glog-0.3.5/src/
|
||||
${easywsclient_DIR}
|
||||
)
|
||||
|
||||
|
||||
#install(TARGETS ${PACKAGE_NAME} DESTINATION ./build/)
|
||||
set(OPENSSL_LINK_DIRECTORIES ${third_party_ndk}/OpenSSL/libs/${ANDROID_ABI}/)
|
||||
message(STATUS "OPENSSL_LINK_DIRECTORIES RSocket => " ${OPENSSL_LINK_DIRECTORIES} )
|
||||
|
||||
find_path(OPENSSL_LIBRARY libssl.so HINTS ${OPENSSL_LINK_DIRECTORIES})
|
||||
|
||||
target_link_libraries(${PACKAGE_NAME} folly glog double-conversion log event ${OPENSSL_LINK_DIRECTORIES}/libssl.so ${OPENSSL_LINK_DIRECTORIES}/libcrypto.so)
|
||||
35
android/third-party/RSocket/build.gradle
vendored
Normal file
35
android/third-party/RSocket/build.gradle
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
apply plugin: 'com.android.library'
|
||||
|
||||
android {
|
||||
compileSdkVersion rootProject.compileSdkVersion
|
||||
buildToolsVersion rootProject.buildToolsVersion
|
||||
|
||||
defaultConfig {
|
||||
minSdkVersion rootProject.minSdkVersion
|
||||
targetSdkVersion rootProject.targetSdkVersion
|
||||
ndk {
|
||||
abiFilters 'arm64-v8a', 'x86', 'armeabi-v7a'
|
||||
}
|
||||
|
||||
externalNativeBuild {
|
||||
cmake {
|
||||
arguments '-DANDROID_TOOLCHAIN=clang'
|
||||
}
|
||||
}
|
||||
}
|
||||
lintOptions {
|
||||
abortOnError false
|
||||
}
|
||||
sourceSets {
|
||||
main {
|
||||
manifest.srcFile './ApplicationManifest.xml'
|
||||
}
|
||||
}
|
||||
externalNativeBuild {
|
||||
cmake {
|
||||
path './CMakeLists.txt'
|
||||
//'rsocket-cpp-0.10.0/CMakeLists.txt'
|
||||
}
|
||||
}
|
||||
}
|
||||
//'x86', 'x86_64', 'armeabi-v7a',
|
||||
@@ -19,6 +19,7 @@ include ':doubleconversion'
|
||||
include ':glog'
|
||||
include ':libevent'
|
||||
include ':openssl'
|
||||
include ':rsocket'
|
||||
|
||||
|
||||
|
||||
@@ -32,3 +33,4 @@ project(':glog').projectDir = file('android/build/third-party-ndk/glog/')
|
||||
project(':folly').projectDir = file('android/build/third-party-ndk/folly/')
|
||||
project(':libevent').projectDir = file('android/build/third-party-ndk/LibEvent/')
|
||||
project(':openssl').projectDir = file('android/build/third-party-ndk/OpenSSL/openssl-android-1.0.0')
|
||||
project(':rsocket').projectDir = file('android/build/third-party-ndk/RSocket')
|
||||
|
||||
Reference in New Issue
Block a user