diff options
| author | Wimok Nupphiboon <wimok.mok@gmail.com> | 2018-03-30 21:58:49 +0700 |
|---|---|---|
| committer | Wimok Nupphiboon <wimok.mok@gmail.com> | 2018-03-30 21:58:49 +0700 |
| commit | c681f4ee840c81a508fc0e8352c9aedf66fb5eaf (patch) | |
| tree | 5bda96eca1cee03af97da726b9b3d3038d75fae1 /ports/pmdk | |
| parent | 663be4bbffd435cf5e5fc62a0774c784c10ddc68 (diff) | |
| parent | f9d4692749ad68340a07453add49a8ef029fa155 (diff) | |
| download | vcpkg-c681f4ee840c81a508fc0e8352c9aedf66fb5eaf.tar.gz vcpkg-c681f4ee840c81a508fc0e8352c9aedf66fb5eaf.zip | |
Merge remote-tracking branch 'origin/master'
Diffstat (limited to 'ports/pmdk')
| -rw-r--r-- | ports/pmdk/CONTROL | 3 | ||||
| -rw-r--r-- | ports/pmdk/portfile.cmake | 77 |
2 files changed, 80 insertions, 0 deletions
diff --git a/ports/pmdk/CONTROL b/ports/pmdk/CONTROL new file mode 100644 index 000000000..f440b68bc --- /dev/null +++ b/ports/pmdk/CONTROL @@ -0,0 +1,3 @@ +Source: pmdk +Version: 1.4-1 +Description: Persistent Memory Development Kit
\ No newline at end of file diff --git a/ports/pmdk/portfile.cmake b/ports/pmdk/portfile.cmake new file mode 100644 index 000000000..89c48a8fb --- /dev/null +++ b/ports/pmdk/portfile.cmake @@ -0,0 +1,77 @@ +include(vcpkg_common_functions) + +if (VCPKG_LIBRARY_LINKAGE STREQUAL static) + message(STATUS "Static building not supported. Building dynamic.") + set(VCPKG_LIBRARY_LINKAGE dynamic) +endif() +if(VCPKG_CRT_LINKAGE STREQUAL "static") + message(FATAL_ERROR "Static CRT linkage is not supported") +endif() + +if (TRIPLET_SYSTEM_ARCH MATCHES "arm") + message(FATAL_ERROR "ARM is currently not supported") +elseif (TRIPLET_SYSTEM_ARCH MATCHES "x86") + message(FATAL_ERROR "x86 is not supported. Please use pmdk:x64-windows instead.") +endif() + +# Download source +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO pmem/pmdk + REF 1.4 + SHA512 95dbea9acfea4a6cb433a25f56f7484946a93fbce1c5e0e1d6ff36e0824e3e0e9f28f37024918998358f8ff12e69d0902fcf88357b9ad12695f32e06e86ffac8 + HEAD_REF master +) + +get_filename_component(PMDK_VERSION "${SOURCE_PATH}" NAME) +string(REPLACE "pmdk-" "" PMDK_VERSION "${PMDK_VERSION}") + +# Build only the selected projects +vcpkg_build_msbuild( + PROJECT_PATH ${SOURCE_PATH}/src/PMDK.sln + PLATFORM x64 + PLATFORM_TOOLSET v140 + TARGET_PLATFORM_VERSION 10.0.16299.0 + TARGET "Solution Items\\libpmem,Solution Items\\libpmemlog,Solution Items\\libpmemblk,Solution Items\\libpmemobj,Solution Items\\libpmemcto,Solution Items\\libpmempool,Solution Items\\libvmem,Solution Items\\Tools\\pmempool" + OPTIONS /p:SRCVERSION=${PMDK_VERSION} +) + +set(DEBUG_ARTIFACTS_PATH ${SOURCE_PATH}/src/x64/Debug) +set(RELEASE_ARTIFACTS_PATH ${SOURCE_PATH}/src/x64/Release) + +# Install header files +file(GLOB HEADER_FILES ${SOURCE_PATH}/src/include/*.h) +file(INSTALL ${HEADER_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include) +file(GLOB HEADER_FILES ${SOURCE_PATH}/src/include/libpmemobj/*.h) +file(INSTALL ${HEADER_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/libpmemobj) +file(GLOB HEADER_FILES ${SOURCE_PATH}/src/include/libpmemobj++/*.hpp) +file(INSTALL ${HEADER_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/libpmemobj++) + +# Remove unneeded header files +file(REMOVE ${CURRENT_PACKAGES_DIR}/include/libvmmalloc.h) +file(REMOVE ${CURRENT_PACKAGES_DIR}/include/librpmem.h) + +# Install libraries (debug) +file(GLOB LIB_DEBUG_FILES ${DEBUG_ARTIFACTS_PATH}/lib[pv]mem*.lib ${DEBUG_ARTIFACTS_PATH}/lib[pv]mem*.exp) +file(INSTALL ${LIB_DEBUG_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) +file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/libpmemcommon.lib) +file(GLOB LIB_DEBUG_FILES ${DEBUG_ARTIFACTS_PATH}/lib[pv]mem*.dll) +file(INSTALL ${LIB_DEBUG_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + +# Install libraries (release) +file(GLOB LIB_RELEASE_FILES ${RELEASE_ARTIFACTS_PATH}/lib[pv]mem*.lib ${RELEASE_ARTIFACTS_PATH}/lib[pv]mem*.exp) +file(INSTALL ${LIB_RELEASE_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/lib) +file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/libpmemcommon.lib) +file(GLOB LIB_RELEASE_FILES ${RELEASE_ARTIFACTS_PATH}/lib[pv]mem*.dll) +file(INSTALL ${LIB_RELEASE_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/bin) + +# Install tools (release only) +file(INSTALL ${RELEASE_ARTIFACTS_PATH}/pmempool.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools/pmdk) + +vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/pmdk) + +vcpkg_copy_pdbs() + +# Handle copyright +file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/pmdk) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/pmdk/LICENSE ${CURRENT_PACKAGES_DIR}/share/pmdk/copyright) |
