aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Sparey <44617984+lsparey@users.noreply.github.com>2019-02-08 12:22:37 +1300
committerRobert Schumacher <roschuma@microsoft.com>2019-02-07 15:22:37 -0800
commit0b79c4bb74aa1a1908c23edb3ca07b5e6dd39141 (patch)
treed81eb20739c28a57e3fc23b004c3b3a184238048
parentcc516fb763b3a4b1faf37efbf0f6fc4c0ccfc60a (diff)
downloadvcpkg-0b79c4bb74aa1a1908c23edb3ca07b5e6dd39141.tar.gz
vcpkg-0b79c4bb74aa1a1908c23edb3ca07b5e6dd39141.zip
[mongo-cxx-driver] Update to 3.2.0 and add cmake targets (#5178)
* [mongo-cxx-driver] Update to 3.2.0 and add cmake targets * [mongo-cxx-driver] Replace cmake config files to support debug binaries
-rw-r--r--ports/mongo-cxx-driver/CONTROL2
-rw-r--r--ports/mongo-cxx-driver/disable_shared.patch46
-rw-r--r--ports/mongo-cxx-driver/disable_test_and_example.patch132
-rw-r--r--ports/mongo-cxx-driver/portfile.cmake116
4 files changed, 128 insertions, 168 deletions
diff --git a/ports/mongo-cxx-driver/CONTROL b/ports/mongo-cxx-driver/CONTROL
index 08de8ddec..3a8e6108f 100644
--- a/ports/mongo-cxx-driver/CONTROL
+++ b/ports/mongo-cxx-driver/CONTROL
@@ -1,4 +1,4 @@
Source: mongo-cxx-driver
-Version: 3.1.1-3
+Version: 3.2.0-1
Build-Depends: libbson, mongo-c-driver, boost-smart-ptr, boost-optional, boost-utility
Description: MongoDB C++ Driver.
diff --git a/ports/mongo-cxx-driver/disable_shared.patch b/ports/mongo-cxx-driver/disable_shared.patch
deleted file mode 100644
index 5f2f9a04e..000000000
--- a/ports/mongo-cxx-driver/disable_shared.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-diff --git a/src/bsoncxx/CMakeLists.txt b/src/bsoncxx/CMakeLists.txt
-index a9a7ada..6b87a6d 100644
---- a/src/bsoncxx/CMakeLists.txt
-+++ b/src/bsoncxx/CMakeLists.txt
-@@ -117,9 +117,15 @@ if (WIN32)
- )
- endif()
-
--add_library(bsoncxx SHARED
-- ${bsoncxx_sources}
--)
-+if(BUILD_SHARED_LIBS)
-+ add_library(bsoncxx SHARED
-+ ${bsoncxx_sources}
-+ )
-+else()
-+ add_library(bsoncxx SHARED
-+ exception/error_code.cpp
-+ )
-+endif()
-
- set(bsoncxx_libs ${LIBBSON_LIBRARIES})
-
-diff --git a/src/mongocxx/CMakeLists.txt b/src/mongocxx/CMakeLists.txt
-index 2ef54e4..53a13f7 100644
---- a/src/mongocxx/CMakeLists.txt
-+++ b/src/mongocxx/CMakeLists.txt
-@@ -134,9 +134,15 @@ set_target_properties(mongocxx_mocked PROPERTIES
- VERSION ${MONGOCXX_VERSION}
- )
-
--add_library(mongocxx SHARED
-- ${mongocxx_sources}
--)
-+if(BUILD_SHARED_LIBS)
-+ add_library(mongocxx SHARED
-+ ${mongocxx_sources}
-+ )
-+else()
-+ add_library(mongocxx SHARED
-+ exception/error_code.cpp
-+ )
-+endif()
-
- set_target_properties (mongocxx PROPERTIES
- OUTPUT_NAME mongocxx
diff --git a/ports/mongo-cxx-driver/disable_test_and_example.patch b/ports/mongo-cxx-driver/disable_test_and_example.patch
index d542628f7..734f52f26 100644
--- a/ports/mongo-cxx-driver/disable_test_and_example.patch
+++ b/ports/mongo-cxx-driver/disable_test_and_example.patch
@@ -1,8 +1,8 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 4538920..e783ff5 100644
+index 27cf3b6b8..896eee19a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -74,66 +74,66 @@ endif()
+@@ -87,68 +87,68 @@ endif()
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
@@ -63,63 +63,63 @@ index 4538920..e783ff5 100644
-)
-
-set(THIRD_PARTY_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src/third_party)
-+#add_custom_target(hugo_dir
-+# COMMAND ${CMAKE_COMMAND} -E make_directory hugo
-+#)
-+#
-+#add_custom_target(hugo
-+# DEPENDS hugo_dir
-+# WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/docs
-+# COMMAND hugo
-+# VERBATIM
-+#)
-+#
-+#add_custom_target(hugo-deploy
-+# DEPENDS hugo
-+# WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
-+# COMMAND etc/deploy-to-ghpages.pl --hugo git@github.com:mongodb/mongo-cxx-driver
-+# VERBATIM
-+#)
-+#
-+#add_custom_target(docs_dir_current
-+# COMMAND ${CMAKE_COMMAND} -E make_directory docs/api/current
-+#)
-+#
-+#add_custom_target(doxygen-current
-+# DEPENDS docs_dir_current
-+# WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
-+# COMMAND doxygen ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile
-+# VERBATIM
-+#)
-+#
-+#add_custom_target(doxygen-all
-+# WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
-+# COMMAND etc/generate-all-apidocs.pl
-+# VERBATIM
-+#)
-+#
-+#add_custom_target(doxygen-deploy
-+# DEPENDS doxygen-all
-+# WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
-+# COMMAND etc/deploy-to-ghpages.pl --doxygen git@github.com:mongodb/mongo-cxx-driver
-+# VERBATIM
-+#)
-+#
-+#add_custom_target(format
-+# python ${CMAKE_SOURCE_DIR}/etc/clang_format.py format
-+# VERBATIM
-+#)
-+#
-+#add_custom_target(format-lint
-+# python ${CMAKE_SOURCE_DIR}/etc/clang_format.py lint
-+# VERBATIM
-+#)
-+#
-+#add_custom_target(docs
-+# DEPENDS hugo doxygen-current
-+#)
-+#
-+#set(THIRD_PARTY_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src/third_party)
++# add_custom_target(hugo_dir
++# COMMAND ${CMAKE_COMMAND} -E make_directory hugo
++# )
++
++# add_custom_target(hugo
++# DEPENDS hugo_dir
++# WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/docs
++# COMMAND hugo
++# VERBATIM
++# )
++
++# add_custom_target(hugo-deploy
++# DEPENDS hugo
++# WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
++# COMMAND etc/deploy-to-ghpages.pl --hugo git@github.com:mongodb/mongo-cxx-driver
++# VERBATIM
++# )
++
++# add_custom_target(docs_dir_current
++# COMMAND ${CMAKE_COMMAND} -E make_directory docs/api/current
++# )
++
++# add_custom_target(doxygen-current
++# DEPENDS docs_dir_current
++# WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
++# COMMAND doxygen ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile
++# VERBATIM
++# )
++
++# add_custom_target(doxygen-all
++# WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
++# COMMAND etc/generate-all-apidocs.pl
++# VERBATIM
++# )
++
++# add_custom_target(doxygen-deploy
++# DEPENDS doxygen-all
++# WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
++# COMMAND etc/deploy-to-ghpages.pl --doxygen git@github.com:mongodb/mongo-cxx-driver
++# VERBATIM
++# )
++
++# add_custom_target(format
++# python ${CMAKE_SOURCE_DIR}/etc/clang_format.py format
++# VERBATIM
++# )
++
++# add_custom_target(format-lint
++# python ${CMAKE_SOURCE_DIR}/etc/clang_format.py lint
++# VERBATIM
++# )
++
++# add_custom_target(docs
++# DEPENDS hugo doxygen-current
++# )
++
++# set(THIRD_PARTY_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src/third_party)
enable_testing()
@@ -127,22 +127,24 @@ index 4538920..e783ff5 100644
-add_subdirectory(examples EXCLUDE_FROM_ALL)
+#add_subdirectory(examples EXCLUDE_FROM_ALL)
+
+ add_subdirectory(benchmark EXCLUDE_FROM_ALL)
diff --git a/src/bsoncxx/CMakeLists.txt b/src/bsoncxx/CMakeLists.txt
-index 010f5e4..a9a7ada 100644
+index bd6e40662..d6054b022 100644
--- a/src/bsoncxx/CMakeLists.txt
+++ b/src/bsoncxx/CMakeLists.txt
-@@ -202,4 +202,4 @@ install(
- DESTINATION lib/cmake/libbsoncxx-${BSONCXX_VERSION}
+@@ -249,4 +249,4 @@ install(
+ DESTINATION lib/cmake/${PKG}-${BSONCXX_VERSION}
)
-add_subdirectory(test)
+#add_subdirectory(test)
diff --git a/src/mongocxx/CMakeLists.txt b/src/mongocxx/CMakeLists.txt
-index 12d188b..2ef54e4 100644
+index a05021228..3dd7c1224 100644
--- a/src/mongocxx/CMakeLists.txt
+++ b/src/mongocxx/CMakeLists.txt
-@@ -209,4 +209,4 @@ install(
- DESTINATION lib/cmake/libmongocxx-${MONGOCXX_VERSION}
+@@ -238,4 +238,4 @@ install(
+ DESTINATION lib/cmake/${PKG}-${MONGOCXX_VERSION}
)
-add_subdirectory(test)
diff --git a/ports/mongo-cxx-driver/portfile.cmake b/ports/mongo-cxx-driver/portfile.cmake
index b80c8a5bf..69ac66b04 100644
--- a/ports/mongo-cxx-driver/portfile.cmake
+++ b/ports/mongo-cxx-driver/portfile.cmake
@@ -1,88 +1,92 @@
include(vcpkg_common_functions)
+
+set(VERSION_MAJOR 3)
+set(VERSION_MINOR 2)
+set(VERSION_PATCH 0)
+set(VERSION_FULL ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH})
+
vcpkg_from_github(
- OUT_SOURCE_PATH SOURCE_PATH
+ OUT_SOURCE_PATH SOURCE_PATH
REPO mongodb/mongo-cxx-driver
- REF r3.1.1
- SHA512 ba8a735e5645cbce4497df71a4577e891d507f577dbd5270ec8a82e54c39c2806bf2ff4848b621f18b36d31fb6031e5b4211972b661c43009bff0ed7ab6cf338
- HEAD_REF master
- PATCHES
- "${CURRENT_PORT_DIR}/disable_test_and_example.patch"
- "${CURRENT_PORT_DIR}/disable_shared.patch"
- "${CURRENT_PORT_DIR}/fix-uwp.patch"
- "${CURRENT_PORT_DIR}/disable-c2338-mongo-cxx-driver.patch"
+ REF r${VERSION_FULL}
+ SHA512 cad8dd6e9fd75aa3aee15321c9b3df21d43c346f5b0b3dd75c86f9117d3376ad83fcda0c4a333c0a23d555e76d79432016623dd5f860ffef9964a6e8046e84b5
+ HEAD_REF master
+ PATCHES
+ disable_test_and_example.patch
+ fix-uwp.patch
+ disable-c2338-mongo-cxx-driver.patch
)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
OPTIONS
-DLIBBSON_DIR=${CURRENT_INSTALLED_DIR}
-DLIBMONGOC_DIR=${CURRENT_INSTALLED_DIR}
+ -DMONGOCXX_HEADER_INSTALL_DIR=include
+ -DBSONCXX_HEADER_INSTALL_DIR=include
)
vcpkg_install_cmake()
-file(RENAME
- ${CURRENT_PACKAGES_DIR}/include/bsoncxx/v_noabi/bsoncxx
- ${CURRENT_PACKAGES_DIR}/temp)
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/bsoncxx)
-file(RENAME ${CURRENT_PACKAGES_DIR}/temp ${CURRENT_PACKAGES_DIR}/include/bsoncxx)
+file(WRITE ${CURRENT_PACKAGES_DIR}/share/libbsoncxx/libbsoncxx-config.cmake
+"
+set(LIBBSONCXX_VERSION_MAJOR ${VERSION_MAJOR})
+set(LIBBSONCXX_VERSION_MINOR ${VERSION_MINOR})
+set(LIBBSONCXX_VERSION_PATCH ${VERSION_PATCH})
+set(LIBBSONCXX_PACKAGE_VERSION ${VERSION_FULL})
-file(RENAME
- ${CURRENT_PACKAGES_DIR}/include/mongocxx/v_noabi/mongocxx
- ${CURRENT_PACKAGES_DIR}/temp)
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/mongocxx)
-file(RENAME ${CURRENT_PACKAGES_DIR}/temp ${CURRENT_PACKAGES_DIR}/include/mongocxx)
+get_filename_component(PACKAGE_PREFIX_DIR \"\${CMAKE_CURRENT_LIST_DIR}/../../\" ABSOLUTE)
-file(REMOVE_RECURSE
- ${CURRENT_PACKAGES_DIR}/lib/cmake
- ${CURRENT_PACKAGES_DIR}/debug/lib/cmake
+set(LIBBSONCXX_INCLUDE_DIRS \"\${PACKAGE_PREFIX_DIR}/include\")
+find_library(LIBBSONCXX_LIBRARY_PATH_RELEASE bsoncxx bsoncxx-static PATHS \"\${PACKAGE_PREFIX_DIR}/lib\" NO_DEFAULT_PATH)
+find_library(LIBBSONCXX_LIBRARY_PATH_DEBUG bsoncxx bsoncxx-static PATHS \"\${PACKAGE_PREFIX_DIR}/debug/lib\" NO_DEFAULT_PATH)
+set(LIBBSONCXX_LIBRARIES optimized \${LIBBSONCXX_LIBRARY_PATH_RELEASE} debug \${LIBBSONCXX_LIBRARY_PATH_DEBUG})
+"
+)
+file(WRITE ${CURRENT_PACKAGES_DIR}/share/libmongocxx/libmongocxx-config.cmake
+"
+set(LIBMONGOCXX_VERSION_MAJOR ${VERSION_MAJOR})
+set(LIBMONGOCXX_VERSION_MINOR ${VERSION_MINOR})
+set(LIBMONGOCXX_VERSION_PATCH ${VERSION_PATCH})
+set(LIBMONGOCXX_PACKAGE_VERSION ${VERSION_FULL})
+
+include(CMakeFindDependencyMacro)
+
+find_dependency(libbsoncxx)
+
+get_filename_component(PACKAGE_PREFIX_DIR \"\${CMAKE_CURRENT_LIST_DIR}/../../\" ABSOLUTE)
+
+set(LIBMONGOCXX_INCLUDE_DIRS \"\${PACKAGE_PREFIX_DIR}/include\" \${LIBBSONCXX_INCLUDE_DIRS})
+find_library(LIBMONGOCXX_LIBRARY_PATH_RELEASE NAMES mongocxx mongocxx-static PATHS \"\${PACKAGE_PREFIX_DIR}/lib\" NO_DEFAULT_PATH)
+find_library(LIBMONGOCXX_LIBRARY_PATH_DEBUG NAMES mongocxx mongocxx-static PATHS \"\${PACKAGE_PREFIX_DIR}/debug/lib\" NO_DEFAULT_PATH)
+set(LIBMONGOCXX_LIBRARIES optimized \${LIBMONGOCXX_LIBRARY_PATH_RELEASE} debug \${LIBMONGOCXX_LIBRARY_PATH_DEBUG} \${LIBBSONCXX_LIBRARIES})
+"
+)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/cmake ${CURRENT_PACKAGES_DIR}/debug/lib/cmake)
+
+file(REMOVE_RECURSE
${CURRENT_PACKAGES_DIR}/include/bsoncxx/cmake
${CURRENT_PACKAGES_DIR}/include/bsoncxx/config/private
${CURRENT_PACKAGES_DIR}/include/bsoncxx/private
${CURRENT_PACKAGES_DIR}/include/bsoncxx/test
+ ${CURRENT_PACKAGES_DIR}/include/bsoncxx/test_util
${CURRENT_PACKAGES_DIR}/include/bsoncxx/third_party
${CURRENT_PACKAGES_DIR}/include/mongocxx/cmake
${CURRENT_PACKAGES_DIR}/include/mongocxx/config/private
- ${CURRENT_PACKAGES_DIR}/include/mongocxx/test
- ${CURRENT_PACKAGES_DIR}/include/mongocxx/test_util
- ${CURRENT_PACKAGES_DIR}/include/mongocxx/private
${CURRENT_PACKAGES_DIR}/include/mongocxx/exception/private
${CURRENT_PACKAGES_DIR}/include/mongocxx/options/private
+ ${CURRENT_PACKAGES_DIR}/include/mongocxx/gridfs/private
+ ${CURRENT_PACKAGES_DIR}/include/mongocxx/private
+ ${CURRENT_PACKAGES_DIR}/include/mongocxx/test
+ ${CURRENT_PACKAGES_DIR}/include/mongocxx/test_util
- ${CURRENT_PACKAGES_DIR}/debug/include)
-
-
-if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
- file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin)
- file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin)
- file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/bsoncxx.lib)
- file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/bsoncxx.lib)
- file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/mongocxx.lib)
- file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/mongocxx.lib)
-
- file(RENAME
- ${CURRENT_PACKAGES_DIR}/lib/libbsoncxx.lib
- ${CURRENT_PACKAGES_DIR}/lib/bsoncxx.lib)
- file(RENAME
- ${CURRENT_PACKAGES_DIR}/debug/lib/libmongocxx.lib
- ${CURRENT_PACKAGES_DIR}/debug/lib/mongocxx.lib)
-
- # define MONGOCXX_STATIC in config/export.hpp
- vcpkg_apply_patches(
- SOURCE_PATH ${CURRENT_PACKAGES_DIR}/include
- PATCHES
- ${CMAKE_CURRENT_LIST_DIR}/static.patch
- )
-else()
- file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/libbsoncxx.lib)
- file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/libbsoncxx.lib)
- file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/libmongocxx.lib)
- file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/libmongocxx.lib)
-endif()
+ ${CURRENT_PACKAGES_DIR}/debug/include
+)
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/mongo-cxx-driver RENAME copyright)
file(COPY ${SOURCE_PATH}/THIRD-PARTY-NOTICES DESTINATION ${CURRENT_PACKAGES_DIR}/share/mongo-cxx-driver)
-vcpkg_copy_pdbs() \ No newline at end of file
+vcpkg_copy_pdbs()