Skip to content

Commit 276a071

Browse files
Refactor android ndk PATH env handling
Remove unused test
1 parent 8a83cab commit 276a071

File tree

4 files changed

+18
-455
lines changed

4 files changed

+18
-455
lines changed

libs/openssl/wrapper/CMakeLists.txt

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@ set(CMAKE_CXX_STANDARD 23)
44

55
project(crypto)
66

7-
# enable_testing()
8-
97
### OpenSSL
108

119
include(cmake/openssl.cmake)
@@ -39,6 +37,13 @@ if (NOT CMAKE_SYSTEM_NAME STREQUAL "Emscripten")
3937
add_library(oh_crypto SHARED ${PROJECT_ROOT_DIR}/crypto-jvm-swig/build/generated/sources/jni/crypto.cpp)
4038
target_include_directories(oh_crypto PRIVATE src)
4139
target_link_libraries(oh_crypto PRIVATE oh_crypto_base OpenSSL::Crypto JNI::JNI)
40+
41+
if(CMAKE_SYSTEM_NAME STREQUAL "Darwin" OR CMAKE_SYSTEM_NAME STREQUAL "Linux")
42+
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
43+
target_compile_options(oh_crypto PRIVATE -stdlib=libc++)
44+
target_link_options(oh_crypto PRIVATE -stdlib=libc++)
45+
endif()
46+
endif()
4247
else ()
4348
# Build the lib as a wasm module using Emscripten
4449
add_executable(oh_crypto src/ems_wrapper.cpp)
@@ -71,5 +76,3 @@ else ()
7176
target_link_options(oh_crypto PRIVATE -Oz -flto)
7277
endif ()
7378
endif ()
74-
75-
#add_subdirectory(test)

libs/openssl/wrapper/cmake/openssl.cmake

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@ elseif (CMAKE_SYSTEM_NAME STREQUAL "Android")
1818
set(_OPENSSL_LIB_PATH "lib")
1919
set(_OPENSSL_LIB_SUFFIX "a")
2020

21+
# OpenSSL requires the android toolchain on the PATH
22+
file(GLOB NDK_DIRS "$ENV{ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/*/bin")
23+
list(GET NDK_DIRS 0 NDK_BIN_PATH)
24+
2125
elseif (CMAKE_SYSTEM_NAME STREQUAL "Darwin")
2226
# if(CMAKE_OSX_ARCHITECTURES STREQUAL "arm64")
2327
# set(_OPENSSL_TARGET "darwin64-arm64-cc") # macOS ARM target
@@ -74,15 +78,16 @@ if (CMAKE_SYSTEM_NAME STREQUAL "Emscripten")
7478
CROSS_COMPILE=\"\" \
7579
${OPENSSL_SOURCE_DIR}/Configure \
7680
--prefix=${OPENSSL_INSTALL_DIR} \
77-
${OPENSSL_CONFIG_PARAMS}
78-
${_OPENSSL_TARGET}"
81+
${OPENSSL_CONFIG_PARAMS} \
82+
${_OPENSSL_TARGET}"
7983
)
8084
else ()
8185
set(OPENSSL_CONFIGURE_COMMAND
82-
bash -c "${OPENSSL_SOURCE_DIR}/Configure \
86+
bash -c "PATH=${NDK_BIN_PATH}:$PATH \
87+
${OPENSSL_SOURCE_DIR}/Configure \
8388
--prefix=${OPENSSL_INSTALL_DIR} \
84-
${OPENSSL_CONFIG_PARAMS}
85-
${_OPENSSL_TARGET}"
89+
${OPENSSL_CONFIG_PARAMS} \
90+
${_OPENSSL_TARGET}"
8691
)
8792
endif ()
8893

@@ -97,7 +102,7 @@ ExternalProject_Add(
97102
CONFIGURE_COMMAND
98103
${OPENSSL_CONFIGURE_COMMAND}
99104
UPDATE_COMMAND ""
100-
BUILD_COMMAND make -j14
105+
BUILD_COMMAND bash -c "PATH=${NDK_BIN_PATH}:$PATH make -j14"
101106
BUILD_IN_SOURCE 0
102107
# required, otherwise ninja fails
103108
BUILD_BYPRODUCTS ${_OPENSSL_BUILD_TARGET}

libs/openssl/wrapper/test/CMakeLists.txt

Lines changed: 0 additions & 35 deletions
This file was deleted.

0 commit comments

Comments
 (0)