aboutsummaryrefslogtreecommitdiff
path: root/ports/rxcpp/support_find_package.patch
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2019-11-22 09:47:40 -0800
committerGitHub <noreply@github.com>2019-11-22 09:47:40 -0800
commit45f4b820e5743b89bca3508ba2028cdd5d8bbd17 (patch)
treef874a8c4a7392309bdbb86447288597ec0a4a281 /ports/rxcpp/support_find_package.patch
parent62d67d3bf8eeff1afa8009041fd08b8822676b7b (diff)
parent8831e8f25f1ff6546ee4a5291b91d599421637b3 (diff)
downloadvcpkg-45f4b820e5743b89bca3508ba2028cdd5d8bbd17.tar.gz
vcpkg-45f4b820e5743b89bca3508ba2028cdd5d8bbd17.zip
Merge branch 'master' into vcpkg_nuget
Diffstat (limited to 'ports/rxcpp/support_find_package.patch')
-rw-r--r--ports/rxcpp/support_find_package.patch32
1 files changed, 32 insertions, 0 deletions
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
++ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
++ $<INSTALL_INTERFACE:include/rxcpp>
++)
++
++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)