vcpkg/ports/nanort/portfile.cmake

48 lines
1.6 KiB
CMake
Raw Normal View History

2019-08-20 23:32:55 +08:00
# Single header only library
include(vcpkg_common_functions)
function(shorten_ref REF SHORTENED_REF)
set(REF_MAX_LENGTH 10)
string(LENGTH ${REF} REF_LENGTH)
math(EXPR FROM_REF ${REF_LENGTH}-${REF_MAX_LENGTH})
if(FROM_REF LESS 0)
set(FROM_REF 0)
endif()
string(SUBSTRING ${REF} ${FROM_REF} ${REF_LENGTH} SUB_REF)
set(${SHORTENED_REF} ${SUB_REF} PARENT_SCOPE)
endfunction()
set(SOURCE_VERSION c85fe7a10be5baf8242c81288718c244f25d0183)
shorten_ref(${SOURCE_VERSION} SHORTED_VERSION)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/lighttransport-nanort-${SHORTED_VERSION})
file(MAKE_DIRECTORY ${SOURCE_PATH})
# See ports/nlohmann-json/portfile.cmake
function(download_src SUBPATH SHA512)
vcpkg_download_distfile(
FILE
URLS "https://raw.githubusercontent.com/lighttransport/nanort/master/${SUBPATH}"
FILENAME "lighttransport-nanort-${SHORTED_VERSION}/${SUBPATH}"
SHA512 ${SHA512}
)
get_filename_component(SUBPATH_DIR "${SOURCE_PATH}/${SUBPATH}" DIRECTORY)
file(COPY ${FILE} DESTINATION ${SUBPATH_DIR})
endfunction()
download_src(
nanort.h
3e1f6f5fa295ebc472e37daf106c3871873f0bea4e3175cd4042b5649f581a90bfb9f2db989fa1994c82a2de78e40ecbcafd188b68bf10b5983a41b48e53dcbc
)
download_src(
LICENSE
454b304dcfae816d7a569ccbe29cc9c4bd68aa7ac41467bfa33b39aaf5be4620df5aeb6989319aaa04f305c053c068559b39c7a38c0bee1d4f194b2bc1aac240
)
file(COPY ${SOURCE_PATH}/nanort.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
# Handle copyright
configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY)