Skip to content

Commit

Permalink
Update downstream libraries to use modularized boost
Browse files Browse the repository at this point in the history
  • Loading branch information
ras0219-msft committed Dec 19, 2017
1 parent 14358e8 commit b79395c
Show file tree
Hide file tree
Showing 32 changed files with 227 additions and 96 deletions.
4 changes: 2 additions & 2 deletions ports/arrow/CONTROL
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Source: arrow
Version: 0.6.0
Build-Depends: boost, flatbuffers, rapidjson, zlib, lz4, brotli, zstd, snappy, gflags
Version: 0.6.0-1
Build-Depends: boost-system, boost-filesystem, boost-multiprecision, boost-algorithm, flatbuffers, rapidjson, zlib, lz4, brotli, zstd, snappy, gflags
Description: Apache Arrow is a columnar in-memory analytics layer designed to accelerate big data. It houses a set of canonical in-memory representations of flat and hierarchical data along with multiple language-bindings for structure manipulation. It also provides IPC and common algorithm implementations.
5 changes: 3 additions & 2 deletions ports/arrow/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ vcpkg_from_github(
HEAD_REF master
)


set(CPP_SOURCE_PATH "${SOURCE_PATH}/cpp")

vcpkg_apply_patches(
Expand All @@ -27,7 +26,9 @@ string(COMPARE EQUAL ${VCPKG_LIBRARY_LINKAGE} "static" ARROW_BUILD_STATIC)

vcpkg_configure_cmake(
SOURCE_PATH ${CPP_SOURCE_PATH}
OPTIONS -DARROW_BUILD_TESTS=off
PREFER_NINJA
OPTIONS
-DARROW_BUILD_TESTS=off
-DRAPIDJSON_HOME=${CURRENT_INSTALLED_DIR}
-DFLATBUFFERS_HOME=${CURRENT_INSTALLED_DIR}
-DARROW_ZLIB_VENDORED=ON
Expand Down
4 changes: 2 additions & 2 deletions ports/beast/CONTROL
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Source: beast
Version: v84-1
Build-Depends: boost
Version: 0
Build-Depends: boost-beast
Description: HTTP/1 and WebSocket, header-only using Boost.Asio and C++11
14 changes: 1 addition & 13 deletions ports/beast/portfile.cmake
Original file line number Diff line number Diff line change
@@ -1,13 +1 @@
# header only
include(vcpkg_common_functions)

vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO vinniefalco/Beast
REF 32902fad8b7c57be27b96e00ed6ec82748732133
SHA512 409bd23e19c4bb157619405713f73b90c5f680bec487ad7b6fc8bcd30db54444a78950ce631c8e267e4397b9128679528fd237d3c53f7e1e55634473a169af5f
HEAD_REF master
)

file(INSTALL ${SOURCE_PATH}/include/ DESTINATION ${CURRENT_PACKAGES_DIR}/include)
file(INSTALL ${SOURCE_PATH}/LICENSE_1_0.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/beast RENAME copyright)
set(VCPKG_POLICY_EMPTY_PACKAGE enabled)
4 changes: 2 additions & 2 deletions ports/blaze/CONTROL
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Source: blaze
Version: 3.2-2
Build-Depends: boost, clapack
Version: 3.2-3
Build-Depends: clapack, boost-exception
Description: Blaze is an open-source, high-performance C++ math library for dense and sparse arithmetic.
4 changes: 2 additions & 2 deletions ports/bond/CONTROL
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Source: bond
Maintainer: bond@microsoft.com
Version: 7.0.2
Version: 7.0.2-1
Description: Bond is a cross-platform framework for working with schematized data. It supports cross-language de/serialization and powerful generic mechanisms for efficiently manipulating data. Bond is broadly used at Microsoft in high scale services. <https://github.com/Microsoft/bond>
Build-Depends: boost, rapidjson
Build-Depends: rapidjson, boost-config, boost-utility, boost-assign
1 change: 1 addition & 0 deletions ports/bond/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ vcpkg_apply_patches(

vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS
-DBOND_LIBRARIES_ONLY=TRUE
-DBOND_GBC_PATH=${FETCHED_GBC_PATH}
Expand Down
4 changes: 2 additions & 2 deletions ports/cgal/CONTROL
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Source: cgal
Version: 4.11
Build-Depends:mpfr, mpir, zlib, boost, qt5
Version: 4.11-1
Build-Depends: mpfr, mpir, zlib, qt5, boost-format, boost-container, boost-iterator, boost-variant, boost-any, boost-unordered, boost-random
Description: The Computational Geometry Algorithms Library (CGAL) is a C++ library that aims to provide easy access to efficient and reliable algorithms in computational geometry.
1 change: 1 addition & 0 deletions ports/cgal/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ vcpkg_from_github(

vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
)

vcpkg_install_cmake()
Expand Down
4 changes: 2 additions & 2 deletions ports/cpprestsdk/CONTROL
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Source: cpprestsdk
Version: 2.10.1
Build-Depends: zlib, openssl (windows), boost (windows), websocketpp (windows)
Version: 2.10.1-1
Build-Depends: zlib, openssl (windows), boost-system (windows), boost-date-time (windows), boost-regex (windows), websocketpp (windows)
Description: C++11 JSON, REST, and OAuth library
The C++ REST SDK is a Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design. This project aims to help C++ developers connect to and interact with services.
6 changes: 6 additions & 0 deletions ports/cpprestsdk/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,11 @@ if(NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
-DWEBSOCKETPP_CONFIG_VERSION=${WEBSOCKETPP_PATH})
endif()

vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
PATCHES "${CMAKE_CURRENT_LIST_DIR}/undef-minmax.patch"
)

vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}/Release
PREFER_NINJA
Expand All @@ -25,6 +30,7 @@ vcpkg_configure_cmake(
-DBUILD_SAMPLES=OFF
-DCPPREST_EXCLUDE_WEBSOCKETS=OFF
-DCPPREST_EXPORT_DIR=share/cpprestsdk
-DWERROR=OFF
OPTIONS_DEBUG
-DCPPREST_INSTALL_HEADERS=OFF
)
Expand Down
14 changes: 14 additions & 0 deletions ports/cpprestsdk/undef-minmax.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
diff --git a/Release/src/http/client/http_client_winrt.cpp b/Release/src/http/client/http_client_winrt.cpp
index 697f48a..4ada65a 100644
--- a/Release/src/http/client/http_client_winrt.cpp
+++ b/Release/src/http/client/http_client_winrt.cpp
@@ -28,6 +28,9 @@ using namespace std;
using namespace Platform;
using namespace Microsoft::WRL;

+#undef min
+#undef max
+
namespace web
{
namespace http
2 changes: 1 addition & 1 deletion ports/fcl/CONTROL
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Source: fcl
Version: 0.5.0-3
Description: a library for performing three types of proximity queries on a pair of geometric models composed of triangles
Build-Depends: boost, ccd, octomap
Build-Depends: ccd, octomap
4 changes: 2 additions & 2 deletions ports/folly/CONTROL
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Source: folly
Version: 2017.11.27.00
Version: 2017.11.27.00-1
Description: An open-source C++ library developed and used at Facebook. The library is UNSTABLE on Windows
Build-Depends: zlib, openssl, boost, libevent, double-conversion, glog, gflags, lz4, liblzma, snappy
Build-Depends: zlib, openssl, libevent, double-conversion, glog, gflags, lz4, liblzma, snappy, boost-context, boost-chrono, boost-date-time, boost-filesystem, boost-program-options, boost-regex, boost-system, boost-thread, boost-conversion, boost-multi-index, boost-crc
4 changes: 2 additions & 2 deletions ports/hpx/CONTROL
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Source: hpx
Version: 1.0.0-5
Build-Depends: boost, hwloc
Version: 1.0.0-6
Build-Depends: hwloc, boost-chrono, boost-date-time, boost-filesystem, boost-program-options, boost-regex, boost-system, boost-thread, boost-context, boost-iostreams, boost-random, boost-atomic, boost-asio, boost-dynamic-bitset, boost-assign, boost-format, boost-signals2, boost-parameter, boost-bimap, boost-accumulators, boost-lockfree, boost-icl
Description: The C++ Standards Library for Concurrency and Parallelism
HPX is a C++ Standards Library for Concurrency and Parallelism. It implements all of the corresponding facilities as defined by the C++ Standard. Additionally, in HPX we implement functionalities proposed as part of the ongoing C++ standardization process. We also extend the C++ Standard APIs to the distributed case.
1 change: 1 addition & 0 deletions ports/hpx/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ SET(HWLOC_PATH "${CURRENT_INSTALLED_DIR}/share/hwloc")

vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS
-DBOOST_ROOT=${BOOST_PATH}
-DHWLOC_ROOT=${HWLOC_ROOT}
Expand Down
4 changes: 2 additions & 2 deletions ports/libkml/CONTROL
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Source: libkml
Version: 1.3.0-1
Version: 1.3.0-2
Description: Reference implementation of OGC KML 2.2
Build-Depends: zlib, boost, expat, minizip, uriparser
Build-Depends: zlib, expat, minizip, uriparser, boost-smart-ptr
1 change: 1 addition & 0 deletions ports/libkml/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ vcpkg_apply_patches(
"${CMAKE_CURRENT_LIST_DIR}/patch_empty_literal_on_vc.patch"
)

file(REMOVE ${SOURCE_PATH}/cmake/External_boost.cmake)

vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
Expand Down
4 changes: 2 additions & 2 deletions ports/libtorrent/CONTROL
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Source: libtorrent
Version: 1.1.5
Version: 1.1.5-1
Description: An efficient feature complete C++ BitTorrent implementation
Build-Depends: boost, openssl
Build-Depends: openssl, boost-system, boost-date-time, boost-chrono, boost-random, boost-asio, boost-crc, boost-config
42 changes: 15 additions & 27 deletions ports/libtorrent/portfile.cmake
Original file line number Diff line number Diff line change
@@ -1,37 +1,25 @@
# Common Ambient Variables:
# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT}
# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET}
# CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT}
# PORT = current port name (zlib, etc)
# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc)
# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic)
# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic)
# VCPKG_ROOT_DIR = <C:\path\to\current\vcpkg>
# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm)
#

include(vcpkg_common_functions)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libtorrent-libtorrent-1_1_5)
vcpkg_download_distfile(ARCHIVE
URLS "https://github.com/arvidn/libtorrent/archive/libtorrent-1_1_5.zip"
FILENAME "libtorrent-1_1_5.zip"
SHA512 ebb7c1b08a4b07b4db54050a099950dc61446e2e7fcceb82c5db8e0629c7718c3c8808ee59d5f361ad85c75f7034a33dfcb5ebd619ef0bb9b5ae0cfdd10d01b5
)

vcpkg_extract_source_archive(${ARCHIVE})
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO arvidn/libtorrent
REF libtorrent-1_1_5
SHA512 edaff6347bf922af8b6d74e332e180fe122f64152a152fb905f4f2c3371dc29d668fc2b0ffcda3f56b50a1a51b25d1a3ae4284ed6e09f6a2eb7b34bcce8dd9c7
HEAD_REF master
)

vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
PATCHES ${CMAKE_CURRENT_LIST_DIR}/add-datetime-to-boost-libs.patch
PATCHES ${CMAKE_CURRENT_LIST_DIR}/add-dbghelp-to-win32-libs.patch
PATCHES ${CMAKE_CURRENT_LIST_DIR}/vcpkg-boost-madness.patch
${CMAKE_CURRENT_LIST_DIR}/add-dbghelp-to-win32-libs.patch
)

if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
set(LIBTORRENT_SHARED ON)
else()
set(LIBTORRENT_SHARED OFF)
endif()
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" LIBTORRENT_SHARED)

file(READ "${SOURCE_PATH}/include/libtorrent/export.hpp" _contents)
string(REPLACE "<boost/config/select_compiler_config.hpp>" "<boost/config/detail/select_compiler_config.hpp>" _contents "${_contents}")
string(REPLACE "<boost/config/select_platform_config.hpp>" "<boost/config/detail/select_platform_config.hpp>" _contents "${_contents}")
file(WRITE "${SOURCE_PATH}/include/libtorrent/export.hpp" "${_contents}")

vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
Expand All @@ -43,7 +31,7 @@ vcpkg_configure_cmake(

vcpkg_install_cmake()

if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
# Put shared libraries into the proper directory
file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin)
file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin)
Expand Down
13 changes: 0 additions & 13 deletions ports/libtorrent/vcpkg-boost-madness.patch

This file was deleted.

4 changes: 2 additions & 2 deletions ports/mongo-cxx-driver/CONTROL
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Source: mongo-cxx-driver
Version: 3.1.1-1
Build-Depends: boost, libbson, mongo-c-driver
Version: 3.1.1-2
Build-Depends: libbson, mongo-c-driver, boost-smart-ptr, boost-optional, boost-utility
Description: MongoDB C++ Driver.
4 changes: 2 additions & 2 deletions ports/openimageio/CONTROL
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Source: openimageio
Version: 1.7.15-1
Version: 1.7.15-2
Description: An library for reading and writing images, and a bunch of related classes, utilities, and application
Build-Depends: boost, libjpeg-turbo, tiff, libpng, openexr
Build-Depends: libjpeg-turbo, tiff, libpng, openexr, boost-thread, boost-smart-ptr, boost-foreach, boost-regex, boost-type-traits, boost-static-assert, boost-unordered, boost-config, boost-algorithm, boost-filesystem, boost-system, boost-thread, boost-asio, boost-random
6 changes: 3 additions & 3 deletions ports/openvdb/CONTROL
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
Source: openvdb
Version: 5.0.0
Build-Depends: boost, ilmbase, openexr, tbb, blosc
Version: 5.0.0-1
Build-Depends: ilmbase, openexr, tbb, blosc, boost-iostreams, boost-system, boost-thread, boost-date-time, boost-any, boost-uuid, boost-interprocess
Description: Sparse volume data structure and tools

Feature: tools
Description: OpenVDB utilities: view, print and render
Build-Depends: glew, glfw3
Build-Depends: glew, glfw3
4 changes: 2 additions & 2 deletions ports/pcl/CONTROL
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Source: pcl
Version: 1.8.1-8
Version: 1.8.1-9
Description: Point Cloud Library (PCL) is open source library for 2D/3D image and point cloud processing.
Build-Depends: boost, eigen3, flann, qhull, vtk
Build-Depends: eigen3, flann, qhull, vtk, boost-system, boost-filesystem, boost-thread, boost-date-time, boost-iostreams, boost-random, boost-foreach, boost-dynamic-bitset, boost-property-map, boost-graph, boost-multi-array, boost-signals2, boost-ptr-container, boost-uuid, boost-interprocess, boost-asio

Feature: openni2
Description: OpenNI2 support for PCL
Expand Down
4 changes: 2 additions & 2 deletions ports/thrift/CONTROL
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Source: thrift
Version: 20172805-72ca60debae1d9fb35d9f0085118873669006d7f-1
Build-Depends: boost, zlib, libevent, openssl
Version: 20172805-72ca60debae1d9fb35d9f0085118873669006d7f-2
Build-Depends: zlib, libevent, openssl, boost-range, boost-smart-ptr, boost-date-time, boost-locale, boost-scope-exit
Description: Apache Thrift is a software project spanning a variety of programming languages and use cases. Our goal is to make reliable, performant communication and data serialization across languages as efficient and seamless as possible. Originally developed at Facebook, Thrift was open sourced in April 2007 and entered the Apache Incubator in May, 2008. Thrift became an Apache TLP in October, 2010.
2 changes: 2 additions & 0 deletions ports/thrift/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,11 @@ vcpkg_from_github(

vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS
-DWITH_SHARED_LIB=OFF
-DWITH_STATIC_LIB=ON
-DWITH_STDTHREADS=ON
-DBUILD_TESTING=off
-DBUILD_JAVA=off
-DBUILD_C_GLIB=off
Expand Down
2 changes: 1 addition & 1 deletion ports/websocketpp/CONTROL
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Source: websocketpp
Version: 0.7.0-1
Build-Depends: zlib, openssl, boost
Build-Depends: zlib, openssl, boost-asio
Description: Library that implements RFC6455 The WebSocket Protocol
4 changes: 2 additions & 2 deletions ports/wt/CONTROL
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Source: wt
Version: 3.3.7-2
Version: 3.3.7-4
Description: Wt is a C++ library for developing web applications
Build-Depends: boost, openssl, sqlite3, libpq, pango
Build-Depends: openssl, sqlite3, libpq, pango, boost-date-time, boost-regex, boost-program-options, boost-signals, boost-system, boost-filesystem, boost-thread, boost-random, boost-multi-index, boost-signals2, boost-asio, boost-ublas, boost-conversion, boost-array, boost-smart-ptr, boost-tuple, boost-algorithm, boost-logic
Loading

0 comments on commit b79395c

Please sign in to comment.