mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-11-29 03:41:48 +08:00
b18b17865c
* update intel-ipsec to v1.1 * Update portfile.cmake, correct the install file path * Add more double quotes * Revert changes about double quotes * version * [intel-ipsec] Overhaul/modernize port. * Remove CMakeLists.txt replacement that was a fancy way to say vcpkg_from_make/vcpkg_from_nmake. * Convert support messages into a "supports" expression. * Fix Windows. * Correct CMake config handling of release/debug static/shared and Windows. * Remove attempt to copy nonexistent PDBs. * Apply CR feedback from Nicole and dg0yt * Add if(TARGET * Update always-generate-PDB patch with the version actually merged upstream. Co-authored-by: Mengna-Li <you@example.com> Co-authored-by: JackBoosY <yuzaiyang@beyondsoft.com>
106 lines
5.5 KiB
CMake
106 lines
5.5 KiB
CMake
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)
|