64 lines
No EOL
1.9 KiB
CMake
64 lines
No EOL
1.9 KiB
CMake
|
|
include(ProcessorCount)
|
|
ProcessorCount(NPROC)
|
|
|
|
if(DEFINED OPENSSL_ARCH)
|
|
set(_cross_arch ${OPENSSL_ARCH})
|
|
else()
|
|
if(WIN32)
|
|
set(_cross_arch "VC-WIN64A")
|
|
elseif(APPLE)
|
|
set(_cross_arch "darwin64-arm64-cc")
|
|
endif()
|
|
endif()
|
|
|
|
if(WIN32)
|
|
set(_conf_cmd perl Configure )
|
|
set(_cross_comp_prefix_line "")
|
|
set(_make_cmd nmake)
|
|
set(_install_cmd nmake install_sw )
|
|
else()
|
|
if(APPLE)
|
|
set(_conf_cmd ./Configure )
|
|
else()
|
|
set(_conf_cmd "./config")
|
|
endif()
|
|
set(_cross_comp_prefix_line "")
|
|
set(_make_cmd make -j${NPROC})
|
|
set(_install_cmd make -j${NPROC} install_sw)
|
|
if (CMAKE_CROSSCOMPILING)
|
|
set(_cross_comp_prefix_line "--cross-compile-prefix=${TOOLCHAIN_PREFIX}-")
|
|
|
|
if (${CMAKE_SYSTEM_PROCESSOR} STREQUAL "aarch64" OR ${CMAKE_SYSTEM_PROCESSOR} STREQUAL "arm64")
|
|
set(_cross_arch "linux-aarch64")
|
|
elseif (${CMAKE_SYSTEM_PROCESSOR} STREQUAL "armhf") # For raspbian
|
|
# TODO: verify
|
|
set(_cross_arch "linux-armv4")
|
|
endif ()
|
|
endif ()
|
|
endif()
|
|
|
|
ExternalProject_Add(dep_OpenSSL
|
|
#EXCLUDE_FROM_ALL ON
|
|
URL "https://github.com/openssl/openssl/archive/OpenSSL_1_1_1k.tar.gz"
|
|
URL_HASH SHA256=b92f9d3d12043c02860e5e602e50a73ed21a69947bcc74d391f41148e9f6aa95
|
|
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/OpenSSL
|
|
CONFIGURE_COMMAND ${_conf_cmd} ${_cross_arch}
|
|
"--openssldir=${DESTDIR}/usr/local"
|
|
"--prefix=${DESTDIR}/usr/local"
|
|
${_cross_comp_prefix_line}
|
|
no-shared
|
|
no-asm
|
|
no-ssl3-method
|
|
no-dynamic-engine
|
|
BUILD_IN_SOURCE ON
|
|
BUILD_COMMAND ${_make_cmd}
|
|
INSTALL_COMMAND ${_install_cmd}
|
|
)
|
|
|
|
ExternalProject_Add_Step(dep_OpenSSL install_cmake_files
|
|
DEPENDEES install
|
|
|
|
COMMAND ${CMAKE_COMMAND} -E copy_directory openssl "${DESTDIR}/usr/local/${CMAKE_INSTALL_LIBDIR}/cmake/openssl"
|
|
WORKING_DIRECTORY "${CMAKE_CURRENT_LIST_DIR}"
|
|
) |