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/"
|
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() {
|
task prepareAllLibs() {
|
||||||
dependsOn finalizeGlog
|
dependsOn finalizeGlog
|
||||||
dependsOn prepareDoubleConversion
|
dependsOn prepareDoubleConversion
|
||||||
@@ -162,6 +177,7 @@ task prepareAllLibs() {
|
|||||||
dependsOn prepareFolly
|
dependsOn prepareFolly
|
||||||
dependsOn finalizeEvent
|
dependsOn finalizeEvent
|
||||||
dependsOn finalizeOpenSSL
|
dependsOn finalizeOpenSSL
|
||||||
|
dependsOn prepareRSocket
|
||||||
}
|
}
|
||||||
|
|
||||||
android {
|
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 ':glog'
|
||||||
include ':libevent'
|
include ':libevent'
|
||||||
include ':openssl'
|
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(':folly').projectDir = file('android/build/third-party-ndk/folly/')
|
||||||
project(':libevent').projectDir = file('android/build/third-party-ndk/LibEvent/')
|
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(':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