early-access version 2853

This commit is contained in:
pineappleEA
2022-07-23 03:01:36 +02:00
parent 1f2b5081b5
commit 1f111bb69c
8955 changed files with 418777 additions and 999 deletions

15
externals/vcpkg/ports/libmariadb/arm64.patch vendored Executable file
View File

@@ -0,0 +1,15 @@
diff --git a/libmariadb/CMakeLists.txt b/libmariadb/CMakeLists.txt
index 640a35bea..6c8d93250 100755
--- a/libmariadb/CMakeLists.txt
+++ b/libmariadb/CMakeLists.txt
@@ -410,10 +410,6 @@ TARGET_LINK_LIBRARIES(libmariadb LINK_PRIVATE ${SYSTEM_LIBS})
SIGN_TARGET(libmariadb)
-IF(CMAKE_SIZEOF_VOID_P EQUAL 8 AND MSVC)
- SET_TARGET_PROPERTIES(mariadbclient PROPERTIES STATIC_LIBRARY_FLAGS "/machine:x64")
-ENDIF()
-
IF(CMAKE_SYSTEM_NAME MATCHES "Linux" OR
CMAKE_SYSTEM_NAME MATCHES "kFreeBSD" OR
CMAKE_SYSTEM_NAME MATCHES "GNU")

View File

@@ -0,0 +1,18 @@
diff --git a/unittest/libmariadb/CMakeLists.txt b/unittest/libmariadb/CMakeLists.txt
index e3ba18b..48c4f1d 100644
--- a/unittest/libmariadb/CMakeLists.txt
+++ b/unittest/libmariadb/CMakeLists.txt
@@ -48,6 +48,7 @@ ENDIF()
ADD_LIBRARY(ma_getopt ma_getopt.c)
+if(0)
FOREACH(API_TEST ${API_TESTS})
IF (NOT TARGET ${API_TEST})
ADD_EXECUTABLE(${API_TEST} ${API_TEST}.c)
@@ -65,3 +66,4 @@ FOREACH(API_TEST ${MANUAL_TESTS})
ADD_EXECUTABLE(${API_TEST} ${API_TEST}.c)
TARGET_LINK_LIBRARIES(${API_TEST} cctap ma_getopt mariadbclient)
ENDFOREACH()
+endif()
\ No newline at end of file

View File

@@ -0,0 +1,43 @@
diff --git a/libmariadb/CMakeLists.txt b/libmariadb/CMakeLists.txt
index c109a20..e1fa3f1 100644
--- a/libmariadb/CMakeLists.txt
+++ b/libmariadb/CMakeLists.txt
@@ -405,6 +405,7 @@ ELSE()
ADD_LIBRARY(libmariadb ${libmariadb_RC} ${MARIADB_OBJECTS} mariadbclient.def)
SET_TARGET_PROPERTIES(libmariadb PROPERTIES LINKER_LANGUAGE C)
ENDIF()
+TARGET_INCLUDE_DIRECTORIES(libmariadb PUBLIC $<INSTALL_INTERFACE:include/mysql>)
TARGET_LINK_LIBRARIES(libmariadb LINK_PRIVATE ${SYSTEM_LIBS})
@@ -453,13 +454,30 @@ ENDIF()
INSTALL(TARGETS mariadbclient
COMPONENT Development
+ EXPORT unofficial-libmariadb-targets
LIBRARY DESTINATION lib)
INSTALL(TARGETS libmariadb
COMPONENT SharedLibraries
+ EXPORT unofficial-libmariadb-targets
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib)
+install(EXPORT unofficial-libmariadb-targets
+ NAMESPACE unofficial::
+ DESTINATION share/unofficial-libmariadb
+)
+
+file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/unofficial-libmariadb-config.cmake.in"
+[[include(CMakeFindDependencyMacro)
+find_dependency(ZLIB)
+if("@WITH_SSL@" STREQUAL "OPENSSL")
+ find_dependency(OpenSSL)
+endif()
+include("${CMAKE_CURRENT_LIST_DIR}/unofficial-libmariadb-targets.cmake")
+]])
+configure_file("${CMAKE_CURRENT_BINARY_DIR}/unofficial-libmariadb-config.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/unofficial-libmariadb-config.cmake" @ONLY)
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/unofficial-libmariadb-config.cmake DESTINATION share/unofficial-libmariadb)
IF(0)
# On Windows, install PDB

View File

@@ -0,0 +1,62 @@
diff --git a/include/mariadb_version.h.in b/include/mariadb_version.h.in
index a82dbb7..e9005fa 100644
--- a/include/mariadb_version.h.in
+++ b/include/mariadb_version.h.in
@@ -30,7 +30,7 @@
#define MARIADB_PACKAGE_VERSION_ID @MARIADB_PACKAGE_VERSION_ID@
#define MARIADB_SYSTEM_TYPE "@CMAKE_SYSTEM_NAME@"
#define MARIADB_MACHINE_TYPE "@CMAKE_SYSTEM_PROCESSOR@"
-#define MARIADB_PLUGINDIR "@CMAKE_INSTALL_PREFIX@/@INSTALL_PLUGINDIR@"
+#define MARIADB_PLUGINDIR "../@INSTALL_PLUGINDIR@"
/* mysqld compile time options */
#ifndef MYSQL_CHARSET
diff --git a/libmariadb/CMakeLists.txt b/libmariadb/CMakeLists.txt
index bcfd4de..c109a20 100644
--- a/libmariadb/CMakeLists.txt
+++ b/libmariadb/CMakeLists.txt
@@ -398,10 +398,10 @@ ADD_LIBRARY(mariadbclient STATIC ${MARIADB_OBJECTS} ${EMPTY_FILE})
TARGET_LINK_LIBRARIES(mariadbclient ${SYSTEM_LIBS})
IF(UNIX)
- ADD_LIBRARY(libmariadb SHARED ${libmariadb_RC} ${MARIADB_OBJECTS} ${EMPTY_FILE})
+ ADD_LIBRARY(libmariadb ${libmariadb_RC} ${MARIADB_OBJECTS} ${EMPTY_FILE})
SET_TARGET_PROPERTIES(libmariadb PROPERTIES COMPILE_FLAGS "${CMAKE_SHARED_LIBRARY_C_FLAGS}")
ELSE()
- ADD_LIBRARY(libmariadb SHARED ${libmariadb_RC} ${MARIADB_OBJECTS} mariadbclient.def)
+ ADD_LIBRARY(libmariadb ${libmariadb_RC} ${MARIADB_OBJECTS} mariadbclient.def)
SET_TARGET_PROPERTIES(libmariadb PROPERTIES LINKER_LANGUAGE C)
ENDIF()
@@ -453,13 +453,15 @@ ENDIF()
INSTALL(TARGETS mariadbclient
COMPONENT Development
- DESTINATION ${INSTALL_LIBDIR})
+ LIBRARY DESTINATION lib)
INSTALL(TARGETS libmariadb
COMPONENT SharedLibraries
- DESTINATION ${INSTALL_LIBDIR})
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib)
-IF(MSVC)
+IF(0)
# On Windows, install PDB
INSTALL(FILES $<TARGET_PDB_FILE:libmariadb> DESTINATION "${INSTALL_LIBDIR}"
CONFIGURATIONS Debug RelWithDebInfo
diff --git a/mariadb_config/mariadb_config.c.in b/mariadb_config/mariadb_config.c.in
index 5574943..fc1ca7c 100644
--- a/mariadb_config/mariadb_config.c.in
+++ b/mariadb_config/mariadb_config.c.in
@@ -210,7 +210,7 @@ end:
}
if (!p || !p[0])
{
- strncpy(installation_dir, "@CMAKE_SYSROOT@@CMAKE_INSTALL_PREFIX@", PATH_MAX - 1);
+ strncpy(installation_dir, "../@CMAKE_INSTALL_PREFIX@", PATH_MAX - 1);
return;
}
}

View File

@@ -0,0 +1,40 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 203fca7..65cc350 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -342,7 +342,8 @@ ENDIF()
IF(WITH_ICONV)
IF(NOT WIN32)
- INCLUDE(${CC_SOURCE_DIR}/cmake/FindIconv.cmake)
+ find_package(Iconv REQUIRED)
+ include_directories(${Iconv_INCLUDE_DIRS})
ENDIF()
ENDIF()
@@ -359,8 +360,8 @@ IF(WIN32)
SET(SYSTEM_LIBS ws2_32 advapi32 kernel32 shlwapi crypt32 ${LIBZ})
ELSE()
SET(SYSTEM_LIBS ${SYSTEM_LIBS} ${LIBPTHREAD} ${CMAKE_DL_LIBS} ${LIBM})
- IF(ICONV_EXTERNAL)
- SET(SYSTEM_LIBS ${SYSTEM_LIBS} ${ICONV_LIBRARIES})
+ IF(WITH_ICONV)
+ SET(SYSTEM_LIBS ${SYSTEM_LIBS} ${Iconv_LIBRARIES})
ENDIF()
ENDIF()
IF(WITH_SSL)
diff --git a/mariadb_config/CMakeLists.txt b/mariadb_config/CMakeLists.txt
index 5bbf36b..70e619b 100644
--- a/mariadb_config/CMakeLists.txt
+++ b/mariadb_config/CMakeLists.txt
@@ -38,8 +38,8 @@ STRING(STRIP "${extra_dynamic_LDFLAGS}" extra_dynamic_LDFLAGS)
LIST(REMOVE_DUPLICATES extra_dynamic_LDFLAGS)
IF(UNIX AND NOT APPLE)
- IF(ICONV_EXTERNAL)
- GET_LIB_NAME(${ICONV_LIBRARIES} LIB_OUT)
+ IF(WITH_ICONV)
+ GET_LIB_NAME(${Iconv_LIBRARIES} LIB_OUT)
SET(extra_dynamic_LDFLAGS "${extra_dynamic_LDFLAGS} ${LIB_OUT}")
ENDIF()
ENDIF()

View File

@@ -0,0 +1,13 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 33565f5..d83176d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -280,7 +280,7 @@ IF(NOT WITH_SSL STREQUAL "OFF")
IF(OPENSSL_FOUND)
ADD_DEFINITIONS(-DHAVE_OPENSSL -DHAVE_TLS)
SET(SSL_SOURCES "${CC_SOURCE_DIR}/libmariadb/secure/openssl.c")
- SET(SSL_LIBRARIES ${OPENSSL_SSL_LIBRARY} ${OPENSSL_CRYPTO_LIBRARY})
+ SET(SSL_LIBRARIES OpenSSL::SSL)
IF(WIN32)
CHECK_INCLUDE_FILES (${OPENSSL_INCLUDE_DIR}/openssl/applink.c HAVE_OPENSSL_APPLINK_C)
ENDIF()

13
externals/vcpkg/ports/libmariadb/md.patch vendored Executable file
View File

@@ -0,0 +1,13 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index cd716e3..a1f2ada 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -98,7 +98,7 @@ IF(MSVC)
# Speedup system tests
INCLUDE(${CC_SOURCE_DIR}/cmake/WindowsCache.cmake)
ADD_DEFINITIONS(-DWIN32_LEAN_AND_MEAN)
- IF (MSVC)
+ IF (MSVC AND 0)
SET(CONFIG_TYPES "DEBUG" "RELEASE" "RELWITHDEBINFO")
FOREACH(BUILD_TYPE ${CONFIG_TYPES})
FOREACH(COMPILER CXX C)

View File

@@ -0,0 +1,19 @@
diff --git a/libmariadb/CMakeLists.txt b/libmariadb/CMakeLists.txt
index 39fa709..a726a6d 100644
--- a/libmariadb/CMakeLists.txt
+++ b/libmariadb/CMakeLists.txt
@@ -455,10 +455,14 @@ IF(NOT WIN32)
SET_TARGET_PROPERTIES(mariadbclient PROPERTIES OUTPUT_NAME "${LIBMARIADB_STATIC_NAME}")
ENDIF()
+if(VCPKG_MARIADBCLIENT)
INSTALL(TARGETS mariadbclient
COMPONENT Development
EXPORT unofficial-libmariadb-targets
LIBRARY DESTINATION lib)
+else()
+ set_target_properties(mariadbclient PROPERTIES EXCLUDE_FROM_ALL 1)
+endif()
INSTALL(TARGETS libmariadb
COMPONENT SharedLibraries
EXPORT unofficial-libmariadb-targets

View File

@@ -0,0 +1,60 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0be0fb1..33565f5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -393,7 +393,7 @@ ENDIF()
INCLUDE(${CC_SOURCE_DIR}/plugins/CMakeLists.txt)
ADD_SUBDIRECTORY(include)
ADD_SUBDIRECTORY(libmariadb)
-IF(NOT WIN32)
+IF(1)
ADD_SUBDIRECTORY(mariadb_config)
ENDIF()
diff --git a/mariadb_config/CMakeLists.txt b/mariadb_config/CMakeLists.txt
index 70e619b..7a22fa1 100644
--- a/mariadb_config/CMakeLists.txt
+++ b/mariadb_config/CMakeLists.txt
@@ -30,6 +30,15 @@ IF(${rllength} GREATER 0)
LIST(REMOVE_DUPLICATES SYSTEM_LIBS)
ENDIF()
+set(REQUIRES_PRIVATE "" CACHE STRING "")
+if(WITH_SSL STREQUAL "OPENSSL")
+ list(REMOVE_ITEM SYSTEM_LIBS ${SSL_LIBRARIES})
+ string(APPEND REQUIRES_PRIVATE " openssl")
+endif()
+if(WITH_EXTERNAL_ZLIB)
+ string(APPEND REQUIRES_PRIVATE " zlib")
+endif()
+
FOREACH (LIB_NAME ${SYSTEM_LIBS})
GET_LIB_NAME(${LIB_NAME} LIB_OUT)
SET(extra_dynamic_LDFLAGS "${extra_dynamic_LDFLAGS} ${LIB_OUT}")
@@ -50,6 +59,7 @@ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/mariadb_config.c.in
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libmariadb.pc.in
${CMAKE_CURRENT_BINARY_DIR}/libmariadb.pc @ONLY)
+if(0)
ADD_EXECUTABLE(mariadb_config ${CMAKE_CURRENT_BINARY_DIR}/mariadb_config.c)
IF(CMAKE_SYSTEM_NAME MATCHES AIX)
@@ -61,6 +71,7 @@ ENDIF()
INSTALL(TARGETS mariadb_config
DESTINATION "bin"
COMPONENT Development)
+endif()
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/libmariadb.pc
DESTINATION "${INSTALL_PCDIR}"
diff --git a/mariadb_config/libmariadb.pc.in b/mariadb_config/libmariadb.pc.in
index 968181a..3f0410d 100644
--- a/mariadb_config/libmariadb.pc.in
+++ b/mariadb_config/libmariadb.pc.in
@@ -16,5 +16,6 @@ Description: MariaDB Connector/C dynamic library
Cflags: -I${includedir}
Libs: -L${libdir} -lmariadb
Libs.private: @extra_dynamic_LDFLAGS@
+Requires.private: @REQUIRES_PRIVATE@

View File

@@ -0,0 +1,77 @@
if (EXISTS "${CURRENT_INSTALLED_DIR}/share/libmysql")
message(FATAL_ERROR "FATAL ERROR: libmysql and libmariadb are incompatible.")
endif()
if("openssl" IN_LIST FEATURES AND "schannel" IN_LIST FEATURES)
message(FATAL_ERROR "Only one SSL backend must be selected.")
endif()
if("schannel" IN_LIST FEATURES AND NOT VCPKG_TARGET_IS_WINDOWS)
message(FATAL_ERROR "Feature schannel not supported on non-Windows platforms.")
endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO mariadb-corporation/mariadb-connector-c
REF b2bb1b213c79169b7c994a99f21f47f11be465d4 # v3.1.15
SHA512 51ebd2e9fd505eebc7691c60fe0b86cfc5368f8b370fba6c3ec8f5514319ef1e0de4910ad5e093cd7d5e5c7782120e22e8c85c94af9389fa4e240cedf012d755
HEAD_REF 3.1
PATCHES
arm64.patch
md.patch
disable-test-build.patch
fix-InstallPath.patch
fix-iconv.patch
export-cmake-targets.patch
pkgconfig.patch
no-extra-static-lib.patch
fix-openssl.patch
)
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
iconv WITH_ICONV
mariadbclient VCPKG_MARIADBCLIENT
)
if("openssl" IN_LIST FEATURES)
set(WITH_SSL OPENSSL)
elseif("schannel" IN_LIST FEATURES)
set(WITH_SSL ON)
else()
set(WITH_SSL OFF)
endif()
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
${FEATURE_OPTIONS}
-DINSTALL_INCLUDEDIR=include/mysql # legacy port decisiong
-DINSTALL_LIBDIR=lib
-DINSTALL_PLUGINDIR=plugins/${PORT}
-DWITH_UNIT_TESTS=OFF
-DWITH_CURL=OFF
-DWITH_EXTERNAL_ZLIB=ON
-DWITH_SSL=${WITH_SSL}
-DREMOTEIO_PLUGIN_TYPE=OFF
-DAUTH_GSSAPI_PLUGIN_TYPE=OFF
MAYBE_UNUSED_VARIABLES
AUTH_GSSAPI_PLUGIN_TYPE
)
vcpkg_cmake_install()
vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-libmariadb)
if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libmariadb.pc" " -lmariadb" " -llibmariadb")
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libmariadb.pc" " -lmariadb" " -llibmariadb")
endif()
endif()
vcpkg_fixup_pkgconfig()
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
# copy license file
file(INSTALL "${SOURCE_PATH}/COPYING.LIB" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)

65
externals/vcpkg/ports/libmariadb/vcpkg.json vendored Executable file
View File

@@ -0,0 +1,65 @@
{
"name": "libmariadb",
"version-semver": "3.1.15",
"description": "MariaDB Connector/C is used to connect C/C++ applications to MariaDB and MySQL databases",
"homepage": "https://github.com/MariaDB/mariadb-connector-c",
"supports": "!uwp",
"dependencies": [
{
"name": "vcpkg-cmake",
"host": true
},
{
"name": "vcpkg-cmake-config",
"host": true
},
"zlib"
],
"default-features": [
"ssl"
],
"features": {
"iconv": {
"description": "Enables character set conversion",
"dependencies": [
"libiconv"
]
},
"mariadbclient": {
"description": "Build the static mariadbclient library"
},
"openssl": {
"description": "SSL support (OpenSSL)",
"dependencies": [
"openssl"
]
},
"schannel": {
"description": "SSL support (Secure Channel)"
},
"ssl": {
"description": "Default SSL backend",
"dependencies": [
{
"name": "libmariadb",
"default-features": false,
"features": [
"schannel"
],
"platform": "windows | mingw"
},
{
"name": "libmariadb",
"default-features": false,
"features": [
"openssl"
],
"platform": "!windows & !mingw"
}
]
},
"zlib": {
"description": "Obsolete. zlib is always used. This feature is left for compatibility."
}
}
}