Skip to content

Commit

Permalink
mariadb-connector-c: add version 3.4.3 (#26164)
Browse files Browse the repository at this point in the history
* added mariadb-connector-c 3.4.3

* mariadb-connector-c: add missing version to config.yml

---------

Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com>
  • Loading branch information
boussaffawalid and jcar87 authored Jan 30, 2025
1 parent 6f6cf0f commit 7706752
Show file tree
Hide file tree
Showing 5 changed files with 158 additions and 0 deletions.
10 changes: 10 additions & 0 deletions recipes/mariadb-connector-c/all/conandata.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
sources:
"3.4.3":
url: "https://downloads.mariadb.com/Connectors/c/connector-c-3.4.3/mariadb-connector-c-3.4.3-src.tar.gz"
sha256: "a9033833a88ca74789bd6db565965382c982d06aae1c086097fa9c3e7c7d1eaf"
"3.3.8":
url: "https://downloads.mariadb.com/Connectors/c/connector-c-3.3.8/mariadb-connector-c-3.3.8-src.tar.gz"
sha256: "f9f076b4aa9fb22cc94b24f82c80f9ef063805ecd6533a2eb5d5060cf93833e8"
Expand All @@ -15,6 +18,13 @@ sources:
url: "https://downloads.mariadb.com/Connectors/c/connector-c-3.1.11/mariadb-connector-c-3.1.11-src.tar.gz"
sha256: "3e6f6c399493fe90efdc21a3fe70c30434b7480e8195642a959f1dd7a0fa5b0f"
patches:
"3.4.3":
- patch_file: "patches/3.4.3-0001-fix-install-and-static-or-shared.patch"
patch_description: "fix install path, separate static/shared build"
patch_type: "conan"
- patch_file: "patches/3.4.3-0004-include-mysqld_error-header.patch"
patch_description: "always include mysqld_error.h"
patch_type: "portability"
"3.3.8":
- patch_file: "patches/3.3.8-0001-fix-install-and-static-or-shared.patch"
patch_description: "fix install path, separate static/shared build"
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f3b6cbd..f3e8993 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -100,7 +100,7 @@ IF(MSVC)
ADD_DEFINITIONS(-DWIN32_LEAN_AND_MEAN)
IF (MSVC)
# Treat warnings as errors
- SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -WX")
+ # SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -WX")
SET(CONFIG_TYPES "DEBUG" "RELEASE" "RELWITHDEBINFO")
FOREACH(BUILD_TYPE ${CONFIG_TYPES})
FOREACH(COMPILER CXX C)
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
diff --git a/libmariadb/CMakeLists.txt b/libmariadb/CMakeLists.txt
index 1985b44..d54fe46 100644
--- a/libmariadb/CMakeLists.txt
+++ b/libmariadb/CMakeLists.txt
@@ -420,7 +420,7 @@ ELSE()
ENDIF()


-IF(CMAKE_VERSION VERSION_GREATER 2.8.7)
+IF(FALSE)
# CREATE OBJECT LIBRARY
ADD_LIBRARY(mariadb_obj OBJECT ${LIBMARIADB_SOURCES})
IF(UNIX)
@@ -449,21 +449,26 @@ IF(WIN32)
"FILE_DESCRIPTION:Dynamic lib for client/server communication")
ENDIF()

+IF(NOT BUILD_SHARED_LIBS)
ADD_LIBRARY(mariadbclient STATIC ${MARIADB_OBJECTS} ${EMPTY_FILE})
TARGET_LINK_LIBRARIES(mariadbclient ${SYSTEM_LIBS} ${CRYPT_LIBS})

+ELSE()
+
IF(UNIX)
ADD_LIBRARY(libmariadb SHARED ${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 SHARED ${libmariadb_RC} ${MARIADB_OBJECTS} ${EMPTY_FILE} mariadbclient.def)
SET_TARGET_PROPERTIES(libmariadb PROPERTIES LINKER_LANGUAGE C)
ENDIF()

TARGET_LINK_LIBRARIES(libmariadb LINK_PRIVATE ${SYSTEM_LIBS} ${CRYPT_LIBS})

SIGN_TARGET(libmariadb)
+ENDIF()

+IF(BUILD_SHARED_LIBS)
IF(CMAKE_SYSTEM_NAME MATCHES "Linux" OR
CMAKE_SYSTEM_NAME MATCHES "kFreeBSD" OR
CMAKE_SYSTEM_NAME MATCHES "GNU")
@@ -473,10 +478,14 @@ IF(CMAKE_SYSTEM_NAME MATCHES "Linux" OR
SET_TARGET_PROPERTIES(libmariadb PROPERTIES LINK_FLAGS "${CC_BINARY_DIR}/libmariadb/mariadbclient.def")
ENDIF()

+ELSE()
SET_TARGET_PROPERTIES(mariadbclient PROPERTIES IMPORTED_INTERFACE_LINK_LIBRARIES "${SYSTEM_LIBS}")
+ENDIF()
+IF(BUILD_SHARED_LIBS)
SET_TARGET_PROPERTIES(libmariadb PROPERTIES IMPORTED_INTERFACE_LINK_LIBRARIES "${SYSTEM_LIBS}")

SET_TARGET_PROPERTIES(libmariadb PROPERTIES PREFIX "")
+ENDIF()

#
# Installation
@@ -496,32 +505,50 @@ IF(WITH_MYSQLCOMPAT)
ENDIF()
ENDIF()

+IF(NOT BUILD_SHARED_LIBS)
create_symlink(libmariadb${CMAKE_STATIC_LIBRARY_SUFFIX} mariadbclient ${INSTALL_LIBDIR})
+ENDIF()

+IF(BUILD_SHARED_LIBS)
SET_TARGET_PROPERTIES(libmariadb PROPERTIES VERSION
${CPACK_PACKAGE_VERSION_MAJOR}
SOVERSION ${CPACK_PACKAGE_VERSION_MAJOR})
+ELSE()

IF(NOT WIN32)
SET_TARGET_PROPERTIES(mariadbclient PROPERTIES OUTPUT_NAME "${LIBMARIADB_STATIC_NAME}")
ENDIF()

-INSTALL(TARGETS mariadbclient
- COMPONENT Development
- DESTINATION ${INSTALL_LIBDIR})
+ INSTALL(TARGETS mariadbclient
+ COMPONENT Development
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ENDIF()
+
+IF(BUILD_SHARED_LIBS)
IF(WIN32)
INSTALL(TARGETS libmariadb
COMPONENT SharedLibraries
- DESTINATION ${INSTALL_LIBDIR})
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
ELSE()
# in cmake 3.12+ we can use
#INSTALL(TARGETS libmariadb LIBRARY DESTINATION ${INSTALL_LIBDIR}
# COMPONENT SharedLibraries NAMELINK_COMPONENT Development)
# but as long as we build on CentOS 7 with its cmake 2.8.12.2 we have to use
-INSTALL(TARGETS libmariadb LIBRARY DESTINATION ${INSTALL_LIBDIR}
- COMPONENT SharedLibraries NAMELINK_SKIP)
-INSTALL(TARGETS libmariadb LIBRARY DESTINATION ${INSTALL_LIBDIR}
- COMPONENT Development NAMELINK_ONLY)
+INSTALL(TARGETS libmariadb LIBRARY
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ COMPONENT SharedLibraries)
+INSTALL(TARGETS libmariadb LIBRARY
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ COMPONENT Development)
+
ENDIF()

IF(MSVC)
@@ -530,3 +557,4 @@ IF(MSVC)
CONFIGURATIONS Debug RelWithDebInfo
COMPONENT Development)
ENDIF()
+ENDIF()
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt
index 137cbe9..c06dd41 100644
--- a/include/CMakeLists.txt
+++ b/include/CMakeLists.txt
@@ -10,7 +10,7 @@ SET(MARIADB_CLIENT_INCLUDES ${CC_SOURCE_DIR}/include/mariadb_com.h
${CC_SOURCE_DIR}/include/mariadb_ctype.h
${CC_SOURCE_DIR}/include/mariadb_rpl.h
)
-IF(NOT IS_SUBPROJECT)
+IF(TRUE)
SET(MARIADB_CLIENT_INCLUDES ${MARIADB_CLIENT_INCLUDES}
${CC_SOURCE_DIR}/include/mysqld_error.h
)
2 changes: 2 additions & 0 deletions recipes/mariadb-connector-c/config.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
versions:
"3.4.3":
folder: all
"3.3.8":
folder: all
"3.3.3":
Expand Down

0 comments on commit 7706752

Please sign in to comment.