mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-12-05 08:49:01 +08:00
73 lines
2.5 KiB
CMake
73 lines
2.5 KiB
CMake
include(vcpkg_common_functions)
|
|
|
|
if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR NOT VCPKG_CMAKE_SYSTEM_NAME)
|
|
message(FATAL_ERROR "This port is only for openssl on Unix-like systems")
|
|
endif()
|
|
|
|
if(EXISTS "${CURRENT_INSTALLED_DIR}/include/openssl/ssl.h")
|
|
message(WARNING "Can't build openssl if libressl is installed. Please remove libressl, and try install openssl again if you need it. Build will continue but there might be problems since libressl is only a subset of openssl")
|
|
set(VCPKG_POLICY_EMPTY_PACKAGE enabled)
|
|
return()
|
|
endif()
|
|
|
|
|
|
vcpkg_find_acquire_program(PERL)
|
|
|
|
set(OPENSSL_VERSION 1.0.2s)
|
|
|
|
vcpkg_download_distfile(OPENSSL_SOURCE_ARCHIVE
|
|
URLS "https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz" "https://www.openssl.org/source/old/1.0.2/openssl-${OPENSSL_VERSION}.tar.gz"
|
|
FILENAME "openssl-${OPENSSL_VERSION}.tar.gz"
|
|
SHA512 9f745452c4f777df694158e95003cde78a2cf8199bc481a563ec36644664c3c1415a774779b9791dd18f2aeb57fa1721cb52b3db12d025955e970071d5b66d2a
|
|
)
|
|
|
|
vcpkg_extract_source_archive_ex(
|
|
OUT_SOURCE_PATH MASTER_COPY_SOURCE_PATH
|
|
ARCHIVE ${OPENSSL_SOURCE_ARCHIVE}
|
|
REF ${OPENSSL_VERSION}
|
|
PATCHES
|
|
ConfigureIncludeQuotesFix.patch
|
|
STRINGIFYPatch.patch
|
|
EmbedSymbolsInStaticLibsZ7.patch
|
|
)
|
|
|
|
if(CMAKE_HOST_WIN32)
|
|
vcpkg_acquire_msys(MSYS_ROOT PACKAGES make)
|
|
set(BASH ${MSYS_ROOT}/usr/bin/bash.exe)
|
|
set(MAKE ${MSYS_ROOT}/usr/bin/make.exe)
|
|
else()
|
|
find_program(MAKE make)
|
|
if(NOT MAKE)
|
|
message(FATAL_ERROR "Could not find make. Please install it through your package manager.")
|
|
endif()
|
|
endif()
|
|
|
|
vcpkg_configure_cmake(
|
|
SOURCE_PATH ${CMAKE_CURRENT_LIST_DIR}
|
|
PREFER_NINJA
|
|
OPTIONS
|
|
-DSOURCE_PATH=${MASTER_COPY_SOURCE_PATH}
|
|
-DPERL=${PERL}
|
|
-DMAKE=${MAKE}
|
|
OPTIONS_RELEASE
|
|
-DINSTALL_HEADERS=ON
|
|
)
|
|
|
|
vcpkg_install_cmake()
|
|
|
|
file(GLOB HEADERS ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/*/include/openssl/*.h)
|
|
set(RESOLVED_HEADERS)
|
|
foreach(HEADER ${HEADERS})
|
|
get_filename_component(X "${HEADER}" REALPATH)
|
|
list(APPEND RESOLVED_HEADERS "${X}")
|
|
endforeach()
|
|
|
|
file(INSTALL ${RESOLVED_HEADERS} DESTINATION ${CURRENT_PACKAGES_DIR}/include/openssl)
|
|
file(INSTALL ${MASTER_COPY_SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/openssl-unix RENAME copyright)
|
|
|
|
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
|
|
file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/openssl)
|
|
endif()
|
|
|
|
vcpkg_test_cmake(PACKAGE_NAME OpenSSL MODULE)
|