12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- 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}"
- )
|