From ac5e475583f69196138830bfaae41df7e826f067 Mon Sep 17 00:00:00 2001 From: JonLiu1993 <63675417+JonLiu1993@users.noreply.github.com> Date: Fri, 12 Jun 2020 13:13:44 +0800 Subject: [libpmemobj-cpp] Update to 1.10 (#11738) * [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> --- ports/libpmemobj-cpp/CONTROL | 9 ++++-- ports/libpmemobj-cpp/fixlibpmemobj-cpp.patch | 47 ++++++++++++++++++++++++++++ ports/libpmemobj-cpp/portfile.cmake | 21 +++++++------ 3 files changed, 66 insertions(+), 11 deletions(-) create mode 100644 ports/libpmemobj-cpp/fixlibpmemobj-cpp.patch diff --git a/ports/libpmemobj-cpp/CONTROL b/ports/libpmemobj-cpp/CONTROL index 0ac84681a..f28249093 100644 --- a/ports/libpmemobj-cpp/CONTROL +++ b/ports/libpmemobj-cpp/CONTROL @@ -1,3 +1,8 @@ Source: libpmemobj-cpp -Version: 1.8 -Description: C++ bindings for libpmemobj (https://github.com/pmem/pmdk). \ No newline at end of file +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 diff --git a/ports/libpmemobj-cpp/fixlibpmemobj-cpp.patch b/ports/libpmemobj-cpp/fixlibpmemobj-cpp.patch new file mode 100644 index 000000000..e5221b13a --- /dev/null +++ b/ports/libpmemobj-cpp/fixlibpmemobj-cpp.patch @@ -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) diff --git a/ports/libpmemobj-cpp/portfile.cmake b/ports/libpmemobj-cpp/portfile.cmake index fb27eea2a..172765f93 100644 --- a/ports/libpmemobj-cpp/portfile.cmake +++ b/ports/libpmemobj-cpp/portfile.cmake @@ -1,22 +1,26 @@ -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 @@ -24,8 +28,7 @@ vcpkg_configure_cmake( 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) - -- cgit v1.2.3