mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-12-04 06:59:01 +08:00
73b9a2a359
* [vcpkg-cmake-get-vars] Call 'project' early
System variables like 'APPLE' or 'ANDROID' aren't set before 'project()'.
* Get Android variables
* [openssl] Ensure that compiler is reached via 'PATH'
* Fix Android configuration
* Add 'tools' feature
* Update versions
* [openssl] Initialize android with vcpkg settings
* [openssl] Really don't build apps
* [vcpkg-cmake-get-vars] Update android vars
* [libpq] Pass openssl version from pkgconfig
* [vcpkg-cmake-get-vars] Update android vars
* [vcpkg-cmake-get-vars] Report generator
* [vcpkg-cmake-get-vars] Escape all output
* Transfer cmake-get-vars fixes
* Transfer cmake-get-vars extra flags
* no-asm for android-arm w/o neon
* [vcpkg_configure_make] Unquote as needed
Toolchain flags are passed into make via environment variables (e.g.
CFLAGS) and expanded by Makefiles regardless of quotes. And even vcm's
internal handling isn't prepared for these quotes. So we must remove
the early. This doesn't interfere with properly escaped quotes.
* Re-add lost 'project', amends 4cf7caaa
* [openssl] Fix emscripten
71 lines
2.5 KiB
CMake
71 lines
2.5 KiB
CMake
if(EXISTS "${CURRENT_INSTALLED_DIR}/share/libressl/copyright"
|
|
OR EXISTS "${CURRENT_INSTALLED_DIR}/share/boringssl/copyright")
|
|
message(FATAL_ERROR "Can't build openssl if libressl/boringssl is installed. Please remove libressl/boringssl, and try install openssl again if you need it.")
|
|
endif()
|
|
|
|
if(VCPKG_TARGET_IS_EMSCRIPTEN)
|
|
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
|
|
endif()
|
|
|
|
if (NOT "${VERSION}" MATCHES [[^([0-9]+)\.([0-9]+)\.([0-9]+)$]])
|
|
message(FATAL_ERROR "Version regex did not match.")
|
|
endif()
|
|
set(OPENSSL_VERSION_MAJOR "${CMAKE_MATCH_1}")
|
|
set(OPENSSL_VERSION_MINOR "${CMAKE_MATCH_2}")
|
|
set(OPENSSL_VERSION_FIX "${CMAKE_MATCH_3}")
|
|
configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-cmake-wrapper.cmake" @ONLY)
|
|
|
|
vcpkg_from_github(
|
|
OUT_SOURCE_PATH SOURCE_PATH
|
|
REPO openssl/openssl
|
|
REF "openssl-${VERSION}"
|
|
SHA512 5a821aaaaa89027ce08a347e5fc216757c2971e29f7d24792609378c54f657839b3775bf639e7330b28b4f96ef0d32869f0a96afcb25c8a2e1c2fe51a6eb4aa3
|
|
PATCHES
|
|
disable-apps.patch
|
|
disable-install-docs.patch
|
|
script-prefix.patch
|
|
windows/install-layout.patch
|
|
windows/install-pdbs.patch
|
|
windows/umul128-arm64.patch # Fixed upstream in https://github.com/openssl/openssl/pull/20244, but not released as of 3.0.8
|
|
unix/android-cc.patch
|
|
unix/move-openssldir.patch
|
|
unix/no-empty-dirs.patch
|
|
unix/no-static-libs-for-shared.patch
|
|
)
|
|
|
|
vcpkg_list(SET CONFIGURE_OPTIONS
|
|
enable-static-engine
|
|
enable-capieng
|
|
no-ssl3
|
|
no-weak-ssl-ciphers
|
|
no-tests
|
|
)
|
|
|
|
if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
|
|
vcpkg_list(APPEND CONFIGURE_OPTIONS shared)
|
|
else()
|
|
vcpkg_list(APPEND CONFIGURE_OPTIONS no-shared no-module)
|
|
endif()
|
|
|
|
if(NOT "tools" IN_LIST FEATURES)
|
|
vcpkg_list(APPEND CONFIGURE_OPTIONS no-apps)
|
|
endif()
|
|
|
|
if(DEFINED OPENSSL_USE_NOPINSHARED)
|
|
vcpkg_list(APPEND CONFIGURE_OPTIONS no-pinshared)
|
|
endif()
|
|
|
|
if(OPENSSL_NO_AUTOLOAD_CONFIG)
|
|
vcpkg_list(APPEND CONFIGURE_OPTIONS no-autoload-config)
|
|
endif()
|
|
|
|
if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
|
|
include("${CMAKE_CURRENT_LIST_DIR}/windows/portfile.cmake")
|
|
include("${CMAKE_CURRENT_LIST_DIR}/install-pc-files.cmake")
|
|
else()
|
|
include("${CMAKE_CURRENT_LIST_DIR}/unix/portfile.cmake")
|
|
endif()
|
|
|
|
file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
|
|
file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
|