Skip to content

Commit

Permalink
[libpmemobj-cpp] Update to 1.10 (#11738)
Browse files Browse the repository at this point in the history
* [libpmemobj-cpp] Update to 1.10

* [libpmemobj-cpp] Update to 1.10

* [libpmemobj-cpp] Update to 1.10

* fixlibpmemobj-cpp

* Update ports/libpmemobj-cpp/portfile.cmake

* Update ports/libpmemobj-cpp/portfile.cmake

* Update ports/libpmemobj-cpp/portfile.cmake

* Update ports/libpmemobj-cpp/portfile.cmake

* Update ports/libpmemobj-cpp/portfile.cmake

* Update ports/libpmemobj-cpp/CONTROL

Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com>
  • Loading branch information
JonLiu1993 and NancyLi1013 authored Jun 12, 2020
1 parent 0f161f9 commit ac5e475
Show file tree
Hide file tree
Showing 3 changed files with 66 additions and 11 deletions.
9 changes: 7 additions & 2 deletions ports/libpmemobj-cpp/CONTROL
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
Source: libpmemobj-cpp
Version: 1.8
Description: C++ bindings for libpmemobj (https://github.com/pmem/pmdk).
Version: 1.10
Homepage: https://github.com/pmem/libpmemobj-cpp
Description: C++ bindings for libpmemobj (https://github.com/pmem/pmdk).

Feature: benchmark
Build-Depends: pmdk
Description: build benchmarks
47 changes: 47 additions & 0 deletions ports/libpmemobj-cpp/fixlibpmemobj-cpp.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 55f068b..7123174 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -133,15 +133,17 @@ if(CLANG)
endif()
endif()

-if(BUILD_TESTS OR BUILD_EXAMPLES)
- if(PKG_CONFIG_FOUND)
- pkg_check_modules(LIBPMEMOBJ REQUIRED libpmemobj>=${LIBPMEMOBJ_REQUIRED_VERSION})
- pkg_check_modules(LIBPMEM REQUIRED libpmem>=${LIBPMEM_REQUIRED_VERSION})
- else()
- find_package(LIBPMEMOBJ REQUIRED ${LIBPMEMOBJ_REQUIRED_VERSION})
- find_package(LIBPMEM REQUIRED ${LIBPMEM_REQUIRED_VERSION})
- endif()
+if (BUILD_BENCHMARKS OR BUILD_TESTS OR BUILD_EXAMPLES)
+if(PKG_CONFIG_FOUND)
+ pkg_check_modules(LIBPMEMOBJ REQUIRED libpmemobj>=${LIBPMEMOBJ_REQUIRED_VERSION})
+ pkg_check_modules(LIBPMEM REQUIRED libpmem>=${LIBPMEM_REQUIRED_VERSION})
+else()
+ find_package(LIBPMEMOBJ REQUIRED ${LIBPMEMOBJ_REQUIRED_VERSION})
+ find_package(LIBPMEM REQUIRED ${LIBPMEM_REQUIRED_VERSION})
+endif()
+endif()

+if(BUILD_TESTS OR BUILD_EXAMPLES)
if (LIBPMEMOBJ_VERSION AND LIBPMEMOBJ_VERSION MATCHES "[0-9]+[.][0-9]+.*")
string(REGEX REPLACE "\\+git.*" "" LIBPMEMOBJ_VERSION_SHORT ${LIBPMEMOBJ_VERSION})
string(REGEX REPLACE "-rc.*" "" LIBPMEMOBJ_VERSION_SHORT ${LIBPMEMOBJ_VERSION_SHORT})
diff --git a/benchmarks/CMakeLists.txt b/benchmarks/CMakeLists.txt
index a390731..e4764d3 100644
--- a/benchmarks/CMakeLists.txt
+++ b/benchmarks/CMakeLists.txt
@@ -27,6 +27,12 @@ function(add_benchmark name)
prepend(srcs ${CMAKE_CURRENT_SOURCE_DIR} ${srcs})
add_executable(benchmark-${name} ${srcs})
target_link_libraries(benchmark-${name} ${LIBPMEMOBJ_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
+ install(
+ TARGETS benchmark-${name}
+ RUNTIME DESTINATION tools
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+ )
endfunction()

add_check_whitespace(benchmarks-cmake ${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt)
21 changes: 12 additions & 9 deletions ports/libpmemobj-cpp/portfile.cmake
Original file line number Diff line number Diff line change
@@ -1,31 +1,34 @@
include(vcpkg_common_functions)

vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO pmem/libpmemobj-cpp
REF 1.8
SHA512 275d5ec3081ccbc76c57205cc366e213386ff56e5c05fe39e8b980c507967e9f32a31e02d074f554e65cb68509a43c39d143f0443816a89da4a334bd6242ba85
REF 8ff8c542a87a6ac9cb52c5c04def66d844c290cb #v1.10
SHA512 09ee9a027fee74d6352ec92445fb5c688b7cc28bc30258d4a9efc250242a1c43f6c55c07f9e43e72d50e09f93dc8eeaffabec9e205f2af2899bde63b7fbdfca1
HEAD_REF master
PATCHES
fixlibpmemobj-cpp.patch
)

vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
benchmark BUILD_BENCHMARKS
)

vcpkg_find_acquire_program(PERL)
get_filename_component(PERL_EXE_PATH ${PERL} DIRECTORY)
set(ENV{PATH} "$ENV{PATH};${PERL_EXE_PATH}")
vcpkg_add_to_path(${PERL_EXE_PATH})

vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
DISABLE_PARALLEL_CONFIGURE
OPTIONS
OPTIONS ${FEATURE_OPTIONS}
-DBUILD_TESTS=OFF
-DBUILD_EXAMPLES=OFF
-DBUILD_DOC=OFF
)

vcpkg_install_cmake()

vcpkg_fixup_cmake_targets(CONFIG_PATH lib)
vcpkg_fixup_cmake_targets(CONFIG_PATH lib/libpmemobj++/cmake TARGET_PATH share/libpmemobj++)

file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib/libpmemobj++)
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)

0 comments on commit ac5e475

Please sign in to comment.