aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoratkawa7 <atkawa7@yahoo.com>2018-08-24 22:43:41 +0200
committerRobert Schumacher <roschuma@microsoft.com>2018-08-24 13:43:41 -0700
commitc2f495399001aa95185ccedac04b90a7103e20d0 (patch)
tree03cf0ec711dd7b56daaf9938cf0cfaf91c99383b
parent9a35830ff331cc865adbcaa983ca979911471663 (diff)
downloadvcpkg-c2f495399001aa95185ccedac04b90a7103e20d0.tar.gz
vcpkg-c2f495399001aa95185ccedac04b90a7103e20d0.zip
[new port] wangle init (#4133)
* wangle init * [wangle] Simplification * [wangle] Fix finding gflags
-rw-r--r--ports/wangle/CONTROL4
-rw-r--r--ports/wangle/build.patch54
-rw-r--r--ports/wangle/gflags.patch31
-rw-r--r--ports/wangle/portfile.cmake35
4 files changed, 124 insertions, 0 deletions
diff --git a/ports/wangle/CONTROL b/ports/wangle/CONTROL
new file mode 100644
index 000000000..9397b3d61
--- /dev/null
+++ b/ports/wangle/CONTROL
@@ -0,0 +1,4 @@
+Source: wangle
+Version: v2018.07.30.00-1
+Build-Depends: folly, openssl, gtest, glog, libevent, double-conversion
+Description: Wangle is a framework providing a set of common client/server abstractions for building services in a consistent, modular, and composable way. \ No newline at end of file
diff --git a/ports/wangle/build.patch b/ports/wangle/build.patch
new file mode 100644
index 000000000..fce998fed
--- /dev/null
+++ b/ports/wangle/build.patch
@@ -0,0 +1,54 @@
+diff --git a/wangle/CMakeLists.txt b/wangle/CMakeLists.txt
+index 0302249..3bf1e6c 100644
+--- a/wangle/CMakeLists.txt
++++ b/wangle/CMakeLists.txt
+@@ -38,9 +38,9 @@ endif()
+
+ find_package(Boost REQUIRED COMPONENTS system thread filesystem regex context)
+ find_package(OpenSSL REQUIRED)
+-find_package(Glog REQUIRED)
+-find_package(Gflags REQUIRED)
+-find_package(Libevent REQUIRED)
++find_package(Glog CONFIG REQUIRED)
++find_package(Gflags CONFIG REQUIRED)
++find_package(Libevent CONFIG REQUIRED)
+ find_package(DoubleConversion REQUIRED)
+ find_package(Threads REQUIRED)
+ if (UNIX AND NOT APPLE)
+@@ -116,11 +116,9 @@ if (BUILD_SHARED_LIBS)
+ PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION 1)
+ endif()
+
+-target_include_directories(
+- wangle
+- PUBLIC
+- $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/..>
+- $<INSTALL_INTERFACE:${INCLUDE_INSTALL_DIR}>
++include_directories(
++ "${CMAKE_SOURCE_DIR}/.."
++ ${INCLUDE_INSTALL_DIR}
+ ${FOLLY_INCLUDE_DIR}
+ ${Boost_INCLUDE_DIR}
+ ${OPENSSL_INCLUDE_DIR}
+@@ -143,15 +141,19 @@ target_link_libraries(wangle PUBLIC
+ install(
+ TARGETS wangle
+ EXPORT wangle-exports
+- DESTINATION ${LIB_INSTALL_DIR}
++ RUNTIME DESTINATION bin
++ LIBRARY DESTINATION lib
++ ARCHIVE DESTINATION lib
+ )
+ # We unfortunately cannot install wangle's headers with the install()
+ # statement above. install(TARGETS) appears to only support installing
+ # PUBLIC_HEADER in a flat include directory, and not a deeper tree.
++if(NOT DISABLE_INSTALL_HEADERS)
+ foreach(dir ${WANGLE_HEADER_DIRS})
+- install(DIRECTORY ${dir} DESTINATION "${INCLUDE_INSTALL_DIR}/wangle"
++ install(DIRECTORY ${dir} DESTINATION "include/wangle"
+ FILES_MATCHING PATTERN "*.h")
+ endforeach()
++endif()
+
+ # Install CMake package configuration files for wangle
+ include(CMakePackageConfigHelpers)
diff --git a/ports/wangle/gflags.patch b/ports/wangle/gflags.patch
new file mode 100644
index 000000000..20921c72c
--- /dev/null
+++ b/ports/wangle/gflags.patch
@@ -0,0 +1,31 @@
+diff --git a/wangle/cmake/FindGflags.cmake b/wangle/cmake/FindGflags.cmake
+index 0243aa3..be3780f 100644
+--- a/wangle/cmake/FindGflags.cmake
++++ b/wangle/cmake/FindGflags.cmake
+@@ -7,19 +7,11 @@
+
+ include(FindPackageHandleStandardArgs)
+
+-find_library(GFLAGS_LIBRARY gflags
+- PATHS ${GFLAGS_LIBRARYDIR})
++find_package(gflags CONFIG REQUIRED)
+
+-find_path(GFLAGS_INCLUDE_DIR gflags/gflags.h
+- PATHS ${GFLAGS_INCLUDEDIR})
+-
+-find_package_handle_standard_args(gflags DEFAULT_MSG
+- GFLAGS_LIBRARY
+- GFLAGS_INCLUDE_DIR)
+-
+-mark_as_advanced(
+- GFLAGS_LIBRARY
+- GFLAGS_INCLUDE_DIR)
+-
+-set(GFLAGS_LIBRARIES ${GFLAGS_LIBRARY})
+-set(GFLAGS_INCLUDE_DIRS ${GFLAGS_INCLUDE_DIR})
++if(TARGET gflags_static)
++ set(GFLAGS_LIBRARIES gflags_static)
++else()
++ set(GFLAGS_LIBRARIES gflags_shared)
++endif()
++set(GFLAGS_INCLUDE_DIRS)
diff --git a/ports/wangle/portfile.cmake b/ports/wangle/portfile.cmake
new file mode 100644
index 000000000..8bd8e8c63
--- /dev/null
+++ b/ports/wangle/portfile.cmake
@@ -0,0 +1,35 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO facebook/wangle
+ REF v2018.07.30.00
+ SHA512 f83378a8751b47fac2c862e07ffeb2750fd681735e66d778657d7624fe3e839b2e2bfcb049ecd3a3516c206d93f9c168144599ded823720967e44037b536ba5d
+ HEAD_REF master
+ PATCHES
+ build.patch
+ gflags.patch
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH "${SOURCE_PATH}/wangle"
+ PREFER_NINJA
+ OPTIONS
+ -DBUILD_TESTS=OFF
+ OPTIONS_DEBUG
+ -DDISABLE_INSTALL_HEADERS=ON
+)
+
+vcpkg_install_cmake()
+vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/wangle")
+vcpkg_copy_pdbs()
+
+file(REMOVE_RECURSE
+ ${CURRENT_PACKAGES_DIR}/include/wangle/util/test
+ ${CURRENT_PACKAGES_DIR}/include/wangle/ssl/test/certs
+ ${CURRENT_PACKAGES_DIR}/include/wangle/service/test
+ ${CURRENT_PACKAGES_DIR}/include/wangle/deprecated/rx/test
+)
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/wangle RENAME copyright)