Skip to content

Commit

Permalink
[pmdk] Rename and update to version 1.4 (#3173)
Browse files Browse the repository at this point in the history
* [pmdk] Rename and update to version 1.4

The NVML project has been renamed to PMDK (Persistent Memory
Development Kit).  PMDK version 1.4 is the first official release
with the new name.

* [pmdk] Use vcpkg_from_github more -- avoid separate variable declarations
  • Loading branch information
krzycz authored and ras0219-msft committed Mar 29, 2018
1 parent 3d87445 commit e90c5e6
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 23 deletions.
3 changes: 0 additions & 3 deletions ports/nvml/CONTROL

This file was deleted.

3 changes: 3 additions & 0 deletions ports/pmdk/CONTROL
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Source: pmdk
Version: 1.4-1
Description: Persistent Memory Development Kit
43 changes: 23 additions & 20 deletions ports/nvml/portfile.cmake → ports/pmdk/portfile.cmake
Original file line number Diff line number Diff line change
@@ -1,38 +1,39 @@

set(NVML_VERSION 1.3)
set(NVML_HASH 59fb552c693d5279ec86eff8eb1c36832c9c5beb6492a64b54b21c09d90ed52cba22d57912a304cf1ec17c4633da641200fd50dbe4a38355f43c674842f991bd)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/${NVML_VERSION})

include(vcpkg_common_functions)

if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
message(STATUS "WARNING: Static building not supported. Building dynamic.")
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 nvml:x64-windows or set environment variable VCPKG_DEFAULT_TRIPLET to 'x64-windows'")
else ()
set(MSBUILD_PLATFORM ${TRIPLET_SYSTEM_ARCH})
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/nvml
REF ${NVML_VERSION}
SHA512 ${NVML_HASH}
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/NVML.sln
PROJECT_PATH ${SOURCE_PATH}/src/PMDK.sln
PLATFORM x64
TARGET "Solution Items\\libpmem,Solution Items\\libpmemlog,Solution Items\\libpmemblk,Solution Items\\libpmemobj,Solution Items\\libpmempool,Solution Items\\libvmem,Solution Items\\Tools\\pmempool"
OPTIONS /p:SRCVERSION=${NVML_VERSION}
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)
Expand All @@ -45,10 +46,11 @@ 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)
Expand All @@ -64,11 +66,12 @@ 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/nvml)
vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/nvml)
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/nvml)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/nvml/LICENSE ${CURRENT_PACKAGES_DIR}/share/nvml/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)

0 comments on commit e90c5e6

Please sign in to comment.