Browse Source

drogon: test mysql (#7755)

* drogon: test mysql

* drogon: patch find-mysql

* drogon: update patch

* mariadb-connector-c: fix compile with gcc15

* Update xmake.lua
Bai Miao 1 month ago
parent
commit
a4af7d540e

+ 28 - 0
packages/d/drogon/patches/1.9.11/find-mysql.patch

@@ -0,0 +1,28 @@
+diff --git a/cmake_modules/FindMySQL.cmake b/cmake_modules/FindMySQL.cmake
+index c94e636..ab59815 100644
+--- a/cmake_modules/FindMySQL.cmake
++++ b/cmake_modules/FindMySQL.cmake
+@@ -130,12 +130,17 @@ find_package_handle_standard_args(MySQL
+                                   MYSQL_INCLUDE_DIRS)
+ # Copy the results to the output variables.
+ if(MySQL_FOUND)
+-  add_library(MySQL_lib INTERFACE IMPORTED)
+-  set_target_properties(MySQL_lib
+-                        PROPERTIES INTERFACE_INCLUDE_DIRECTORIES
+-                                   "${MYSQL_INCLUDE_DIRS}"
+-                                   INTERFACE_LINK_LIBRARIES
+-                                   "${MYSQL_LIBRARIES}")
++  add_library(MySQL_lib UNKNOWN IMPORTED)
++  set_target_properties(MySQL_lib PROPERTIES
++  INTERFACE_INCLUDE_DIRECTORIES "${MYSQL_INCLUDE_DIRS}"
++  IMPORTED_LOCATION "${MYSQL_LIBRARIES}")
++  find_package(OpenSSL QUIET)  # try to find openssl
++  if(OpenSSL_FOUND)
++    target_link_libraries(MySQL_lib INTERFACE $<LINK_ONLY:OpenSSL::SSL> $<LINK_ONLY:OpenSSL::Crypto>)
++    message(STATUS "mysql: OpenSSL found!")
++  else()
++    message(STATUS "mysql: OpenSSL missing!")
++  endif()
+ else(MySQL_FOUND)
+   set(MYSQL_LIBRARIES)
+   set(MYSQL_INCLUDE_DIRS)

+ 1 - 0
packages/d/drogon/xmake.lua

@@ -41,6 +41,7 @@ package("drogon")
     if is_plat("windows") then
         add_patches("1.9.6", path.join(os.scriptdir(), "patches", "1.9.6", "windows-build.patch"), "4a798dc3ba7df2f1541ecf66b1b03bab15f200d310ac63f7893770cb3b199453")
     end
+    add_patches("1.9.11", path.join(os.scriptdir(), "patches", "1.9.11", "find-mysql.patch"), "0813b02190dad0bb3e6f524e3f39a8fec1e231153fb91d9869391fd6f2fb91de")
 
     add_configs("c_ares", {description = "Enable async DNS query support.", default = false, type = "boolean"})
     add_configs("mysql", {description = "Enable mysql support.", default = false, type = "boolean"})

+ 1 - 1
packages/m/mariadb-connector-c/xmake.lua

@@ -55,7 +55,7 @@ package("mariadb-connector-c")
 
     on_install("bsd", "linux", "windows", function(package)
         io.replace("CMakeLists.txt", "-Werror", "", {plain = true})
-        local configs = {}
+        local configs = {"-DCMAKE_C_STANDARD=99"}
         table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:debug() and "Debug" or "Release"))
         for name, enabled in pairs(package:configs()) do
             if not package:extraconf("configs", name, "builtin") then