aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/boringssl/portfile.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/boringssl/portfile.cmake')
-rw-r--r--vcpkg/ports/boringssl/portfile.cmake61
1 files changed, 61 insertions, 0 deletions
diff --git a/vcpkg/ports/boringssl/portfile.cmake b/vcpkg/ports/boringssl/portfile.cmake
new file mode 100644
index 0000000..121de50
--- /dev/null
+++ b/vcpkg/ports/boringssl/portfile.cmake
@@ -0,0 +1,61 @@
+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_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO google/boringssl
+ REF 0.20250818.0
+ SHA512 49404ac5a5fd0fd4254f24b586e5d6ae139df48b9163f865a1a16a7e6c27b9a9373863ffc89b5b3be20bbe01cce788cc146c887692be332ae4f522482862ccac
+ HEAD_REF master
+ PATCHES
+ 0001-static-gtest.patch
+ 0002-remove-WX-Werror.patch
+ 0003-fix-shared-symbol-visibility.patch
+)
+
+set(BORINGSSL_OPTIONS)
+if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
+ # MSVC armasm64 expects MASM syntax; BoringSSL uses GNU asm on arm64, so force the C fallback.
+ list(APPEND BORINGSSL_OPTIONS "-DOPENSSL_NO_ASM=ON")
+endif()
+
+if(VCPKG_TARGET_IS_WINDOWS)
+ # the FindOpenSSL.cmake script differentiates debug and release binaries using this suffix.
+ set(CMAKE_CONFIGURE_OPTIONS_DEBUG "-DCMAKE_DEBUG_POSTFIX=d")
+endif()
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS
+ ${BORINGSSL_OPTIONS}
+ OPTIONS_DEBUG
+ ${CMAKE_CONFIGURE_OPTIONS_DEBUG}
+)
+
+vcpkg_cmake_install()
+vcpkg_copy_pdbs()
+vcpkg_cmake_config_fixup(PACKAGE_NAME OpenSSL CONFIG_PATH lib/cmake/OpenSSL)
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+vcpkg_copy_tools(TOOL_NAMES bssl AUTO_CLEAN)
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin")
+endif()
+
+include("${CMAKE_CURRENT_LIST_DIR}/install-pc-files.cmake")
+
+file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")