RSicket builds
This commit is contained in:
@@ -1,5 +1,7 @@
|
|||||||
cmake_minimum_required (VERSION 3.6.0)
|
cmake_minimum_required (VERSION 3.6.0)
|
||||||
project(sonar CXX C)
|
project(sonar CXX)
|
||||||
|
set(CMAKE_CXX_STANDARD 14)
|
||||||
|
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||||
set(CMAKE_VERBOSE_MAKEFILE on)
|
set(CMAKE_VERBOSE_MAKEFILE on)
|
||||||
|
|
||||||
set(PACKAGE_NAME "sonar")
|
set(PACKAGE_NAME "sonar")
|
||||||
@@ -14,7 +16,6 @@ add_compile_options(-DFOLLY_NO_CONFIG
|
|||||||
-DFOLLY_HAVE_PREADV=0
|
-DFOLLY_HAVE_PREADV=0
|
||||||
-frtti
|
-frtti
|
||||||
-fexceptions
|
-fexceptions
|
||||||
-std=c++14
|
|
||||||
-Wno-error
|
-Wno-error
|
||||||
-Wno-unused-local-typedefs
|
-Wno-unused-local-typedefs
|
||||||
-Wno-unused-variable
|
-Wno-unused-variable
|
||||||
|
|||||||
@@ -104,6 +104,13 @@ task prepareFolly(dependsOn: [downloadFolly], type: Copy) {
|
|||||||
into "$thirdPartyNdkDir/folly"
|
into "$thirdPartyNdkDir/folly"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//TODO: Get rid off this hack.
|
||||||
|
task finalizeFolly(dependsOn: [prepareFolly], type: Copy) {
|
||||||
|
from './third-party/folly/'
|
||||||
|
include 'AsyncServerSocket.cpp'
|
||||||
|
into "$thirdPartyNdkDir/folly/folly/io/async/"
|
||||||
|
}
|
||||||
|
|
||||||
task downloadLibEvent(dependsOn: [], type: Download) {
|
task downloadLibEvent(dependsOn: [], type: Download) {
|
||||||
src 'https://github.com/priteshrnandgaonkar/libevent/archive/release-2.1.9.tar.gz'
|
src 'https://github.com/priteshrnandgaonkar/libevent/archive/release-2.1.9.tar.gz'
|
||||||
onlyIfNewer true
|
onlyIfNewer true
|
||||||
@@ -174,7 +181,7 @@ task prepareAllLibs() {
|
|||||||
dependsOn finalizeGlog
|
dependsOn finalizeGlog
|
||||||
dependsOn prepareDoubleConversion
|
dependsOn prepareDoubleConversion
|
||||||
dependsOn prepareBoost
|
dependsOn prepareBoost
|
||||||
dependsOn prepareFolly
|
dependsOn finalizeFolly
|
||||||
dependsOn finalizeEvent
|
dependsOn finalizeEvent
|
||||||
dependsOn finalizeOpenSSL
|
dependsOn finalizeOpenSSL
|
||||||
dependsOn prepareRSocket
|
dependsOn prepareRSocket
|
||||||
@@ -189,7 +196,7 @@ android {
|
|||||||
targetSdkVersion rootProject.targetSdkVersion
|
targetSdkVersion rootProject.targetSdkVersion
|
||||||
buildConfigField "boolean", "IS_INTERNAL_BUILD", 'true'
|
buildConfigField "boolean", "IS_INTERNAL_BUILD", 'true'
|
||||||
ndk {
|
ndk {
|
||||||
abiFilters 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a'
|
abiFilters 'arm64-v8a', 'x86'
|
||||||
}
|
}
|
||||||
|
|
||||||
externalNativeBuild {
|
externalNativeBuild {
|
||||||
|
|||||||
1103
android/third-party/Folly/AsyncServerSocket.cpp
vendored
Normal file
1103
android/third-party/Folly/AsyncServerSocket.cpp
vendored
Normal file
File diff suppressed because it is too large
Load Diff
2
android/third-party/Folly/CMakeLists.txt
vendored
2
android/third-party/Folly/CMakeLists.txt
vendored
@@ -53,6 +53,7 @@ add_compile_options(
|
|||||||
)
|
)
|
||||||
file(GLOB SRC_FILES ${FOLLY_DIR}/portability/*.cpp
|
file(GLOB SRC_FILES ${FOLLY_DIR}/portability/*.cpp
|
||||||
${FOLLY_DIR}/io/async/ssl/*.cpp
|
${FOLLY_DIR}/io/async/ssl/*.cpp
|
||||||
|
${FOLLY_DIR}/io/async/*.cpp
|
||||||
${FOLLY_DIR}/detail/*.cpp
|
${FOLLY_DIR}/detail/*.cpp
|
||||||
${FOLLY_DIR}/synchronization/*.cpp
|
${FOLLY_DIR}/synchronization/*.cpp
|
||||||
${FOLLY_DIR}/lang/*.cpp
|
${FOLLY_DIR}/lang/*.cpp
|
||||||
@@ -77,6 +78,7 @@ list(APPEND SRC_FILES ${FOLLY_DIR}/io/async/HHWheelTimer.cpp
|
|||||||
${FOLLY_DIR}/io/async/EventBase.cpp
|
${FOLLY_DIR}/io/async/EventBase.cpp
|
||||||
${FOLLY_DIR}/io/async/EventHandler.cpp
|
${FOLLY_DIR}/io/async/EventHandler.cpp
|
||||||
${FOLLY_DIR}/io/async/VirtualEventBase.cpp
|
${FOLLY_DIR}/io/async/VirtualEventBase.cpp
|
||||||
|
${FOLLY_DIR}/io/ShutdownSocketSet.cpp
|
||||||
${FOLLY_DIR}/SharedMutex.cpp
|
${FOLLY_DIR}/SharedMutex.cpp
|
||||||
${FOLLY_DIR}/ExceptionWrapper.cpp
|
${FOLLY_DIR}/ExceptionWrapper.cpp
|
||||||
${FOLLY_DIR}/system/ThreadName.cpp
|
${FOLLY_DIR}/system/ThreadName.cpp
|
||||||
|
|||||||
3
android/third-party/Folly/build.gradle
vendored
3
android/third-party/Folly/build.gradle
vendored
@@ -9,7 +9,7 @@ android {
|
|||||||
targetSdkVersion rootProject.targetSdkVersion
|
targetSdkVersion rootProject.targetSdkVersion
|
||||||
buildConfigField "boolean", "IS_INTERNAL_BUILD", 'true'
|
buildConfigField "boolean", "IS_INTERNAL_BUILD", 'true'
|
||||||
ndk {
|
ndk {
|
||||||
abiFilters 'x86', 'armeabi-v7a'
|
abiFilters 'x86', 'armeabi-v7a', 'arm64-v8a'
|
||||||
}
|
}
|
||||||
|
|
||||||
externalNativeBuild {
|
externalNativeBuild {
|
||||||
@@ -41,3 +41,4 @@ android {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a'
|
// 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a'
|
||||||
|
//'arm64-v8a', 'x86', 'armeabi-v7a'
|
||||||
|
|||||||
23
android/third-party/RSocket/CMakeLists.txt
vendored
23
android/third-party/RSocket/CMakeLists.txt
vendored
@@ -13,27 +13,31 @@ 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(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(OPENSSL_DIR ${third_party_ndk}/OpenSSL/openssl-android-1.0.0/)
|
||||||
|
|
||||||
set(RSOCKET_DIR ${PROJECT_SOURCE_DIR}/rsocket-cpp-0.10.1)
|
set(RSOCKET_ROOT_DIR ${PROJECT_SOURCE_DIR}/rsocket-cpp-0.10.1)
|
||||||
|
set(RSOCKET_DIR ${PROJECT_SOURCE_DIR}/rsocket-cpp-0.10.1/rsocket)
|
||||||
|
|
||||||
|
list(APPEND dir_list ${RSOCKET_ROOT_DIR}/)
|
||||||
list(APPEND dir_list ${RSOCKET_DIR}/)
|
list(APPEND dir_list ${RSOCKET_DIR}/)
|
||||||
list(APPEND dir_list ${RSOCKET_DIR}/benchmarks)
|
#list(APPEND dir_list ${RSOCKET_DIR}/benchmarks)
|
||||||
list(APPEND dir_list ${RSOCKET_DIR}/framing)
|
list(APPEND dir_list ${RSOCKET_DIR}/framing)
|
||||||
list(APPEND dir_list ${RSOCKET_DIR}/internal)
|
list(APPEND dir_list ${RSOCKET_DIR}/internal)
|
||||||
list(APPEND dir_list ${RSOCKET_DIR}/statemachine)
|
list(APPEND dir_list ${RSOCKET_DIR}/statemachine)
|
||||||
list(APPEND dir_list ${RSOCKET_DIR}/transports)
|
list(APPEND dir_list ${RSOCKET_DIR}/transports)
|
||||||
list(APPEND dir_list ${RSOCKET_DIR}/transports/tcp)
|
list(APPEND dir_list ${RSOCKET_DIR}/transports/tcp)
|
||||||
list(APPEND dir_list ${RSOCKET_DIR}/yarpl/flowable)
|
list(APPEND dir_list ${RSOCKET_ROOT_DIR}/yarpl/flowable)
|
||||||
list(APPEND dir_list ${RSOCKET_DIR}/yarpl/observable)
|
list(APPEND dir_list ${RSOCKET_ROOT_DIR}/yarpl/observable)
|
||||||
|
list(APPEND dir_list ${RSOCKET_ROOT_DIR}/yarpl/utils)
|
||||||
|
|
||||||
file(GLOB SRC_FILES ${RSOCKET_DIR}/*.cpp
|
file(GLOB SRC_FILES ${RSOCKET_DIR}/*.cpp
|
||||||
${RSOCKET_DIR}/benchmarks/*.cpp
|
# ${RSOCKET_DIR}/benchmarks/*.cpp
|
||||||
|
${RSOCKET_DIR}/internal/*.cpp
|
||||||
${RSOCKET_DIR}/framing/*.cpp
|
${RSOCKET_DIR}/framing/*.cpp
|
||||||
${RSOCKET_DIR}/statemachine/*.cpp
|
${RSOCKET_DIR}/statemachine/*.cpp
|
||||||
${RSOCKET_DIR}/transports/*.cpp
|
${RSOCKET_DIR}/transports/*.cpp
|
||||||
${RSOCKET_DIR}/transports/tcp/*.cpp
|
${RSOCKET_DIR}/transports/tcp/*.cpp
|
||||||
${FOLLY_DIR}/hash/detail/*.cpp
|
${RSOCKET_ROOT_DIR}/yarpl/observable/*.cpp
|
||||||
${RSOCKET_DIR}/yarpl/observable/*.cpp
|
${RSOCKET_ROOT_DIR}/yarpl/flowable/*.cpp
|
||||||
|
${RSOCKET_ROOT_DIR}/yarpl/utils/*.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
include_directories(${dir_list})
|
include_directories(${dir_list})
|
||||||
@@ -58,7 +62,6 @@ add_compile_options(
|
|||||||
-Wno-tautological-constant-compare
|
-Wno-tautological-constant-compare
|
||||||
)
|
)
|
||||||
|
|
||||||
message(STATUS "DIR LIST RSocket => " ${dir_list} )
|
|
||||||
#file(GLOB_RECURSE SRCFILES ${RSOCKET_DIR}/*.cpp)
|
#file(GLOB_RECURSE SRCFILES ${RSOCKET_DIR}/*.cpp)
|
||||||
|
|
||||||
add_library(${PACKAGE_NAME} SHARED ${SRC_FILES})
|
add_library(${PACKAGE_NAME} SHARED ${SRC_FILES})
|
||||||
@@ -83,13 +86,11 @@ target_include_directories(${PACKAGE_NAME} PRIVATE
|
|||||||
${glog_DIR}
|
${glog_DIR}
|
||||||
${glog_DIR}/../
|
${glog_DIR}/../
|
||||||
${glog_DIR}/glog-0.3.5/src/
|
${glog_DIR}/glog-0.3.5/src/
|
||||||
${easywsclient_DIR}
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
#install(TARGETS ${PACKAGE_NAME} DESTINATION ./build/)
|
#install(TARGETS ${PACKAGE_NAME} DESTINATION ./build/)
|
||||||
set(OPENSSL_LINK_DIRECTORIES ${third_party_ndk}/OpenSSL/libs/${ANDROID_ABI}/)
|
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})
|
find_path(OPENSSL_LIBRARY libssl.so HINTS ${OPENSSL_LINK_DIRECTORIES})
|
||||||
|
|
||||||
|
|||||||
@@ -5,8 +5,9 @@ set(PACKAGE_NAME sonarcpp)
|
|||||||
set(CMAKE_CXX_STANDARD 14)
|
set(CMAKE_CXX_STANDARD 14)
|
||||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||||
|
|
||||||
set(third_party_ndk ../android/build/third-party-ndk)
|
set(third_party_ndk ${PROJECT_SOURCE_DIR}/../android/build/third-party-ndk)
|
||||||
set(libfolly_DIR ${third_party_ndk}/folly/)
|
set(libfolly_DIR ${third_party_ndk}/folly/)
|
||||||
|
set(rsocket_DIR ${third_party_ndk}/RSocket/)
|
||||||
set(easywsclient_DIR ../libs/)
|
set(easywsclient_DIR ../libs/)
|
||||||
set(glog_DIR ${third_party_ndk}/glog)
|
set(glog_DIR ${third_party_ndk}/glog)
|
||||||
set(BOOST_DIR ${third_party_ndk}/boost/boost_1_63_0/)
|
set(BOOST_DIR ${third_party_ndk}/boost/boost_1_63_0/)
|
||||||
@@ -43,18 +44,21 @@ add_library(${PACKAGE_NAME} SHARED ${SOURCES})
|
|||||||
|
|
||||||
set(build_DIR ${CMAKE_SOURCE_DIR}/build)
|
set(build_DIR ${CMAKE_SOURCE_DIR}/build)
|
||||||
set(libfolly_build_DIR ${build_DIR}/libfolly/${ANDROID_ABI})
|
set(libfolly_build_DIR ${build_DIR}/libfolly/${ANDROID_ABI})
|
||||||
set(easywsclient_build_DIR ${build_DIR}/easywsclient/${ANDROID_ABI})
|
set(rsocket_build_DIR ${build_DIR}/rsocket/${ANDROID_ABI})
|
||||||
|
|
||||||
file(MAKE_DIRECTORY ${build_DIR})
|
file(MAKE_DIRECTORY ${build_DIR})
|
||||||
|
|
||||||
add_subdirectory(${libfolly_DIR} ${libfolly_build_DIR})
|
#add_subdirectory(${libfolly_DIR} ${libfolly_build_DIR})
|
||||||
add_subdirectory(${easywsclient_DIR}/easywsclient ${easywsclient_build_DIR})
|
add_subdirectory(${rsocket_DIR} ${rsocket_build_DIR})
|
||||||
|
|
||||||
|
message(STATUS "RSocket DIR:- " ${rsocket_DIR})
|
||||||
|
|
||||||
target_include_directories(${PACKAGE_NAME} PRIVATE
|
target_include_directories(${PACKAGE_NAME} PRIVATE
|
||||||
${libfolly_DIR}
|
${libfolly_DIR}
|
||||||
${BOOST_DIR}
|
${BOOST_DIR}
|
||||||
${BOOST_DIR}/../
|
${BOOST_DIR}/../
|
||||||
${LIBEVENT_DIR}/
|
${LIBEVENT_DIR}/
|
||||||
|
${rsocket_DIR}/rsocket-cpp-0.10.1
|
||||||
${LIBEVENT_DIR}/include/
|
${LIBEVENT_DIR}/include/
|
||||||
${LIBEVENT_DIR}/include/event2
|
${LIBEVENT_DIR}/include/event2
|
||||||
${OPENSSL_DIR}/jni/openssl-android/
|
${OPENSSL_DIR}/jni/openssl-android/
|
||||||
@@ -63,10 +67,9 @@ target_include_directories(${PACKAGE_NAME} PRIVATE
|
|||||||
${glog_DIR}
|
${glog_DIR}
|
||||||
${glog_DIR}/../
|
${glog_DIR}/../
|
||||||
${glog_DIR}/glog-0.3.5/src/
|
${glog_DIR}/glog-0.3.5/src/
|
||||||
${easywsclient_DIR}
|
|
||||||
)
|
)
|
||||||
|
|
||||||
set(OPENSSL_LINK_DIRECTORIES ${third_party_ndk}/OpenSSL/libs/${ANDROID_ABI}/)
|
set(OPENSSL_LINK_DIRECTORIES ${third_party_ndk}/OpenSSL/libs/${ANDROID_ABI}/)
|
||||||
find_path(OPENSSL_LIBRARY libssl.so HINTS ${OPENSSL_LINK_DIRECTORIES})
|
find_path(OPENSSL_LIBRARY libssl.so HINTS ${OPENSSL_LINK_DIRECTORIES})
|
||||||
|
|
||||||
target_link_libraries(${PACKAGE_NAME} folly easywsclient glog double-conversion log event ${OPENSSL_LINK_DIRECTORIES}/libssl.so ${OPENSSL_LINK_DIRECTORIES}/libcrypto.so)
|
target_link_libraries(${PACKAGE_NAME} folly rsocket glog double-conversion log event ${OPENSSL_LINK_DIRECTORIES}/libssl.so ${OPENSSL_LINK_DIRECTORIES}/libcrypto.so)
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ android {
|
|||||||
targetSdkVersion rootProject.targetSdkVersion
|
targetSdkVersion rootProject.targetSdkVersion
|
||||||
|
|
||||||
ndk {
|
ndk {
|
||||||
abiFilters 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a'
|
abiFilters 'arm64-v8a', 'x86'
|
||||||
}
|
}
|
||||||
|
|
||||||
externalNativeBuild {
|
externalNativeBuild {
|
||||||
@@ -31,7 +31,8 @@ android {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation project(':easywsclient')
|
implementation project(':rsocket')
|
||||||
implementation project(':folly')
|
implementation project(':folly')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//'armeabi-v7a'
|
||||||
|
|||||||
Reference in New Issue
Block a user