diff options
| author | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
|---|---|---|
| committer | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
| commit | 54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch) | |
| tree | d915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/mariadb-connector-cpp | |
Diffstat (limited to 'vcpkg/ports/mariadb-connector-cpp')
7 files changed, 163 insertions, 0 deletions
diff --git a/vcpkg/ports/mariadb-connector-cpp/fix-carray.diff b/vcpkg/ports/mariadb-connector-cpp/fix-carray.diff new file mode 100644 index 0000000..a4918e2 --- /dev/null +++ b/vcpkg/ports/mariadb-connector-cpp/fix-carray.diff @@ -0,0 +1,12 @@ +diff --git a/include/conncpp/CArray.hpp b/include/conncpp/CArray.hpp +index f3e4634..e0f62eb 100644 +--- a/include/conncpp/CArray.hpp ++++ b/include/conncpp/CArray.hpp +@@ -24,6 +24,7 @@ + #include "buildconf.hpp" + #include <initializer_list> + #include <vector> ++#include <stdint.h> + + + namespace sql diff --git a/vcpkg/ports/mariadb-connector-cpp/install.diff b/vcpkg/ports/mariadb-connector-cpp/install.diff new file mode 100644 index 0000000..f9ff615 --- /dev/null +++ b/vcpkg/ports/mariadb-connector-cpp/install.diff @@ -0,0 +1,53 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5a10e1e..4a4732b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -690,14 +690,16 @@ IF(MINGW) + ENDIF() + + INCLUDE(symlink) ++if(NOT BUILD_SHARED_LIBS) + CREATE_SYMLINK(lib${LIBRARY_NAME}${CMAKE_STATIC_LIBRARY_SUFFIX} ${STATIC_LIBRARY_NAME} ${INSTALL_LIBDIR}) ++endif() + + ADD_DEPENDENCIES(${LIBRARY_NAME} DEPENDENCIES_FOR_PACKAGE) + + ########## Packaging ########## + + # MSI +-IF(WIN32) ++IF(0) + IF(WITH_MSI) + ADD_CUSTOM_COMMAND(TARGET ${LIBRARY_NAME} POST_BUILD + COMMAND ${CMAKE_COMMAND} ARGS -DDRIVER_LIB_DIR=$<TARGET_FILE_DIR:${LIBRARY_NAME}> +@@ -714,13 +716,30 @@ ELSE() + #MESSAGE(STATUS "Configuring to generate PKG package") + #ADD_SUBDIRECTORY(osxinstall) + ENDIF() ++ if(BUILD_SHARED_LIBS) ++ set_target_properties(${STATIC_LIBRARY_NAME} PROPERTIES EXCLUDE_FROM_ALL 1) ++ target_include_directories(${LIBRARY_NAME} INTERFACE $<INSTALL_INTERFACE:include>) + INSTALL(TARGETS ${LIBRARY_NAME} ++ EXPORT unofficial-mariadb-connector-cpp ++ RUNTIME DESTINATION ${INSTALL_BINDIR} + LIBRARY DESTINATION ${INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${INSTALL_LIBDIR} + COMPONENT SharedLibraries) ++ else() ++ set_target_properties(${LIBRARY_NAME} PROPERTIES EXCLUDE_FROM_ALL 1) ++ set_target_properties(${STATIC_LIBRARY_NAME} PROPERTIES EXPORT_NAME ${LIBRARY_NAME}) ++ target_include_directories(${STATIC_LIBRARY_NAME} INTERFACE $<INSTALL_INTERFACE:include>) + INSTALL(TARGETS + ${STATIC_LIBRARY_NAME} ++ EXPORT unofficial-mariadb-connector-cpp + ARCHIVE DESTINATION ${INSTALL_LIBDIR} + COMPONENT Development) ++ endif() ++ install(EXPORT unofficial-mariadb-connector-cpp ++ DESTINATION share/unofficial-mariadb-connector-cpp ++ NAMESPACE unofficial::mariadb-connector-cpp:: ++ FILE unofficial-mariadb-connector-cpp-targets.cmake ++ ) + + MESSAGE(STATUS "Documentation installed to ${INSTALL_DOCDIR}") + MESSAGE(STATUS "License file installed to ${INSTALL_LICENSEDIR}") diff --git a/vcpkg/ports/mariadb-connector-cpp/libmariadb.diff b/vcpkg/ports/mariadb-connector-cpp/libmariadb.diff new file mode 100644 index 0000000..7e494d2 --- /dev/null +++ b/vcpkg/ports/mariadb-connector-cpp/libmariadb.diff @@ -0,0 +1,25 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index db28fd9..1692f72 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -545,7 +545,11 @@ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/src/maconncpp.def.in + ${CMAKE_CURRENT_SOURCE_DIR}/src/maconncpp.def) + + # Dynamic linking is default on non-Windows +-IF(MARIADB_LINK_DYNAMIC) ++IF(1) ++ FIND_PACKAGE(unofficial-libmariadb CONFIG REQUIRED) ++ SET(MARIADB_CLIENT_TARGET_NAME unofficial::libmariadb) ++ ADD_LIBRARY(mariadbclient ALIAS unofficial::libmariadb) ++ELSEIF(MARIADB_LINK_DYNAMIC) + IF(USE_SYSTEM_INSTALLED_LIB) + IF(MINGW) + # I guess -l can be removed here. Also, for build with c/c as submodule this will have to me moved on top level out of this IF's +@@ -601,6 +605,7 @@ ENDIF() + + + ADD_LIBRARY(${LIBRARY_NAME}_obj OBJECT ${MACPP_SOURCES}) ++TARGET_LINK_LIBRARIES(${LIBRARY_NAME}_obj PRIVATE unofficial::libmariadb) + IF(UNIX) + SET_TARGET_PROPERTIES(${LIBRARY_NAME}_obj PROPERTIES COMPILE_FLAGS "${CMAKE_SHARED_LIBRARY_C_FLAGS}") + ENDIF() diff --git a/vcpkg/ports/mariadb-connector-cpp/mingw.diff b/vcpkg/ports/mariadb-connector-cpp/mingw.diff new file mode 100644 index 0000000..4bd56bc --- /dev/null +++ b/vcpkg/ports/mariadb-connector-cpp/mingw.diff @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ffa175a..82be8d1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -428,7 +428,7 @@ IF(WIN32) + ENDIF() + ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS -DWIN32_LEAN_AND_MEAN) + SET(INSTALL_PLUGINDIR "${MARIADB_DEFAULT_PLUGINS_SUBDIR}") +- SET(PLATFORM_DEPENDENCIES ${PLATFORM_DEPENDENCIES} version.lib) ++ SET(PLATFORM_DEPENDENCIES ${PLATFORM_DEPENDENCIES} version) + ENDIF() + + ### Build options, initial settings and platform defaults diff --git a/vcpkg/ports/mariadb-connector-cpp/portfile.cmake b/vcpkg/ports/mariadb-connector-cpp/portfile.cmake new file mode 100644 index 0000000..7094c81 --- /dev/null +++ b/vcpkg/ports/mariadb-connector-cpp/portfile.cmake @@ -0,0 +1,36 @@ +vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO mariadb-corporation/mariadb-connector-cpp
+ REF ${VERSION}
+ HEAD_REF master
+ SHA512 90ce780e19babda02608134c99e8c0e7601a41ee5531097735beb54ec94c2dd38ecf4f457e9cac04831d7e886fe7c7b7a6d9fe799bf71d52ba168158ec36dc67
+ PATCHES
+ fix-carray.diff
+ libmariadb.diff
+ mingw.diff
+ install.diff
+)
+
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ DISABLE_PARALLEL_CONFIGURE
+ OPTIONS
+ -DINSTALL_LIBDIR=lib
+ -DUSE_SYSTEM_INSTALLED_LIB=ON
+ -DWITH_MSI=OFF
+ -DWITH_UNIT_TESTS=OFF
+)
+
+vcpkg_cmake_install()
+
+file(INSTALL "${CURRENT_PORT_DIR}/unofficial-${PORT}-config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/unofficial-${PORT}")
+vcpkg_cmake_config_fixup(PACKAGE_NAME "unofficial-${PORT}")
+
+file(REMOVE_RECURSE
+ "${CURRENT_PACKAGES_DIR}/debug/include"
+ "${CURRENT_PACKAGES_DIR}/debug/share"
+ "${CURRENT_PACKAGES_DIR}/share/doc"
+)
+
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING")
diff --git a/vcpkg/ports/mariadb-connector-cpp/unofficial-mariadb-connector-cpp-config.cmake b/vcpkg/ports/mariadb-connector-cpp/unofficial-mariadb-connector-cpp-config.cmake new file mode 100644 index 0000000..c09ab87 --- /dev/null +++ b/vcpkg/ports/mariadb-connector-cpp/unofficial-mariadb-connector-cpp-config.cmake @@ -0,0 +1,3 @@ +include(CMakeFindDependencyMacro)
+find_dependency(unofficial-libmariadb CONFIG)
+include("${CMAKE_CURRENT_LIST_DIR}/unofficial-mariadb-connector-cpp-targets.cmake")
diff --git a/vcpkg/ports/mariadb-connector-cpp/vcpkg.json b/vcpkg/ports/mariadb-connector-cpp/vcpkg.json new file mode 100644 index 0000000..0728d05 --- /dev/null +++ b/vcpkg/ports/mariadb-connector-cpp/vcpkg.json @@ -0,0 +1,21 @@ +{ + "name": "mariadb-connector-cpp", + "version": "1.1.5", + "description": "Connector/c++ for MariaDB.", + "homepage": "https://mariadb.com/docs/appdev/connector-cpp/", + "license": "LGPL-2.1-or-later", + "dependencies": [ + { + "name": "libmariadb", + "default-features": false + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} |