aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/intel-ipsec/portfile.cmake
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/intel-ipsec/portfile.cmake
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/intel-ipsec/portfile.cmake')
-rw-r--r--vcpkg/ports/intel-ipsec/portfile.cmake105
1 files changed, 105 insertions, 0 deletions
diff --git a/vcpkg/ports/intel-ipsec/portfile.cmake b/vcpkg/ports/intel-ipsec/portfile.cmake
new file mode 100644
index 0000000..eb945e1
--- /dev/null
+++ b/vcpkg/ports/intel-ipsec/portfile.cmake
@@ -0,0 +1,105 @@
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO intel/intel-ipsec-mb
+ REF bde82c8737edc04d80549f0a68225ede7e5cefd #v1.1
+ SHA512 f41dcde88b062e8ec2327987c6d36cd4f74a5e4fea386cc1ef8364f1dc432a2db02ca7d3312c0471b443cf93e815af6d74a4819c249afd6777aa91693b2546e5
+ HEAD_REF master
+ PATCHES
+ always-generate-pdb.patch # https://github.com/intel/intel-ipsec-mb/pull/93
+)
+
+vcpkg_find_acquire_program(NASM)
+get_filename_component(NASM_DIR "${NASM}" DIRECTORY)
+vcpkg_add_to_path(PREPEND "${NASM_DIR}")
+
+vcpkg_list(SET MAKE_OPTIONS)
+set(INTEL_IPSEC_STATIC_OR_SHARED SHARED)
+if ("${VCPKG_LIBRARY_LINKAGE}" STREQUAL "static")
+ vcpkg_list(APPEND MAKE_OPTIONS SHARED=n)
+ set(INTEL_IPSEC_STATIC_OR_SHARED STATIC)
+endif()
+
+set(DEBUG_LIB "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/lib")
+set(RELEASE_LIB "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/lib")
+
+if (VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
+ vcpkg_build_nmake(
+ SOURCE_PATH "${SOURCE_PATH}"
+ PROJECT_SUBPATH lib
+ PROJECT_NAME win_x64.mak
+ OPTIONS ${MAKE_OPTIONS}
+ OPTIONS_DEBUG DEBUG=y
+ )
+
+ if(NOT "${VCPKG_BUILD_TYPE}" STREQUAL "release")
+ file(INSTALL "${DEBUG_LIB}/libIPSec_MB.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib")
+ set(INTEL_IPSEC_CONFIGURATION "DEBUG")
+ if ("${VCPKG_LIBRARY_LINKAGE}" STREQUAL "static")
+ set(INTEL_IPSEC_LOCATION "debug/lib/libIPSec_MB.lib")
+ configure_file("${CMAKE_CURRENT_LIST_DIR}/intel-ipsec-targets.cmake.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/intel-ipsec-targets-debug.cmake" @ONLY)
+ else()
+ file(INSTALL "${DEBUG_LIB}/libIPSec_MB.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin")
+ file(INSTALL "${DEBUG_LIB}/libIPSec_MB.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin")
+ file(INSTALL "${DEBUG_LIB}/libIPSec_MB.exp" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib")
+ set(INTEL_IPSEC_LOCATION "debug/bin/libIPSec_MB.dll")
+ set(INTEL_IPSEC_IMPLIB "debug/lib/libIPSec_MB.lib")
+ configure_file("${CMAKE_CURRENT_LIST_DIR}/intel-ipsec-targets-implib.cmake.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/intel-ipsec-targets-debug.cmake" @ONLY)
+ endif()
+ endif()
+
+ file(INSTALL "${RELEASE_LIB}/libIPSec_MB.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib")
+ set(INTEL_IPSEC_CONFIGURATION "RELEASE")
+ if ("${VCPKG_LIBRARY_LINKAGE}" STREQUAL "static")
+ set(INTEL_IPSEC_LOCATION "lib/libIPSec_MB.lib")
+ configure_file("${CMAKE_CURRENT_LIST_DIR}/intel-ipsec-targets.cmake.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/intel-ipsec-targets-release.cmake" @ONLY)
+ else()
+ file(INSTALL "${RELEASE_LIB}/libIPSec_MB.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/bin")
+ file(INSTALL "${RELEASE_LIB}/libIPSec_MB.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/bin")
+ file(INSTALL "${RELEASE_LIB}/libIPSec_MB.exp" DESTINATION "${CURRENT_PACKAGES_DIR}/lib")
+ set(INTEL_IPSEC_LOCATION "bin/libIPSec_MB.dll")
+ set(INTEL_IPSEC_IMPLIB "lib/libIPSec_MB.lib")
+ configure_file("${CMAKE_CURRENT_LIST_DIR}/intel-ipsec-targets-implib.cmake.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/intel-ipsec-targets-release.cmake" @ONLY)
+ endif()
+else()
+ if ("${VCPKG_LIBRARY_LINKAGE}" STREQUAL "static")
+ set(LIB_SUFFIX ".a")
+ else()
+ set(LIB_SUFFIX ".so")
+ endif()
+
+ find_program(MAKE make REQUIRED)
+ if(NOT "${VCPKG_BUILD_TYPE}" STREQUAL "release")
+ message(STATUS "Building ${TARGET_TRIPLET}-dbg")
+ set(INTEL_IPSEC_CONFIGURATION "DEBUG")
+ file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg")
+ file(COPY "${SOURCE_PATH}/" DESTINATION "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg")
+ vcpkg_execute_build_process(
+ COMMAND "${MAKE}" "-j${VCPKG_CONCURRENCY}" ${MAKE_OPTIONS}
+ WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/lib"
+ LOGNAME "build-${TARGET_TRIPLET}-dbg"
+ )
+
+ file(INSTALL "${DEBUG_LIB}/libIPSec_MB${LIB_SUFFIX}" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib")
+ set(INTEL_IPSEC_LOCATION "debug/lib/libIPSec_MB${LIB_SUFFIX}")
+ configure_file("${CMAKE_CURRENT_LIST_DIR}/intel-ipsec-targets.cmake.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/intel-ipsec-targets-debug.cmake" @ONLY)
+ endif()
+
+ message(STATUS "Building ${TARGET_TRIPLET}-rel")
+ set(INTEL_IPSEC_CONFIGURATION "RELEASE")
+ file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel")
+ file(COPY "${SOURCE_PATH}/" DESTINATION "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel")
+ vcpkg_execute_build_process(
+ COMMAND "${MAKE}" -j ${MAKE_OPTIONS}
+ WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/lib"
+ LOGNAME "build-${TARGET_TRIPLET}-rel"
+ )
+
+ file(INSTALL "${RELEASE_LIB}/libIPSec_MB${LIB_SUFFIX}" DESTINATION "${CURRENT_PACKAGES_DIR}/lib")
+ set(INTEL_IPSEC_LOCATION "lib/libIPSec_MB${LIB_SUFFIX}")
+ configure_file("${CMAKE_CURRENT_LIST_DIR}/intel-ipsec-targets.cmake.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/intel-ipsec-targets-release.cmake" @ONLY)
+endif()
+
+file(INSTALL "${SOURCE_PATH}/lib/intel-ipsec-mb.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include")
+configure_file("${CMAKE_CURRENT_LIST_DIR}/intel-ipsecConfig.cmake.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/intel-ipsecConfig.cmake" @ONLY)
+file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
+file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)