early-access version 2853
This commit is contained in:
47
externals/vcpkg/ports/libodb-mysql/CMakeLists.txt
vendored
Executable file
47
externals/vcpkg/ports/libodb-mysql/CMakeLists.txt
vendored
Executable file
@@ -0,0 +1,47 @@
|
||||
cmake_minimum_required(VERSION 3.0)
|
||||
project(libodb-mysql VERSION 2.4.0 LANGUAGES CXX)
|
||||
find_package(odb 2.4.0 REQUIRED COMPONENTS libodb)
|
||||
configure_file(config.unix.h.in
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/odb/mysql/details/config.h COPYONLY)
|
||||
|
||||
INCLUDE_DIRECTORIES(${MYSQL_INCLUDE_DIR})
|
||||
set(LIBODB_INSTALL_HEADERS ON CACHE BOOL "Install the header files (a debug install)")
|
||||
file(GLOB_RECURSE libodb_src
|
||||
RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
*.cxx)
|
||||
add_library(libodb-mysql ${libodb_src})
|
||||
target_include_directories(libodb-mysql
|
||||
PUBLIC
|
||||
$<INSTALL_INTERFACE:include>
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||
|
||||
)
|
||||
|
||||
target_link_libraries(libodb-mysql PRIVATE odb::libodb ${MYSQL_LIB})
|
||||
if(BUILD_SHARED_LIBS)
|
||||
target_compile_definitions(libodb-mysql PRIVATE
|
||||
-DLIBODB_MYSQL_DYNAMIC_LIB
|
||||
-DLIBODB_MYSQL_HAVE_UNLOCK_NOTIFY)
|
||||
else()
|
||||
target_compile_definitions(libodb-mysql PRIVATE
|
||||
-DLIBODB_MYSQL_STATIC_LIB
|
||||
-DLIBODB_MYSQL_HAVE_UNLOCK_NOTIFY)
|
||||
endif()
|
||||
install(TARGETS libodb-mysql EXPORT odb_mysqlConfig
|
||||
COMPONENT mysql
|
||||
ARCHIVE DESTINATION lib
|
||||
LIBRARY DESTINATION lib
|
||||
RUNTIME DESTINATION bin
|
||||
)
|
||||
if(LIBODB_INSTALL_HEADERS)
|
||||
install(DIRECTORY odb DESTINATION include/
|
||||
COMPONENT mysql
|
||||
FILES_MATCHING
|
||||
PATTERN "*.h"
|
||||
PATTERN "*.hxx"
|
||||
PATTERN "*.ixx"
|
||||
PATTERN "*.txx"
|
||||
)
|
||||
endif()
|
||||
install(EXPORT odb_mysqlConfig NAMESPACE odb:: COMPONENT mysql DESTINATION share/odb)
|
||||
export(TARGETS libodb-mysql NAMESPACE odb:: FILE odb_mysqlConfig.cmake)
|
13
externals/vcpkg/ports/libodb-mysql/adapter_mysql_8.0.patch
vendored
Executable file
13
externals/vcpkg/ports/libodb-mysql/adapter_mysql_8.0.patch
vendored
Executable file
@@ -0,0 +1,13 @@
|
||||
diff --git a/odb/mysql/mysql-types.hxx b/odb/mysql/mysql-types.hxx
|
||||
index 1254ccd..5396791 100644
|
||||
--- a/odb/mysql/mysql-types.hxx
|
||||
+++ b/odb/mysql/mysql-types.hxx
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
#include <odb/mysql/details/config.hxx>
|
||||
|
||||
-typedef char my_bool;
|
||||
+typedef bool my_bool;
|
||||
typedef struct st_mysql_bind MYSQL_BIND;
|
||||
|
||||
#ifdef LIBODB_MYSQL_INCLUDE_SHORT
|
19
externals/vcpkg/ports/libodb-mysql/config.unix.h.in
vendored
Executable file
19
externals/vcpkg/ports/libodb-mysql/config.unix.h.in
vendored
Executable file
@@ -0,0 +1,19 @@
|
||||
/* odb/mysql/details/config.h. Generated from config.h.in by configure. */
|
||||
/* file : odb/mysql/details/config.h.in
|
||||
* copyright : Copyright (c) 2009-2015 Code Synthesis Tools CC
|
||||
* license : GNU GPL v2; see accompanying LICENSE file
|
||||
*/
|
||||
|
||||
/* This file is automatically processed by configure. */
|
||||
|
||||
#ifndef ODB_MYSQL_DETAILS_CONFIG_H
|
||||
#define ODB_MYSQL_DETAILS_CONFIG_H
|
||||
|
||||
/* #undef LIBODB_MYSQL_STATIC_LIB */
|
||||
|
||||
/* #undef LIBODB_MYSQL_INCLUDE_SHORT */
|
||||
#define LIBODB_MYSQL_INCLUDE_LONG 1
|
||||
|
||||
/* #undef LIBODB_MYSQL_THR_KEY_VISIBLE */
|
||||
|
||||
#endif /* ODB_MYSQL_DETAILS_CONFIG_H */
|
32
externals/vcpkg/ports/libodb-mysql/fix-redefinttion.patch
vendored
Executable file
32
externals/vcpkg/ports/libodb-mysql/fix-redefinttion.patch
vendored
Executable file
@@ -0,0 +1,32 @@
|
||||
diff --git a/odb/mysql/mysql-types.hxx b/odb/mysql/mysql-types.hxx
|
||||
index 5396791..32a2a03 100644
|
||||
--- a/odb/mysql/mysql-types.hxx
|
||||
+++ b/odb/mysql/mysql-types.hxx
|
||||
@@ -7,13 +7,24 @@
|
||||
|
||||
#include <odb/mysql/details/config.hxx>
|
||||
|
||||
+#include <odb/mysql/version.hxx>
|
||||
+
|
||||
typedef bool my_bool;
|
||||
+
|
||||
+#if !defined(LIBODB_MYSQL_MARIADB) && MYSQL_VERSION_ID >= 80011
|
||||
+struct MYSQL_BIND;
|
||||
+#else
|
||||
typedef struct st_mysql_bind MYSQL_BIND;
|
||||
+#endif
|
||||
|
||||
-#ifdef LIBODB_MYSQL_INCLUDE_SHORT
|
||||
-# include <mysql_time.h>
|
||||
+#ifdef LIBODB_MYSQL_MARIADB
|
||||
+# include <mysql/mysql.h>
|
||||
#else
|
||||
-# include <mysql/mysql_time.h>
|
||||
+# ifdef LIBODB_MYSQL_INCLUDE_SHORT
|
||||
+# include <mysql_time.h>
|
||||
+# else
|
||||
+# include <mysql/mysql_time.h>
|
||||
+# endif
|
||||
#endif
|
||||
|
||||
#endif // ODB_MYSQL_MYSQL_TYPES_HXX
|
45
externals/vcpkg/ports/libodb-mysql/portfile.cmake
vendored
Executable file
45
externals/vcpkg/ports/libodb-mysql/portfile.cmake
vendored
Executable file
@@ -0,0 +1,45 @@
|
||||
vcpkg_download_distfile(ARCHIVE
|
||||
URLS "https://www.codesynthesis.com/download/odb/2.4/libodb-mysql-2.4.0.tar.gz"
|
||||
FILENAME "libodb-mysql-2.4.0.tar.gz"
|
||||
SHA512 c27b73c3f61dccdd149c11c122185f645a00d5bc346b366ee65b738f8719c39d03fad07a0d55b62b3db9e3ad2507679c24ddda331e5d110f367ad32f7cf8b910
|
||||
)
|
||||
|
||||
vcpkg_extract_source_archive_ex(
|
||||
ARCHIVE ${ARCHIVE}
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
PATCHES
|
||||
adapter_mysql_8.0.patch
|
||||
fix-redefinttion.patch
|
||||
)
|
||||
file(REMOVE "${SOURCE_PATH}/version")
|
||||
|
||||
file(COPY
|
||||
${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt
|
||||
${CMAKE_CURRENT_LIST_DIR}/config.unix.h.in
|
||||
DESTINATION ${SOURCE_PATH})
|
||||
|
||||
set(MYSQL_INCLUDE_DIR "${CURRENT_INSTALLED_DIR}/include/mysql")
|
||||
find_library(MYSQL_LIB NAMES libmysql mysqlclient PATH_SUFFIXES lib PATHS "${CURRENT_INSTALLED_DIR}" NO_DEFAULT_PATH REQUIRED)
|
||||
find_library(MYSQL_LIB_DEBUG NAMES libmysql mysqlclient PATH_SUFFIXES lib PATHS "${CURRENT_INSTALLED_DIR}/debug" NO_DEFAULT_PATH REQUIRED)
|
||||
|
||||
vcpkg_configure_cmake(
|
||||
SOURCE_PATH ${SOURCE_PATH}
|
||||
DISABLE_PARALLEL_CONFIGURE
|
||||
PREFER_NINJA
|
||||
OPTIONS
|
||||
-DMYSQL_INCLUDE_DIR=${MYSQL_INCLUDE_DIR}
|
||||
OPTIONS_RELEASE
|
||||
-DMYSQL_LIB=${MYSQL_LIB}
|
||||
OPTIONS_DEBUG
|
||||
-DLIBODB_INSTALL_HEADERS=OFF
|
||||
-DMYSQL_LIB=${MYSQL_LIB_DEBUG}
|
||||
)
|
||||
|
||||
vcpkg_install_cmake()
|
||||
|
||||
vcpkg_fixup_cmake_targets(CONFIG_PATH share/odb TARGET_PATH share/odb)
|
||||
|
||||
vcpkg_copy_pdbs()
|
||||
|
||||
file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
|
||||
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
|
4
externals/vcpkg/ports/libodb-mysql/usage
vendored
Executable file
4
externals/vcpkg/ports/libodb-mysql/usage
vendored
Executable file
@@ -0,0 +1,4 @@
|
||||
The package libodb-mysql provides CMake integration:
|
||||
|
||||
find_package(odb CONFIG COMPONENTS libodb mysql REQUIRED)
|
||||
target_link_libraries(main PRIVATE odb::libodb-mysql)
|
11
externals/vcpkg/ports/libodb-mysql/vcpkg.json
vendored
Executable file
11
externals/vcpkg/ports/libodb-mysql/vcpkg.json
vendored
Executable file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "libodb-mysql",
|
||||
"version": "2.4.0",
|
||||
"port-version": 9,
|
||||
"description": "MySQL support for the ODB ORM library",
|
||||
"homepage": "https://www.codesynthesis.com/products/odb/",
|
||||
"dependencies": [
|
||||
"libmysql",
|
||||
"libodb"
|
||||
]
|
||||
}
|
Reference in New Issue
Block a user