mirror of
https://github.com/cemu-project/vcpkg.git
synced 2025-02-23 02:57:09 +01:00
[soci] Add patches for boost and postgresql (#6328)
Signed-off-by: Andrei Lebedev <lebdron@gmail.com>
This commit is contained in:
parent
f0d575c2f3
commit
010e88c647
@ -0,0 +1,75 @@
|
|||||||
|
From 5c3b1e0a61d83d7a3c70fb882c7e0918777f0e00 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Andrei Lebedev <lebdron@gmail.com>
|
||||||
|
Date: Sun, 5 May 2019 19:52:01 +0300
|
||||||
|
Subject: [PATCH] Deduce reference in boost::fusion::for_each
|
||||||
|
|
||||||
|
Signed-off-by: Andrei Lebedev <lebdron@gmail.com>
|
||||||
|
---
|
||||||
|
include/soci/bind-values.h | 27 +++++++++++++++++++++++----
|
||||||
|
1 file changed, 23 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/include/soci/bind-values.h b/include/soci/bind-values.h
|
||||||
|
index eee416e..e84fb0e 100644
|
||||||
|
--- a/include/soci/bind-values.h
|
||||||
|
+++ b/include/soci/bind-values.h
|
||||||
|
@@ -13,6 +13,13 @@
|
||||||
|
#ifdef SOCI_HAVE_BOOST
|
||||||
|
# include <boost/fusion/algorithm/iteration/for_each.hpp>
|
||||||
|
# include <boost/mpl/bool.hpp>
|
||||||
|
+# include <boost/version.hpp>
|
||||||
|
+
|
||||||
|
+# if BOOST_VERSION >= 106800
|
||||||
|
+# define SOCI_BOOST_FUSION_FOREACH_REFERENCE &
|
||||||
|
+# else
|
||||||
|
+# define SOCI_BOOST_FUSION_FOREACH_REFERENCE
|
||||||
|
+# endif
|
||||||
|
#endif // SOCI_HAVE_BOOST
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
@@ -83,13 +90,19 @@ private:
|
||||||
|
template <typename T, typename Indicator>
|
||||||
|
void exchange_(use_container<T, Indicator> const &uc, boost::mpl::true_ * /* fusion sequence */)
|
||||||
|
{
|
||||||
|
- boost::fusion::for_each(uc.t, use_sequence<T, Indicator>(*this, uc.ind));
|
||||||
|
+ use_sequence<T, Indicator> f(*this, uc.ind);
|
||||||
|
+ boost::fusion::for_each<T,
|
||||||
|
+ use_sequence<T, Indicator>
|
||||||
|
+ SOCI_BOOST_FUSION_FOREACH_REFERENCE>(uc.t, f);
|
||||||
|
}
|
||||||
|
|
||||||
|
template <typename T>
|
||||||
|
void exchange_(use_container<T, details::no_indicator> const &uc, boost::mpl::true_ * /* fusion sequence */)
|
||||||
|
{
|
||||||
|
- boost::fusion::for_each(uc.t, use_sequence<T, details::no_indicator>(*this));
|
||||||
|
+ use_sequence<T, details::no_indicator> f(*this);
|
||||||
|
+ boost::fusion::for_each<T,
|
||||||
|
+ use_sequence<T, details::no_indicator>
|
||||||
|
+ SOCI_BOOST_FUSION_FOREACH_REFERENCE>(uc.t, f);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // SOCI_HAVE_BOOST
|
||||||
|
@@ -173,13 +186,19 @@ private:
|
||||||
|
template <typename T, typename Indicator>
|
||||||
|
void exchange_(into_container<T, Indicator> const &ic, boost::mpl::true_ * /* fusion sequence */)
|
||||||
|
{
|
||||||
|
- boost::fusion::for_each(ic.t, into_sequence<T, Indicator>(*this, ic.ind));
|
||||||
|
+ into_sequence<T, Indicator> f(*this, ic.ind);
|
||||||
|
+ boost::fusion::for_each<T,
|
||||||
|
+ into_sequence<T, Indicator>
|
||||||
|
+ SOCI_BOOST_FUSION_FOREACH_REFERENCE>(ic.t, f);
|
||||||
|
}
|
||||||
|
|
||||||
|
template <typename T>
|
||||||
|
void exchange_(into_container<T, details::no_indicator> const &ic, boost::mpl::true_ * /* fusion sequence */)
|
||||||
|
{
|
||||||
|
- boost::fusion::for_each(ic.t, into_sequence<T, details::no_indicator>(*this));
|
||||||
|
+ into_sequence<T, details::no_indicator> f(*this);
|
||||||
|
+ boost::fusion::for_each<T,
|
||||||
|
+ into_sequence<T, details::no_indicator>
|
||||||
|
+ SOCI_BOOST_FUSION_FOREACH_REFERENCE>(ic.t, f);
|
||||||
|
}
|
||||||
|
#endif // SOCI_HAVE_BOOST
|
||||||
|
|
||||||
|
--
|
||||||
|
2.20.1.windows.1
|
||||||
|
|
62
ports/soci/0002-Find-PostgreSQL-debug-library.patch
Normal file
62
ports/soci/0002-Find-PostgreSQL-debug-library.patch
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
From f1fa9cc84e67c9f28f651b926f55f93d60bbb963 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Andrei Lebedev <lebdron@gmail.com>
|
||||||
|
Date: Sun, 5 May 2019 21:22:49 +0300
|
||||||
|
Subject: [PATCH] Find PostgreSQL debug library
|
||||||
|
|
||||||
|
Signed-off-by: Andrei Lebedev <lebdron@gmail.com>
|
||||||
|
---
|
||||||
|
cmake/modules/FindPostgreSQL.cmake | 31 +++++++++++++++++++-----------
|
||||||
|
1 file changed, 20 insertions(+), 11 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/cmake/modules/FindPostgreSQL.cmake b/cmake/modules/FindPostgreSQL.cmake
|
||||||
|
index 48937e2..e2e557b 100644
|
||||||
|
--- a/cmake/modules/FindPostgreSQL.cmake
|
||||||
|
+++ b/cmake/modules/FindPostgreSQL.cmake
|
||||||
|
@@ -124,16 +124,21 @@ if ( WIN32 )
|
||||||
|
set (POSTGRESQL_LIBRARY_TO_FIND ${POSTGRESQL_LIB_PREFIX}${POSTGRESQL_LIBRARY_TO_FIND})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
-find_library(POSTGRESQL_LIBRARY
|
||||||
|
- NAMES ${POSTGRESQL_LIBRARY_TO_FIND}
|
||||||
|
- PATHS
|
||||||
|
- ${POSTGRESQL_ROOT_DIRECTORIES}
|
||||||
|
- PATH_SUFFIXES
|
||||||
|
- lib
|
||||||
|
- ${POSTGRESQL_LIBRARY_ADDITIONAL_SEARCH_SUFFIXES}
|
||||||
|
- # Help the user find it if we cannot.
|
||||||
|
- DOC "The ${POSTGRESQL_LIBRARY_DIR_MESSAGE}"
|
||||||
|
-)
|
||||||
|
+function(__postgresql_find_library _name)
|
||||||
|
+ find_library(${_name}
|
||||||
|
+ NAMES ${ARGN}
|
||||||
|
+ PATHS
|
||||||
|
+ ${POSTGRESQL_ROOT_DIRECTORIES}
|
||||||
|
+ PATH_SUFFIXES
|
||||||
|
+ lib
|
||||||
|
+ ${POSTGRESQL_LIBRARY_ADDITIONAL_SEARCH_SUFFIXES}
|
||||||
|
+ # Help the user find it if we cannot.
|
||||||
|
+ DOC "The ${POSTGRESQL_LIBRARY_DIR_MESSAGE}"
|
||||||
|
+ )
|
||||||
|
+endfunction()
|
||||||
|
+
|
||||||
|
+__postgresql_find_library(POSTGRESQL_LIBRARY ${POSTGRESQL_LIBRARY_TO_FIND})
|
||||||
|
+__postgresql_find_library(POSTGRESQL_LIBRARY_DEBUG ${POSTGRESQL_LIBRARY_TO_FIND}d)
|
||||||
|
get_filename_component(POSTGRESQL_LIBRARY_DIR ${POSTGRESQL_LIBRARY} PATH)
|
||||||
|
|
||||||
|
if (POSTGRESQL_INCLUDE_DIR)
|
||||||
|
@@ -169,7 +174,11 @@ set(POSTGRESQL_FOUND ${POSTGRESQL_FOUND})
|
||||||
|
if(POSTGRESQL_FOUND)
|
||||||
|
set(POSTGRESQL_INCLUDE_DIRS ${POSTGRESQL_INCLUDE_DIR})
|
||||||
|
set(POSTGRESQL_LIBRARY_DIRS ${POSTGRESQL_LIBRARY_DIR})
|
||||||
|
- set(POSTGRESQL_LIBRARIES ${POSTGRESQL_LIBRARY})
|
||||||
|
+ if(POSTGRESQL_LIBRARY AND POSTGRESQL_LIBRARY_DEBUG)
|
||||||
|
+ set(POSTGRESQL_LIBRARIES optimized ${POSTGRESQL_LIBRARY} debug ${POSTGRESQL_LIBRARY_DEBUG})
|
||||||
|
+ else()
|
||||||
|
+ set(POSTGRESQL_LIBRARIES ${POSTGRESQL_LIBRARY})
|
||||||
|
+ endif()
|
||||||
|
set(POSTGRESQL_VERSION ${POSTGRESQL_VERSION_STRING})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
--
|
||||||
|
2.20.1.windows.1
|
||||||
|
|
@ -1,5 +1,5 @@
|
|||||||
Source: soci
|
Source: soci
|
||||||
Version: 3.2.3-3
|
Version: 3.2.3-4
|
||||||
Description: SOCI database access library
|
Description: SOCI database access library
|
||||||
|
|
||||||
Feature: boost
|
Feature: boost
|
||||||
|
@ -5,6 +5,8 @@ vcpkg_from_github(
|
|||||||
REF c15b178a44b99ed3ff7fd953837fb97f6314abb7
|
REF c15b178a44b99ed3ff7fd953837fb97f6314abb7
|
||||||
SHA512 037c44f29e80b5ec57046606b4672088917d469e9d2254e3e15253e170026cf0fe17e4f79a4b01df22fe7032708ca87354b1560d9880d4d165cdef869c3c6081
|
SHA512 037c44f29e80b5ec57046606b4672088917d469e9d2254e3e15253e170026cf0fe17e4f79a4b01df22fe7032708ca87354b1560d9880d4d165cdef869c3c6081
|
||||||
HEAD_REF master
|
HEAD_REF master
|
||||||
|
PATCHES "${CMAKE_CURRENT_LIST_DIR}/0001-Deduce-reference-in-boost-fusion-for_each.patch"
|
||||||
|
"${CMAKE_CURRENT_LIST_DIR}/0002-Find-PostgreSQL-debug-library.patch"
|
||||||
)
|
)
|
||||||
|
|
||||||
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" SOCI_DYNAMIC)
|
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" SOCI_DYNAMIC)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user