vcpkg/ports/boringssl/portfile.cmake
Henrik Gaßmann 7b30311f0a
[boringssl] Fix pkg-config & cmake find module compat (#31387)
* [boringssl] Fix find-module compatibility

OpenSSL libraries use a "d" postfix to differentiate debug and release
binaries. The cmake find-module mistakes the debug binary for the
release binary without the postfix.

Fix the package config generator logic which was completely broken
before: Remove linkage of Windows libraries for non-Windows targets and
remove the "lib" prefix only for msvc builds.

Harmonize the pkg-configs with the debug postfix.

Add usage instructions.

* [boringssl] Add new port version to database
2023-05-17 09:21:23 -07:00

55 lines
1.7 KiB
CMake

if(EXISTS "${CURRENT_INSTALLED_DIR}/include/openssl/ssl.h")
message(FATAL_ERROR "Can't build BoringSSL if OpenSSL is installed. Please remove OpenSSL, and try to install BoringSSL again if you need it. Build will continue since BoringSSL is a drop-in replacement for OpenSSL")
endif()
vcpkg_find_acquire_program(PERL)
get_filename_component(PERL_EXE_PATH ${PERL} DIRECTORY)
vcpkg_add_to_path(${PERL_EXE_PATH})
vcpkg_find_acquire_program(NASM)
get_filename_component(NASM_EXE_PATH ${NASM} DIRECTORY)
vcpkg_add_to_path(${NASM_EXE_PATH})
vcpkg_find_acquire_program(GO)
get_filename_component(GO_EXE_PATH ${GO} DIRECTORY)
vcpkg_add_to_path(${GO_EXE_PATH})
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
tools INSTALL_TOOLS
)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO google/boringssl
REF 479adf98d54a21c1d154aac59b2ce120e1d1a6d6
SHA512 74b5d001c0f5c1846b8818e9e668fa35de5171fc21a8f713d241f57b3e8abe42426fdc66b085cca1853b904def6f4bea573dfed40b8b1422894cca85b0b1a44a
HEAD_REF master
PATCHES
0001-vcpkg.patch
0002-remove-WX-Werror.patch
)
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
${FEATURE_OPTIONS}
OPTIONS_DEBUG
-DINSTALL_HEADERS=OFF
-DINSTALL_TOOLS=OFF
# the FindOpenSSL.cmake script differentiates debug and release binaries using this suffix.
-DCMAKE_DEBUG_POSTFIX=d
)
vcpkg_cmake_install()
vcpkg_copy_pdbs()
include("${CMAKE_CURRENT_LIST_DIR}/install-pc-files.cmake")
if(IS_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/boringssl")
vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/boringssl")
endif()
file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")