diff options
| author | Lily <47812810+wangli28@users.noreply.github.com> | 2019-07-25 01:23:29 +0800 |
|---|---|---|
| committer | Phil Christensen <philc@microsoft.com> | 2019-07-24 10:23:29 -0700 |
| commit | 1ff16433f2afdbb20f4fc120154aa38d90748f5c (patch) | |
| tree | c44d6b690cd580d14cc13c69a382f3be661b35de | |
| parent | 0c5e7c98c21e6ec4ae543c695cfa4b157e2710b6 (diff) | |
| download | vcpkg-1ff16433f2afdbb20f4fc120154aa38d90748f5c.tar.gz vcpkg-1ff16433f2afdbb20f4fc120154aa38d90748f5c.zip | |
[libmariadb] Fix install path (#7396)
| -rw-r--r-- | ports/libmariadb/CONTROL | 2 | ||||
| -rw-r--r-- | ports/libmariadb/fix-InstallPath.patch | 146 | ||||
| -rw-r--r-- | ports/libmariadb/portfile.cmake | 38 |
3 files changed, 148 insertions, 38 deletions
diff --git a/ports/libmariadb/CONTROL b/ports/libmariadb/CONTROL index 986eb5d23..887a52ed0 100644 --- a/ports/libmariadb/CONTROL +++ b/ports/libmariadb/CONTROL @@ -1,4 +1,4 @@ Source: libmariadb
-Version: 3.0.10-1
+Version: 3.0.10-2
Homepage: https://github.com/MariaDB/mariadb-connector-c
Description: MariaDB Connector/C is used to connect C/C++ applications to MariaDB and MySQL databases
diff --git a/ports/libmariadb/fix-InstallPath.patch b/ports/libmariadb/fix-InstallPath.patch new file mode 100644 index 000000000..1a317aa2d --- /dev/null +++ b/ports/libmariadb/fix-InstallPath.patch @@ -0,0 +1,146 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 02757a9..b2715dd 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -15,6 +15,11 @@ IF(COMMAND CMAKE_POLICY) + ENDFOREACH() + ENDIF() + ++if (BUILD_SHARED_LIBS) ++ set(DEFAULT_LINKAGE DYNAMIC) ++else() ++ set(DEFAULT_LINKAGE STATIC) ++endif() + + PROJECT(mariadb-connector-c C) + +diff --git a/cmake/install_plugins.cmake b/cmake/install_plugins.cmake +index cd5616c..d058a5c 100644 +--- a/cmake/install_plugins.cmake ++++ b/cmake/install_plugins.cmake +@@ -8,7 +8,7 @@ + # plugin installation + + MACRO(INSTALL_PLUGIN name binary_dir) +- INSTALL(TARGETS ${name} COMPONENT ClientPlugins DESTINATION ${INSTALL_PLUGINDIR}) ++ INSTALL(TARGETS ${name} COMPONENT ClientPlugins DESTINATION ${INSTALL_PLUGINDIR}/../../../bin/plugin) + IF(WIN32) + FILE(APPEND ${CC_BINARY_DIR}/win/packaging/plugin.conf "<File Id=\"${name}.dll\" Name=\"${name}.dll\" DiskId=\"1\" Source=\"${binary_dir}/${CMAKE_BUILD_TYPE}/${name}.dll\"/>\n") + FILE(APPEND ${CC_BINARY_DIR}/win/packaging/plugin.conf "<File Id=\"${name}.pdb\" Name=\"${name}.pdb\" DiskId=\"1\" Source=\"${binary_dir}/${CMAKE_BUILD_TYPE}/${name}.pdb\"/>\n") +diff --git a/libmariadb/CMakeLists.txt b/libmariadb/CMakeLists.txt +index a1f039e..03a3a6f 100644 +--- a/libmariadb/CMakeLists.txt ++++ b/libmariadb/CMakeLists.txt +@@ -386,10 +386,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} mariadbclient.def) ++ ADD_LIBRARY(libmariadb ${libmariadb_RC} mariadbclient.def) + TARGET_LINK_LIBRARIES(libmariadb mariadbclient) + SET_TARGET_PROPERTIES(libmariadb PROPERTIES LINKER_LANGUAGE C) + ENDIF() +@@ -441,13 +441,14 @@ 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(WIN32) ++IF(0) + # On Windows, install PDB + INSTALL(FILES $<TARGET_PDB_FILE:libmariadb> DESTINATION "${INSTALL_LIBDIR}" + CONFIGURATIONS Debug RelWithDebInfo +diff --git a/plugins/auth/CMakeLists.txt b/plugins/auth/CMakeLists.txt +index 42f6f05..9a57146 100644 +--- a/plugins/auth/CMakeLists.txt ++++ b/plugins/auth/CMakeLists.txt +@@ -14,7 +14,7 @@ REGISTER_PLUGIN(TARGET mysql_native_password + REGISTER_PLUGIN(TARGET dialog + TYPE MARIADB_CLIENT_PLUGIN_AUTH + CONFIGURATIONS DYNAMIC STATIC OFF +- DEFAULT DYNAMIC ++ DEFAULT ${DEFAULT_LINKAGE} + SOURCES ${CC_SOURCE_DIR}/plugins/auth/dialog.c + ${CC_SOURCE_DIR}/libmariadb/get_password.c) + +@@ -33,7 +33,7 @@ IF(WITH_SSL) + REGISTER_PLUGIN(TARGET caching_sha2_password + TYPE MARIADB_CLIENT_PLUGIN_AUTH + CONFIGURATIONS DYNAMIC STATIC OFF +- DEFAULT DYNAMIC ++ DEFAULT ${DEFAULT_LINKAGE} + SOURCES ${CC_SOURCE_DIR}/plugins/auth/caching_sha2_pw.c + ${CRYPT_SOURCE} + LIBRARIES ${CACHING_SHA2_LIBS}) +@@ -53,7 +53,7 @@ IF(GSSAPI_SOURCES) + REGISTER_PLUGIN(TARGET auth_gssapi_client + TYPE MARIADB_CLIENT_PLUGIN_AUTH + CONFIGURATIONS DYNAMIC STATIC OFF +- DEFAULT DYNAMIC ++ DEFAULT ${DEFAULT_LINKAGE} + SOURCES ${GSSAPI_SOURCES} + INCLUDES ${CC_SOURCE_DIR}/plugins/auth ${GSSAPI_INCS} + LIBRARIES ${GSSAPI_LIBS}) +@@ -68,7 +68,7 @@ IF(${WITH_SSL} STREQUAL "OPENSSL" OR ${WITH_SSL} STREQUAL "SCHANNEL") + REGISTER_PLUGIN(TARGET sha256_password + TYPE MARIADB_CLIENT_PLUGIN_AUTH + CONFIGURATIONS DYNAMIC STATIC OFF +- DEFAULT DYNAMIC ++ DEFAULT ${DEFAULT_LINKAGE} + SOURCES ${AUTH_DIR}/sha256_pw.c + LIBRARIES ${SHA256_LIBS}) + ENDIF() +@@ -85,6 +85,6 @@ REGISTER_PLUGIN(TARGET mysql_old_password + REGISTER_PLUGIN(TARGET mysql_clear_password + TYPE MARIADB_CLIENT_PLUGIN_AUTH + CONFIGURATIONS DYNAMIC STATIC OFF +- DEFAULT DYNAMIC ++ DEFAULT ${DEFAULT_LINKAGE} + SOURCES ${AUTH_DIR}/mariadb_cleartext.c) + +diff --git a/plugins/io/CMakeLists.txt b/plugins/io/CMakeLists.txt +index 8c304c9..3547107 100644 +--- a/plugins/io/CMakeLists.txt ++++ b/plugins/io/CMakeLists.txt +@@ -7,7 +7,7 @@ IF (WITH_CURL) + REGISTER_PLUGIN(TARGET remote_io + TYPE MARIADB_CLIENT_PLUGIN_IO + CONFIGURATIONS DYNAMIC STATIC OFF +- DEFAULT DYNAMIC ++ DEFAULT ${DEFAULT_LINKAGE} + SOURCES ${CC_SOURCE_DIR}/plugins/io/remote_io.c + INCLUDES ${CURL_INCLUDE_DIR} + LIBRARIES ${CURL_LIBRARIES}) +diff --git a/plugins/pvio/CMakeLists.txt b/plugins/pvio/CMakeLists.txt +index 76eb3ef..3601622 100644 +--- a/plugins/pvio/CMakeLists.txt ++++ b/plugins/pvio/CMakeLists.txt +@@ -15,13 +15,13 @@ IF(WIN32) + REGISTER_PLUGIN(TARGET pvio_npipe + TYPE MARIADB_CLIENT_PLUGIN_PVIO + CONFIGURATIONS STATIC DYNAMIC DEFAULT +- DEFAULT DYNAMIC ++ DEFAULT ${DEFAULT_LINKAGE} + SOURCES ${CC_SOURCE_DIR}/plugins/pvio/pvio_npipe.c) + + # shared memory + REGISTER_PLUGIN(TARGET pvio_shmem + TYPE MARIADB_CLIENT_PLUGIN_PVIO + CONFIGURATIONS STATIC DYNAMIC DEFAULT +- DEFAULT DYNAMIC ++ DEFAULT ${DEFAULT_LINKAGE} + SOURCES ${CC_SOURCE_DIR}/plugins/pvio/pvio_shmem.c) + ENDIF() diff --git a/ports/libmariadb/portfile.cmake b/ports/libmariadb/portfile.cmake index 0089ec0a3..5fab1502c 100644 --- a/ports/libmariadb/portfile.cmake +++ b/ports/libmariadb/portfile.cmake @@ -14,6 +14,7 @@ vcpkg_from_github( PATCHES
md.patch
disable-test-build.patch
+ fix-InstallPath.patch
)
vcpkg_configure_cmake(
@@ -38,45 +39,8 @@ if(VCPKG_BUILD_TYPE STREQUAL "debug") ${CURRENT_PACKAGES_DIR}/include)
endif()
-# fix libmariadb lib & dll directory.
-if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
- if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
- file(RENAME
- ${CURRENT_PACKAGES_DIR}/lib/mariadb/mariadbclient.lib
- ${CURRENT_PACKAGES_DIR}/lib/mariadbclient.lib)
- endif()
-
- if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
- file(RENAME
- ${CURRENT_PACKAGES_DIR}/debug/lib/mariadb/mariadbclient.lib
- ${CURRENT_PACKAGES_DIR}/debug/lib/mariadbclient.lib)
- endif()
-else()
- if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
- file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin)
- file(RENAME
- ${CURRENT_PACKAGES_DIR}/lib/mariadb/libmariadb.dll
- ${CURRENT_PACKAGES_DIR}/bin/libmariadb.dll)
- file(RENAME
- ${CURRENT_PACKAGES_DIR}/lib/mariadb/libmariadb.lib
- ${CURRENT_PACKAGES_DIR}/lib/libmariadb.lib)
- endif()
-
- if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
- file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin)
- file(RENAME
- ${CURRENT_PACKAGES_DIR}/debug/lib/mariadb/libmariadb.dll
- ${CURRENT_PACKAGES_DIR}/debug/bin/libmariadb.dll)
- file(RENAME
- ${CURRENT_PACKAGES_DIR}/debug/lib/mariadb/libmariadb.lib
- ${CURRENT_PACKAGES_DIR}/debug/lib/libmariadb.lib)
- endif()
-endif()
-
# remove plugin folder
file(REMOVE_RECURSE
- ${CURRENT_PACKAGES_DIR}/lib/plugin
- ${CURRENT_PACKAGES_DIR}/debug/lib/plugin
${CURRENT_PACKAGES_DIR}/lib/mariadb
${CURRENT_PACKAGES_DIR}/debug/lib/mariadb)
|
