mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Apply wlad fixes from mysql-next-mr-bugfixing
This commit is contained in:
@ -171,7 +171,7 @@ SET(MYSQL_DATADIR "/var/lib/mysql")
|
|||||||
|
|
||||||
# Clear cached variables if install layout was changed
|
# Clear cached variables if install layout was changed
|
||||||
IF(OLD_INSTALL_LAYOUT)
|
IF(OLD_INSTALL_LAYOUT)
|
||||||
IF(NOT OLD_INSTALL_LAYOUT STREQUAL INSTALL_LAYOUR)
|
IF(NOT OLD_INSTALL_LAYOUT STREQUAL INSTALL_LAYOUT)
|
||||||
SET(FORCE FORCE)
|
SET(FORCE FORCE)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
@ -43,27 +43,26 @@ ENDMACRO()
|
|||||||
# Install symbolic link to CMake target.
|
# Install symbolic link to CMake target.
|
||||||
# the link is created in the same directory as target
|
# the link is created in the same directory as target
|
||||||
# and extension will be the same as for target file.
|
# and extension will be the same as for target file.
|
||||||
MACRO(INSTALL_SYMLINK linkbasename target destination)
|
MACRO(INSTALL_SYMLINK linkname target destination)
|
||||||
IF(UNIX)
|
IF(UNIX)
|
||||||
GET_TARGET_PROPERTY(location ${target} LOCATION)
|
GET_TARGET_PROPERTY(location ${target} LOCATION)
|
||||||
GET_FILENAME_COMPONENT(path ${location} PATH)
|
GET_FILENAME_COMPONENT(path ${location} PATH)
|
||||||
GET_FILENAME_COMPONENT(name_we ${location} NAME_WE)
|
GET_FILENAME_COMPONENT(name ${location} NAME)
|
||||||
GET_FILENAME_COMPONENT(ext ${location} EXT)
|
SET(output ${path}/${linkname})
|
||||||
SET(output ${path}/${linkbasename}${ext})
|
|
||||||
ADD_CUSTOM_COMMAND(
|
ADD_CUSTOM_COMMAND(
|
||||||
OUTPUT ${output}
|
OUTPUT ${output}
|
||||||
COMMAND ${CMAKE_COMMAND} ARGS -E remove -f ${output}
|
COMMAND ${CMAKE_COMMAND} ARGS -E remove -f ${output}
|
||||||
COMMAND ${CMAKE_COMMAND} ARGS -E create_symlink
|
COMMAND ${CMAKE_COMMAND} ARGS -E create_symlink
|
||||||
${name_we}${ext}
|
${name}
|
||||||
${linkbasename}${ext}
|
${linkname}
|
||||||
WORKING_DIRECTORY ${path}
|
WORKING_DIRECTORY ${path}
|
||||||
DEPENDS ${target}
|
DEPENDS ${target}
|
||||||
)
|
)
|
||||||
|
|
||||||
ADD_CUSTOM_TARGET(symlink_${linkbasename}${ext}
|
ADD_CUSTOM_TARGET(symlink_${linkname}
|
||||||
ALL
|
ALL
|
||||||
DEPENDS ${output})
|
DEPENDS ${output})
|
||||||
SET_TARGET_PROPERTIES(symlink_${linkbasename}${ext} PROPERTIES CLEAN_DIRECT_OUTPUT 1)
|
SET_TARGET_PROPERTIES(symlink_${linkname} PROPERTIES CLEAN_DIRECT_OUTPUT 1)
|
||||||
IF(CMAKE_GENERATOR MATCHES "Xcode")
|
IF(CMAKE_GENERATOR MATCHES "Xcode")
|
||||||
# For Xcode, replace project config with install config
|
# For Xcode, replace project config with install config
|
||||||
STRING(REPLACE "${CMAKE_CFG_INTDIR}"
|
STRING(REPLACE "${CMAKE_CFG_INTDIR}"
|
||||||
|
@ -153,15 +153,26 @@ SET(LIBS clientlib dbug strings vio mysys ${ZLIB_LIBRARY} ${SSL_LIBRARIES})
|
|||||||
# Merge several convenience libraries into one big mysqlclient
|
# Merge several convenience libraries into one big mysqlclient
|
||||||
# and link them together into shared library.
|
# and link them together into shared library.
|
||||||
MERGE_LIBRARIES(mysqlclient STATIC ${LIBS})
|
MERGE_LIBRARIES(mysqlclient STATIC ${LIBS})
|
||||||
IF(UNIX)
|
|
||||||
INSTALL_SYMLINK(${CMAKE_STATIC_LIBRARY_PREFIX}mysqlclient_r mysqlclient ${INSTALL_LIBDIR})
|
|
||||||
ENDIF()
|
|
||||||
|
|
||||||
# Visual Studio users need debug static library for debug projects
|
# Visual Studio users need debug static library for debug projects
|
||||||
IF(MSVC)
|
IF(MSVC)
|
||||||
INSTALL_DEBUG_TARGET(mysqlclient DESTINATION ${INSTALL_LIBDIR}/debug)
|
INSTALL_DEBUG_TARGET(mysqlclient DESTINATION ${INSTALL_LIBDIR}/debug)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
|
IF(UNIX)
|
||||||
|
MACRO(GET_VERSIONED_LIBNAME LIBNAME EXTENSION VERSION OUTNAME)
|
||||||
|
SET(DOT_VERSION ".${VERSION}")
|
||||||
|
IF(DOT_VERSION STREQUAL ".")
|
||||||
|
SET(DOT_VERSION "")
|
||||||
|
ENDIF()
|
||||||
|
IF(APPLE)
|
||||||
|
SET(${OUTNAME} ${LIBNAME}${DOT_VERSION}${EXTENSION})
|
||||||
|
ELSE()
|
||||||
|
SET(${OUTNAME} ${LIBNAME}${EXTENSION}${DOT_VERSION})
|
||||||
|
ENDIF()
|
||||||
|
ENDMACRO()
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
IF(NOT DISABLE_SHARED)
|
IF(NOT DISABLE_SHARED)
|
||||||
MERGE_LIBRARIES(libmysql SHARED ${LIBS} EXPORTS ${CLIENT_API_FUNCTIONS})
|
MERGE_LIBRARIES(libmysql SHARED ${LIBS} EXPORTS ${CLIENT_API_FUNCTIONS})
|
||||||
IF(UNIX)
|
IF(UNIX)
|
||||||
@ -182,6 +193,16 @@ IF(NOT DISABLE_SHARED)
|
|||||||
#(mysqlclient in this case)
|
#(mysqlclient in this case)
|
||||||
SET_TARGET_PROPERTIES(mysqlclient PROPERTIES CLEAN_DIRECT_OUTPUT 1)
|
SET_TARGET_PROPERTIES(mysqlclient PROPERTIES CLEAN_DIRECT_OUTPUT 1)
|
||||||
SET_TARGET_PROPERTIES(libmysql PROPERTIES CLEAN_DIRECT_OUTPUT 1)
|
SET_TARGET_PROPERTIES(libmysql PROPERTIES CLEAN_DIRECT_OUTPUT 1)
|
||||||
INSTALL_SYMLINK(${CMAKE_SHARED_LIBRARY_PREFIX}mysqlclient_r libmysql ${INSTALL_LIBDIR})
|
|
||||||
|
# Install 3 links to libmysqlclient.so (client_r)
|
||||||
|
FOREACH(ver "" "${SHARED_LIB_MAJOR_VERSION}"
|
||||||
|
"${SHARED_LIB_MAJOR_VERSION}.0.0")
|
||||||
|
GET_VERSIONED_LIBNAME(
|
||||||
|
"${CMAKE_SHARED_LIBRARY_PREFIX}mysqlclient_r"
|
||||||
|
"${CMAKE_SHARED_LIBRARY_SUFFIX}"
|
||||||
|
"${ver}"
|
||||||
|
linkname)
|
||||||
|
INSTALL_SYMLINK(${linkname} libmysql ${INSTALL_LIBDIR})
|
||||||
|
ENDFOREACH()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
@ -131,6 +131,11 @@ IF(MSVC)
|
|||||||
INSTALL_DEBUG_TARGET(mysqlserver DESTINATION ${INSTALL_LIBDIR}/debug)
|
INSTALL_DEBUG_TARGET(mysqlserver DESTINATION ${INSTALL_LIBDIR}/debug)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
|
IF(UNIX)
|
||||||
|
INSTALL_DEBUG_TARGET(mysqlserver DESTINATION ${INSTALL_LIBDIR} RENAME
|
||||||
|
${CMAKE_STATIC_LIBRARY_PREFIX}/mysqld-debug)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
IF(MSVC AND NOT DISABLE_SHARED)
|
IF(MSVC AND NOT DISABLE_SHARED)
|
||||||
MERGE_LIBRARIES(libmysqld SHARED ${LIBS} EXPORTS ${CLIENT_API_FUNCTIONS})
|
MERGE_LIBRARIES(libmysqld SHARED ${LIBS} EXPORTS ${CLIENT_API_FUNCTIONS})
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
@ -18,3 +18,4 @@ INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
|
|||||||
SET(MYSQLSERVICES_SOURCES my_snprintf_service.c thd_alloc_service.c)
|
SET(MYSQLSERVICES_SOURCES my_snprintf_service.c thd_alloc_service.c)
|
||||||
|
|
||||||
ADD_LIBRARY(mysqlservices ${MYSQLSERVICES_SOURCES})
|
ADD_LIBRARY(mysqlservices ${MYSQLSERVICES_SOURCES})
|
||||||
|
INSTALL(TARGETS mysqlservices DESTINATION ${INSTALL_LIBDIR})
|
||||||
|
Reference in New Issue
Block a user