aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhoebe <925731795@qq.com>2019-07-16 02:20:11 +0800
committerPhil Christensen <philc@microsoft.com>2019-07-15 11:20:11 -0700
commitd3829ff3a19be8f97778b7200ac52d5a52263a2b (patch)
tree0db94772a61b9a865491fcdc1962e7a5fdd87c0f
parent84a0270693aae94e9a9b6454aab8ff1ca4146f0c (diff)
downloadvcpkg-d3829ff3a19be8f97778b7200ac52d5a52263a2b.tar.gz
vcpkg-d3829ff3a19be8f97778b7200ac52d5a52263a2b.zip
[leveldb] Fix cmake config (#7245)
-rw-r--r--ports/leveldb/CONTROL2
-rw-r--r--ports/leveldb/fix-install_path.patch19
-rw-r--r--ports/leveldb/fix_config.patch26
-rw-r--r--ports/leveldb/leveldbConfig.cmake.in6
-rw-r--r--ports/leveldb/portfile.cmake10
5 files changed, 42 insertions, 21 deletions
diff --git a/ports/leveldb/CONTROL b/ports/leveldb/CONTROL
index 022415d26..aa0b2bc3e 100644
--- a/ports/leveldb/CONTROL
+++ b/ports/leveldb/CONTROL
@@ -1,4 +1,4 @@
Source: leveldb
-Version: 1.22
+Version: 1.22-1
Homepage: https://github.com/bitcoin-core/leveldb
Description: LevelDB is a fast key-value storage library written at Google that provides an ordered mapping from string keys to string values.
diff --git a/ports/leveldb/fix-install_path.patch b/ports/leveldb/fix-install_path.patch
deleted file mode 100644
index 11a71a41a..000000000
--- a/ports/leveldb/fix-install_path.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 1409c06..c81d219 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -440,12 +440,12 @@ if(LEVELDB_INSTALL)
- install(
- EXPORT leveldbTargets
- NAMESPACE leveldb::
-- DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/leveldb"
-+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/../share/leveldb"
- )
- install(
- FILES
- "${PROJECT_SOURCE_DIR}/cmake/leveldbConfig.cmake"
- "${PROJECT_BINARY_DIR}/leveldbConfigVersion.cmake"
-- DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/leveldb"
-+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/../share/leveldb"
- )
- endif(LEVELDB_INSTALL)
diff --git a/ports/leveldb/fix_config.patch b/ports/leveldb/fix_config.patch
new file mode 100644
index 000000000..c5a83296b
--- /dev/null
+++ b/ports/leveldb/fix_config.patch
@@ -0,0 +1,26 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 1409c06..98b87dc 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -437,6 +437,12 @@ if(LEVELDB_INSTALL)
+ "${PROJECT_BINARY_DIR}/leveldbConfigVersion.cmake"
+ COMPATIBILITY SameMajorVersion
+ )
++ configure_package_config_file(${PROJECT_SOURCE_DIR}/cmake/leveldbConfig.cmake.in
++ leveldbConfig.cmake
++ INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/leveldb
++ NO_CHECK_REQUIRED_COMPONENTS_MACRO
++ PATH_VARS CMAKE_INSTALL_INCLUDEDIR
++ )
+ install(
+ EXPORT leveldbTargets
+ NAMESPACE leveldb::
+@@ -444,7 +450,7 @@ if(LEVELDB_INSTALL)
+ )
+ install(
+ FILES
+- "${PROJECT_SOURCE_DIR}/cmake/leveldbConfig.cmake"
++ "${PROJECT_BINARY_DIR}/leveldbConfig.cmake"
+ "${PROJECT_BINARY_DIR}/leveldbConfigVersion.cmake"
+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/leveldb"
+ )
diff --git a/ports/leveldb/leveldbConfig.cmake.in b/ports/leveldb/leveldbConfig.cmake.in
new file mode 100644
index 000000000..560e743fe
--- /dev/null
+++ b/ports/leveldb/leveldbConfig.cmake.in
@@ -0,0 +1,6 @@
+@PACKAGE_INIT@
+include(CMakeFindDependencyMacro)
+
+set_and_check(leveldb_INCLUDE_DIR "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@")
+
+include("${CMAKE_CURRENT_LIST_DIR}/leveldbTargets.cmake")
diff --git a/ports/leveldb/portfile.cmake b/ports/leveldb/portfile.cmake
index 02e18c430..a40ba6a02 100644
--- a/ports/leveldb/portfile.cmake
+++ b/ports/leveldb/portfile.cmake
@@ -1,5 +1,9 @@
include(vcpkg_common_functions)
+if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ message(FATAL_ERROR "leveldb doesn't supports UWP")
+endif()
+
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
@@ -9,9 +13,11 @@ vcpkg_from_github(
SHA512 f9bbf5f466e7f707b94e19261762319ea9f65d41911690e84f59098551e2e69beccf756a414d705ade74ee96fd979bdb8b94c171c6f2cc83873cbd4a9380dbab
HEAD_REF master
PATCHES
- fix-install_path.patch
+ fix_config.patch
)
+file(COPY ${CURRENT_PORT_DIR}/leveldbConfig.cmake.in DESTINATION ${SOURCE_PATH}/cmake)
+
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA # Disable this option if project cannot be built with Ninja
@@ -20,6 +26,8 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/leveldb)
+
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)