vcpkg/ports/spdk-ipsec/portfile.cmake
Jack·Boos·Yu 6aa4fca940
[many ports]switch to vcpkg-cmake / vckg-cmake-config part 5 (#29918)
* [many ports]switch to vcpkg-cmake / vckg-cmake-config part 5

* version

* typo

* typo

* fix build

* version

* deprecated vcpkg_extract_source_archive_ex

* version

* fix argument

* version

* Rename argument

* version

* More changes about argument

* wrong op

* version

---------

Co-authored-by: jyu49 <yu_jack@apple.com>
2023-03-01 10:39:29 -08:00

58 lines
2.2 KiB
CMake

IF (NOT VCPKG_CMAKE_SYSTEM_NAME)
SET(EXEC_ENV "Windows")
ELSE ()
SET(EXEC_ENV "${VCPKG_CMAKE_SYSTEM_NAME}")
ENDIF ()
IF (NOT VCPKG_TARGET_IS_LINUX)
MESSAGE(FATAL_ERROR "Intel(R) Multi-Buffer Crypto for IPsec Library currently only supports Linux/Windows platforms")
MESSAGE(STATUS "Well, it is not true, but I didnt manage to get it working on Windows")
ENDIF ()
IF (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")
MESSAGE(FATAL_ERROR "Intel(R) Multi-Buffer Crypto for IPsec Library currently only supports x64 architecture")
ELSEIF (NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
MESSAGE(FATAL_ERROR "Unsupported architecture: ${VCPKG_TARGET_ARCHITECTURE}")
ENDIF ()
VCPKG_FROM_GITHUB(
OUT_SOURCE_PATH SOURCE_PATH
REPO spdk/intel-ipsec-mb
REF spdk
SHA512 037fc382d9aa87b6645309f29cb761a584ed855c583638c9e27b5b7200ceb2ae21ad5adcc7c92b2b1d1387186a7fd2b5ae22f337a8f52dea3f6c35d8f90b42bd
HEAD_REF master
)
VCPKG_FIND_ACQUIRE_PROGRAM(NASM)
execute_process(
COMMAND "${NASM}" -v
OUTPUT_VARIABLE NASM_OUTPUT
ERROR_VARIABLE NASM_OUTPUT
)
STRING(REGEX REPLACE "NASM version ([0-9]+\\.[0-9]+\\.[0-9]+).*" "\\1" NASM_VERSION "${NASM_OUTPUT}")
IF (NASM_VERSION VERSION_LESS 2.13.03)
MESSAGE(FATAL_ERROR "NASM version 2.13.03 (or newer) is required to build this package")
ENDIF ()
GET_FILENAME_COMPONENT(NASM_PATH "${NASM}" DIRECTORY)
vcpkg_add_to_path("${NASM_PATH}")
vcpkg_cmake_configure(
SOURCE_PATH "${CMAKE_CURRENT_LIST_DIR}"
OPTIONS
"-DSOURCE_PATH=${SOURCE_PATH}"
-DEXEC_ENV=${VCPKG_CMAKE_SYSTEM_NAME}
)
vcpkg_cmake_install()
FILE(INSTALL "${SOURCE_PATH}/Release/lib/" DESTINATION "${CURRENT_PACKAGES_DIR}/lib/spdk")
if(NOT VCPKG_BUILD_TYPE)
FILE(INSTALL "${SOURCE_PATH}/Debug/lib/" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib/spdk")
endif()
FILE(INSTALL "${SOURCE_PATH}/Release/include/" DESTINATION "${CURRENT_PACKAGES_DIR}/include/${PORT}")
FILE(INSTALL "${CMAKE_CURRENT_LIST_DIR}/spdk-ipsecConfig.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
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)