From 3c39089dadbf057b938c228932e39a76b1fbece7 Mon Sep 17 00:00:00 2001 From: Ian Reinhart Geiser Date: Sun, 29 Sep 2019 13:51:23 -0400 Subject: [PATCH] [rxcpp] Change to new repository (#8361) * Update for new repo * Update portfile.cmake --- ports/rxcpp/CONTROL | 4 ++-- ports/rxcpp/portfile.cmake | 25 ++++++++++---------- ports/rxcpp/support_find_package.patch | 32 ++++++++++++++++++++++++++ 3 files changed, 47 insertions(+), 14 deletions(-) create mode 100644 ports/rxcpp/support_find_package.patch diff --git a/ports/rxcpp/CONTROL b/ports/rxcpp/CONTROL index 2ada65d3b..cbf204688 100644 --- a/ports/rxcpp/CONTROL +++ b/ports/rxcpp/CONTROL @@ -1,4 +1,4 @@ Source: rxcpp Version: 4.1.0 -Homepage: https://github.com/Reactive-Extensions/RxCpp -Description: Reactive Extensions for C++ \ No newline at end of file +Homepage: https://github.com/ReactiveX/RxCpp +Description: Reactive Extensions for C++ diff --git a/ports/rxcpp/portfile.cmake b/ports/rxcpp/portfile.cmake index 5844f469b..538551e70 100644 --- a/ports/rxcpp/portfile.cmake +++ b/ports/rxcpp/portfile.cmake @@ -1,25 +1,26 @@ #header-only library include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/RxCpp-4.0.0) +set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/RxCpp-4.1.0) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO Reactive-Extensions/RxCpp + REPO ReactiveX/RxCpp REF v4.1.0 SHA512 a92e817ecbdf6f235cae724ada2615af9fa0c243249625d0f2c2f09ff5dd7f53fdabd03a0278fe2995fe27528c5511d71f87b7a6b3d54f73b49b65aef56e32fd HEAD_REF master + PATCHES support_find_package.patch ) -file(INSTALL - ${SOURCE_PATH}/Rx/v2/src/rxcpp - DESTINATION ${CURRENT_PACKAGES_DIR}/include +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DBUILD_TESTS=OFF ) -file(INSTALL - ${SOURCE_PATH}/Ix/CPP/src/cpplinq - DESTINATION ${CURRENT_PACKAGES_DIR}/include -) +vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH share/${PORT}/cmake/) -file(INSTALL - ${SOURCE_PATH}/license.md - DESTINATION ${CURRENT_PACKAGES_DIR}/share/rxcpp RENAME copyright) \ No newline at end of file +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) +file(COPY ${SOURCE_PATH}/license.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/license.md ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) diff --git a/ports/rxcpp/support_find_package.patch b/ports/rxcpp/support_find_package.patch new file mode 100644 index 000000000..bb1da2d2d --- /dev/null +++ b/ports/rxcpp/support_find_package.patch @@ -0,0 +1,32 @@ +diff --git a/projects/CMake/CMakeLists.txt b/projects/CMake/CMakeLists.txt +index 3d0744740..293f187c5 100644 +--- a/projects/CMake/CMakeLists.txt ++++ b/projects/CMake/CMakeLists.txt +@@ -146,3 +146,27 @@ set(CMAKE_SKIP_INSTALL_ALL_DEPENDENCY TRUE CACHE BOOL "Don't require all project + + install(DIRECTORY ${RXCPP_DIR}/Rx/v2/src/rxcpp/ DESTINATION include/rxcpp + FILES_MATCHING PATTERN "*.hpp") ++ ++# Here we are exporting TARGETS so that other projects can import rxcpp ++# just with find_package(rxcpp CONFIG) after rxcpp is installed into system by "make install". ++add_library(rxcpp INTERFACE) ++ ++target_include_directories(rxcpp INTERFACE ++ $ ++ $ ++) ++ ++install(TARGETS rxcpp EXPORT rxcppConfig) ++install(EXPORT rxcppConfig DESTINATION share/rxcpp/cmake) ++ ++# When find_package(rxcpp SOME_VERSION REQUIRED) will be used in third party project ++# where SOME_VERSION is any version incompatible with ${PROJECT_VERSION} then cmake will generate the error. ++# It means you don't need track versions manually. ++include(CMakePackageConfigHelpers) ++write_basic_package_version_file("${PROJECT_BINARY_DIR}/rxcppConfigVersion.cmake" ++ VERSION ++ ${PROJECT_VERSION} ++ COMPATIBILITY ++ AnyNewerVersion ++) ++install(FILES "${PROJECT_BINARY_DIR}/rxcppConfigVersion.cmake" DESTINATION share/rxcpp/cmake)