Changes to build using CMake according to existing release packages:
- Update/fix file layouts for each package type, add new types for native package formats including deb, rpm and svr4. - Build all plugins, including debug versions - Update compiler flags to match current release - Add missing @VAR@ expansions - Install correct mysqclient library symlinks - Fix icc/ia64 builds - Fix install of libmysqld-debug - Don't include mysql_embedded - Remove unpackaged manual pages to avoid missing files warnings - Don't install mtr's test suite
This commit is contained in:
parent
cb327fd8c2
commit
5b85121ca6
@ -189,8 +189,11 @@ ELSE()
|
||||
ENDIF()
|
||||
|
||||
SET(DEFAULT_BASEDIR "${DEFAULT_MYSQL_HOME}")
|
||||
SET(MYSQL_DATADIR "${DEFAULT_MYSQL_HOME}/${INSTALL_MYSQLDATADIR}" CACHE PATH
|
||||
"default MySQL data directory")
|
||||
IF(INSTALL_MYSQLDATADIR MATCHES "^/.*")
|
||||
SET(MYSQL_DATADIR ${INSTALL_MYSQLDATADIR} CACHE PATH "default MySQL data directory")
|
||||
ELSE()
|
||||
SET(MYSQL_DATADIR "${DEFAULT_MYSQL_HOME}/${INSTALL_MYSQLDATADIR}" CACHE PATH "default MySQL data directory")
|
||||
ENDIF()
|
||||
SET(DEFAULT_CHARSET_HOME "${DEFAULT_MYSQL_HOME}")
|
||||
SET(PLUGINDIR "${DEFAULT_MYSQL_HOME}/${INSTALL_PLUGINDIR}")
|
||||
IF(SYSCONFDIR)
|
||||
@ -274,20 +277,28 @@ ELSE()
|
||||
SET(CPACK_GENERATOR "TGZ")
|
||||
ENDIF()
|
||||
INCLUDE(CPack)
|
||||
INSTALL(FILES COPYING EXCEPTIONS-CLIENT LICENSE.mysql DESTINATION ${INSTALL_DOCREADMEDIR} OPTIONAL)
|
||||
INSTALL(FILES README DESTINATION ${INSTALL_DOCREADMEDIR})
|
||||
IF(UNIX)
|
||||
INSTALL(FILES Docs/INSTALL-BINARY DESTINATION
|
||||
${INSTALL_DOCREADMEDIR})
|
||||
INSTALL(FILES Docs/mysql.info DESTINATION ${INSTALL_INFODIR} OPTIONAL)
|
||||
ENDIF()
|
||||
#
|
||||
# RPM installs documentation directly from the source tree
|
||||
#
|
||||
IF(NOT INSTALL_LAYOUT MATCHES "RPM")
|
||||
INSTALL(FILES COPYING EXCEPTIONS-CLIENT LICENSE.mysql DESTINATION ${INSTALL_DOCREADMEDIR} OPTIONAL)
|
||||
INSTALL(FILES README DESTINATION ${INSTALL_DOCREADMEDIR})
|
||||
IF(UNIX)
|
||||
INSTALL(FILES Docs/INSTALL-BINARY DESTINATION ${INSTALL_DOCREADMEDIR})
|
||||
ENDIF()
|
||||
# MYSQL_DOCS_LOCATON is used in "make dist", points to the documentation directory
|
||||
SET(MYSQL_DOCS_LOCATION "" CACHE PATH "Location from where documentation is copied")
|
||||
MARK_AS_ADVANCED(MYSQL_DOCS_LOCATION)
|
||||
INSTALL(DIRECTORY Docs/ DESTINATION ${INSTALL_DOCDIR}
|
||||
PATTERN "INSTALL-BINARY" EXCLUDE
|
||||
PATTERN "Makefile.*" EXCLUDE
|
||||
PATTERN "glibc*" EXCLUDE
|
||||
PATTERN "linuxthreads.txt" EXCLUDE
|
||||
PATTERN "myisam.txt" EXCLUDE
|
||||
PATTERN "mysql.info" EXCLUDE
|
||||
PATTERN "sp-imp-spec.txt" EXCLUDE
|
||||
)
|
||||
ENDIF()
|
||||
# MYSQL_DOCS_LOCATON is used in "make dist", points to the documentation directory
|
||||
SET(MYSQL_DOCS_LOCATION "" CACHE PATH "Location from where documentation is copied")
|
||||
MARK_AS_ADVANCED(MYSQL_DOCS_LOCATION)
|
||||
INSTALL(DIRECTORY Docs/ DESTINATION ${INSTALL_DOCDIR}
|
||||
PATTERN "INSTALL-BINARY" EXCLUDE
|
||||
PATTERN "Makefile.*" EXCLUDE
|
||||
PATTERN "myisam.txt" EXCLUDE
|
||||
PATTERN "glibc*" EXCLUDE
|
||||
PATTERN "sp-imp-spec.txt" EXCLUDE
|
||||
PATTERN "linuxthreads.txt" EXCLUDE
|
||||
)
|
||||
|
@ -80,9 +80,6 @@ IF(FEATURE_SET)
|
||||
ENDFOREACH()
|
||||
ENDIF()
|
||||
|
||||
SET(WITHOUT_AUDIT_NULL ON CACHE BOOL "")
|
||||
SET(WITHOUT_DAEMON_EXAMPLE ON CACHE BOOL "")
|
||||
|
||||
OPTION(ENABLE_LOCAL_INFILE "" ON)
|
||||
SET(WITH_SSL bundled CACHE STRING "")
|
||||
SET(WITH_ZLIB bundled CACHE STRING "")
|
||||
@ -122,8 +119,12 @@ IF(UNIX)
|
||||
IF(CMAKE_SYSTEM_NAME MATCHES "HP-UX")
|
||||
IF(CMAKE_C_COMPILER_ID MATCHES "HP")
|
||||
IF(CMAKE_SYSTEM_PROCESSOR MATCHES "ia64")
|
||||
SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-g +O2 +DD64 +DSitanium2 -mt -AC99")
|
||||
SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-g +O2 +DD64 +DSitanium2 -mt -Aa")
|
||||
SET(CMAKE_C_FLAGS
|
||||
"${CMAKE_C_FLAGS} +DD64 +DSitanium2 -mt -AC99")
|
||||
SET(CMAKE_CXX_FLAGS
|
||||
"${CMAKE_CXX_FLAGS} +DD64 +DSitanium2 -mt -Aa")
|
||||
SET(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS} +O2")
|
||||
SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS} +O2")
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
SET(WITH_SSL)
|
||||
@ -132,15 +133,16 @@ IF(UNIX)
|
||||
# Linux flags
|
||||
IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
|
||||
IF(CMAKE_C_COMPILER_ID MATCHES "Intel")
|
||||
SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-static-intel -g -O3 -unroll2 -ip -mp -restrict")
|
||||
SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-static-intel -g -O3 -unroll2 -ip -mp -restrict")
|
||||
SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-static-intel -static-libgcc -g -O3 -unroll2 -ip -mp -restrict -no-ftz -no-prefetch")
|
||||
SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-static-intel -static-libgcc -g -O3 -unroll2 -ip -mp -restrict -no-ftz -no-prefetch")
|
||||
SET(WITH_SSL no)
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
# OSX flags
|
||||
IF(APPLE)
|
||||
SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-Os ${CMAKE_C_FLAGS_RELWITHDEBINFO}")
|
||||
SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-Os ${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
|
||||
SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-g -Os -fno-common")
|
||||
SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-g -Os -felide-constructors -fno-common")
|
||||
ENDIF()
|
||||
|
||||
# Solaris flags
|
||||
|
@ -14,99 +14,184 @@
|
||||
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
# The purpose of this file is to set the default installation layout.
|
||||
# Currently, there are 2 different installation layouts ,
|
||||
# one is used in tar.gz packages (Windows zip is about the same), another one
|
||||
# in RPMs.
|
||||
|
||||
# There are currently 2 layouts defines, named STANDALONE (tar.gz layout)
|
||||
# and UNIX (rpm layout). To force a directory layout when invoking cmake use
|
||||
# -DINSTALL_LAYOUT=[STANDALONE|UNIX].
|
||||
# This wil use a predefined layout. There is a possibility to further fine-tune
|
||||
# installation directories. Several variables are can be overwritten
|
||||
#
|
||||
# - INSTALL_BINDIR (directory with client executables and Unix shell scripts)
|
||||
# - INSTALL_SBINDIR (directory with mysqld)
|
||||
# - INSTALL_LIBDIR (directory with client end embedded libraries)
|
||||
# - INSTALL_PLUGINDIR (directory for plugins)
|
||||
# - INSTALL_INCLUDEDIR (directory for MySQL headers)
|
||||
# - INSTALL_DOCDIR (documentation)
|
||||
# - INSTALL_MANDIR (man pages)
|
||||
# - INSTALL_SCRIPTDIR (several scripts, rarely used)
|
||||
# - INSTALL_MYSQLSHAREDIR (MySQL character sets and localized error messages)
|
||||
# - INSTALL_SHAREDIR (location of aclocal/mysql.m4)
|
||||
# - INSTALL_SQLBENCHDIR (sql-bench)
|
||||
# - INSTALL_MYSQLTESTDIR (mysql-test)
|
||||
# - INSTALL_DOCREADMEDIR (readme and similar)
|
||||
# - INSTALL_SUPPORTFILESDIR (used only in standalone installer)
|
||||
# The current choices of installation layout are:
|
||||
#
|
||||
# STANDALONE
|
||||
# Build with prefix=/usr/local/mysql, create tarball with install prefix="."
|
||||
# and relative links. Windows zip uses the same tarball layout but without
|
||||
# the build prefix.
|
||||
#
|
||||
# RPM
|
||||
# Build as per default RPM layout, with prefix=/usr
|
||||
#
|
||||
# DEB
|
||||
# Build as per STANDALONE, prefix=/opt/mysql-$major.$minor
|
||||
#
|
||||
# SVR4
|
||||
# Solaris package layout suitable for pkg* tools, prefix=/opt/mysql/mysql
|
||||
#
|
||||
# To force a directory layout, use -DINSTALL_LAYOUT=<layout>.
|
||||
#
|
||||
# The default is STANDALONE.
|
||||
#
|
||||
# There is the possibility to further fine-tune installation directories.
|
||||
# Several variables can be overwritten:
|
||||
#
|
||||
# - INSTALL_BINDIR (directory with client executables and scripts)
|
||||
# - INSTALL_SBINDIR (directory with mysqld)
|
||||
# - INSTALL_SCRIPTDIR (several scripts, rarely used)
|
||||
#
|
||||
# - INSTALL_LIBDIR (directory with client end embedded libraries)
|
||||
# - INSTALL_PLUGINDIR (directory for plugins)
|
||||
#
|
||||
# - INSTALL_INCLUDEDIR (directory for MySQL headers)
|
||||
#
|
||||
# - INSTALL_DOCDIR (documentation)
|
||||
# - INSTALL_DOCREADMEDIR (readme and similar)
|
||||
# - INSTALL_MANDIR (man pages)
|
||||
# - INSTALL_INFODIR (info pages)
|
||||
#
|
||||
# - INSTALL_SHAREDIR (location of aclocal/mysql.m4)
|
||||
# - INSTALL_MYSQLSHAREDIR (MySQL character sets and localized error messages)
|
||||
# - INSTALL_MYSQLTESTDIR (mysql-test)
|
||||
# - INSTALL_SQLBENCHDIR (sql-bench)
|
||||
# - INSTALL_SUPPORTFILESDIR (various extra support files)
|
||||
#
|
||||
# - INSTALL_MYSQLDATADIR (data directory)
|
||||
|
||||
# Default installation layout on Unix is UNIX (kent wants it so)
|
||||
IF(NOT INSTALL_LAYOUT)
|
||||
IF(WIN32)
|
||||
SET(DEFAULT_INSTALL_LAYOUT "STANDALONE")
|
||||
ELSE()
|
||||
SET(DEFAULT_INSTALL_LAYOUT "UNIX")
|
||||
ENDIF()
|
||||
SET(DEFAULT_INSTALL_LAYOUT "STANDALONE")
|
||||
ENDIF()
|
||||
|
||||
SET(INSTALL_LAYOUT "${DEFAULT_INSTALL_LAYOUT}"
|
||||
CACHE STRING "Installation directory layout. Options are: STANDALONE (as in zip or tar.gz installer) or UNIX")
|
||||
|
||||
IF(NOT INSTALL_LAYOUT MATCHES "STANDALONE")
|
||||
IF(NOT INSTALL_LAYOUT MATCHES "UNIX")
|
||||
SET(INSTALL_LAYOUT "${DEFAULT_INSTALL_LAYOUT}")
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
SET(INSTALL_LAYOUT "${DEFAULT_INSTALL_LAYOUT}"
|
||||
CACHE STRING "Installation directory layout. Options are: STANDALONE (as in zip or tar.gz installer) or UNIX")
|
||||
|
||||
IF(UNIX)
|
||||
IF(INSTALL_LAYOUT MATCHES "UNIX")
|
||||
IF(INSTALL_LAYOUT MATCHES "RPM")
|
||||
SET(default_prefix "/usr")
|
||||
ELSEIF(INSTALL_LAYOUT MATCHES "DEB")
|
||||
SET(default_prefix "/opt/${MYSQL_BASE_VERSION}")
|
||||
# This is required to avoid "cpack -GDEB" default of prefix=/usr
|
||||
SET(CPACK_SET_DESTDIR ON)
|
||||
ELSEIF(INSTALL_LAYOUT MATCHES "SVR4")
|
||||
SET(default_prefix "/opt/mysql/mysql")
|
||||
ELSE()
|
||||
SET(default_prefix "/usr/local/mysql")
|
||||
ENDIF()
|
||||
IF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
|
||||
SET(CMAKE_INSTALL_PREFIX ${default_prefix}
|
||||
SET(CMAKE_INSTALL_PREFIX ${default_prefix}
|
||||
CACHE PATH "install prefix" FORCE)
|
||||
ENDIF()
|
||||
SET(SYSCONFDIR "${CMAKE_INSTALL_PREFIX}/etc"
|
||||
SET(SYSCONFDIR "${CMAKE_INSTALL_PREFIX}/etc"
|
||||
CACHE PATH "config directory (for my.cnf)")
|
||||
MARK_AS_ADVANCED(SYSCONFDIR)
|
||||
ENDIF()
|
||||
|
||||
|
||||
|
||||
# STANDALONE layout
|
||||
SET(INSTALL_BINDIR_STANDALONE "bin")
|
||||
SET(INSTALL_SBINDIR_STANDALONE "bin")
|
||||
SET(INSTALL_LIBDIR_STANDALONE "lib")
|
||||
SET(INSTALL_INCLUDEDIR_STANDALONE "include")
|
||||
SET(INSTALL_PLUGINDIR_STANDALONE "lib/plugin")
|
||||
SET(INSTALL_DOCDIR_STANDALONE "docs")
|
||||
SET(INSTALL_MANDIR_STANDALONE "man")
|
||||
SET(INSTALL_MYSQLSHAREDIR_STANDALONE "share")
|
||||
SET(INSTALL_SHAREDIR_STANDALONE "share")
|
||||
SET(INSTALL_SCRIPTDIR_STANDALONE "scripts")
|
||||
SET(INSTALL_MYSQLTESTDIR_STANDALONE "mysql-test")
|
||||
SET(INSTALL_SQLBENCHROOTDIR_STANDALONE ".")
|
||||
SET(INSTALL_DOCREADMEDIR_STANDALONE ".")
|
||||
SET(INSTALL_SUPPORTFILESDIR_STANDALONE "support-files")
|
||||
SET(INSTALL_MYSQLDATADIR_STANDALONE "data")
|
||||
|
||||
# UNIX layout
|
||||
SET(INSTALL_BINDIR_UNIX "bin")
|
||||
SET(INSTALL_SBINDIR_UNIX "sbin")
|
||||
SET(INSTALL_LIBDIR_UNIX "lib/mysql")
|
||||
SET(INSTALL_PLUGINDIR_UNIX "lib/mysql/plugin")
|
||||
SET(INSTALL_DOCDIR_UNIX "share/mysql/doc/MySQL-server-${MYSQL_NO_DASH_VERSION}")
|
||||
SET(INSTALL_MANDIR_UNIX "share/mysql/man")
|
||||
SET(INSTALL_INCLUDEDIR_UNIX "include/mysql")
|
||||
SET(INSTALL_MYSQLSHAREDIR_UNIX "share/mysql")
|
||||
SET(INSTALL_SHAREDIR_UNIX "share")
|
||||
SET(INSTALL_SCRIPTDIR_UNIX "bin")
|
||||
SET(INSTALL_MYSQLTESTDIR_UNIX "mysql-test")
|
||||
SET(INSTALL_SQLBENCHROOTDIR_UNIX "")
|
||||
SET(INSTALL_DOCREADMEDIR_UNIX "share/mysql/doc/MySQL-server-${MYSQL_NO_DASH_VERSION}")
|
||||
SET(INSTALL_SUPPORTFILESDIR_UNIX "")
|
||||
SET(INSTALL_MYSQLDATADIR_UNIX "var")
|
||||
#
|
||||
# STANDALONE layout
|
||||
#
|
||||
SET(INSTALL_BINDIR_STANDALONE "bin")
|
||||
SET(INSTALL_SBINDIR_STANDALONE "bin")
|
||||
SET(INSTALL_SCRIPTDIR_STANDALONE "scripts")
|
||||
#
|
||||
SET(INSTALL_LIBDIR_STANDALONE "lib")
|
||||
SET(INSTALL_PLUGINDIR_STANDALONE "lib/plugin")
|
||||
#
|
||||
SET(INSTALL_INCLUDEDIR_STANDALONE "include")
|
||||
#
|
||||
SET(INSTALL_DOCDIR_STANDALONE "docs")
|
||||
SET(INSTALL_DOCREADMEDIR_STANDALONE ".")
|
||||
SET(INSTALL_MANDIR_STANDALONE "man")
|
||||
SET(INSTALL_INFODIR_STANDALONE "docs")
|
||||
#
|
||||
SET(INSTALL_SHAREDIR_STANDALONE "share")
|
||||
SET(INSTALL_MYSQLSHAREDIR_STANDALONE "share")
|
||||
SET(INSTALL_MYSQLTESTDIR_STANDALONE "mysql-test")
|
||||
SET(INSTALL_SQLBENCHDIR_STANDALONE ".")
|
||||
SET(INSTALL_SUPPORTFILESDIR_STANDALONE "support-files")
|
||||
#
|
||||
SET(INSTALL_MYSQLDATADIR_STANDALONE "data")
|
||||
|
||||
#
|
||||
# RPM layout
|
||||
#
|
||||
SET(INSTALL_BINDIR_RPM "bin")
|
||||
SET(INSTALL_SBINDIR_RPM "sbin")
|
||||
SET(INSTALL_SCRIPTDIR_RPM "bin")
|
||||
#
|
||||
IF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64")
|
||||
SET(INSTALL_LIBDIR_RPM "lib64")
|
||||
SET(INSTALL_PLUGINDIR_RPM "lib64/mysql/plugin")
|
||||
ELSE()
|
||||
SET(INSTALL_LIBDIR_RPM "lib")
|
||||
SET(INSTALL_PLUGINDIR_RPM "lib/mysql/plugin")
|
||||
ENDIF()
|
||||
#
|
||||
SET(INSTALL_INCLUDEDIR_RPM "include/mysql")
|
||||
#
|
||||
#SET(INSTALL_DOCDIR_RPM unset - installed directly by RPM)
|
||||
#SET(INSTALL_DOCREADMEDIR_RPM unset - installed directly by RPM)
|
||||
SET(INSTALL_INFODIR_RPM "share/info")
|
||||
SET(INSTALL_MANDIR_RPM "share/man")
|
||||
#
|
||||
SET(INSTALL_SHAREDIR_RPM "share")
|
||||
SET(INSTALL_MYSQLSHAREDIR_RPM "share/mysql")
|
||||
SET(INSTALL_MYSQLTESTDIR_RPM "share/mysql-test")
|
||||
SET(INSTALL_SQLBENCHDIR_RPM "")
|
||||
SET(INSTALL_SUPPORTFILESDIR_RPM "share/mysql")
|
||||
#
|
||||
SET(INSTALL_MYSQLDATADIR_RPM "/var/lib/mysql")
|
||||
|
||||
#
|
||||
# DEB layout
|
||||
#
|
||||
SET(INSTALL_BINDIR_DEB "bin")
|
||||
SET(INSTALL_SBINDIR_DEB "bin")
|
||||
SET(INSTALL_SCRIPTDIR_DEB "scripts")
|
||||
#
|
||||
SET(INSTALL_LIBDIR_DEB "lib")
|
||||
SET(INSTALL_PLUGINDIR_DEB "lib/plugin")
|
||||
#
|
||||
SET(INSTALL_INCLUDEDIR_DEB "include")
|
||||
#
|
||||
SET(INSTALL_DOCDIR_DEB "docs")
|
||||
SET(INSTALL_DOCREADMEDIR_DEB ".")
|
||||
SET(INSTALL_MANDIR_DEB "man")
|
||||
SET(INSTALL_INFODIR_DEB "docs")
|
||||
#
|
||||
SET(INSTALL_SHAREDIR_DEB "share")
|
||||
SET(INSTALL_MYSQLSHAREDIR_DEB "share")
|
||||
SET(INSTALL_MYSQLTESTDIR_DEB "mysql-test")
|
||||
SET(INSTALL_SQLBENCHDIR_DEB ".")
|
||||
SET(INSTALL_SUPPORTFILESDIR_DEB "support-files")
|
||||
#
|
||||
SET(INSTALL_MYSQLDATADIR_DEB "data")
|
||||
|
||||
#
|
||||
# SVR4 layout
|
||||
#
|
||||
SET(INSTALL_BINDIR_SVR4 "bin")
|
||||
SET(INSTALL_SBINDIR_SVR4 "bin")
|
||||
SET(INSTALL_SCRIPTDIR_SVR4 "scripts")
|
||||
#
|
||||
SET(INSTALL_LIBDIR_SVR4 "lib")
|
||||
SET(INSTALL_PLUGINDIR_SVR4 "lib/plugin")
|
||||
#
|
||||
SET(INSTALL_INCLUDEDIR_SVR4 "include")
|
||||
#
|
||||
SET(INSTALL_DOCDIR_SVR4 "docs")
|
||||
SET(INSTALL_DOCREADMEDIR_SVR4 ".")
|
||||
SET(INSTALL_MANDIR_SVR4 "man")
|
||||
SET(INSTALL_INFODIR_SVR4 "docs")
|
||||
#
|
||||
SET(INSTALL_SHAREDIR_SVR4 "share")
|
||||
SET(INSTALL_MYSQLSHAREDIR_SVR4 "share")
|
||||
SET(INSTALL_MYSQLTESTDIR_SVR4 "mysql-test")
|
||||
SET(INSTALL_SQLBENCHDIR_SVR4 ".")
|
||||
SET(INSTALL_SUPPORTFILESDIR_SVR4 "support-files")
|
||||
#
|
||||
SET(INSTALL_MYSQLDATADIR_SVR4 "/var/lib/mysql")
|
||||
|
||||
|
||||
# Clear cached variables if install layout was changed
|
||||
@ -117,12 +202,12 @@ IF(OLD_INSTALL_LAYOUT)
|
||||
ENDIF()
|
||||
SET(OLD_INSTALL_LAYOUT ${INSTALL_LAYOUT} CACHE INTERNAL "")
|
||||
|
||||
# Set INSTALL_FOODIR variables for chosen layout
|
||||
# (for example, INSTALL_BINDIR will be defined as
|
||||
# ${INSTALL_BINDIR_STANDALONE} by default if STANDALONE layout is chosen)
|
||||
FOREACH(var BIN SBIN LIB MYSQLSHARE SHARE PLUGIN INCLUDE SCRIPT DOC MAN
|
||||
MYSQLTEST SQLBENCHROOT DOCREADME SUPPORTFILES MYSQLDATA)
|
||||
SET(INSTALL_${var}DIR ${INSTALL_${var}DIR_${INSTALL_LAYOUT}}
|
||||
# Set INSTALL_FOODIR variables for chosen layout (for example, INSTALL_BINDIR
|
||||
# will be defined as ${INSTALL_BINDIR_STANDALONE} by default if STANDALONE
|
||||
# layout is chosen)
|
||||
FOREACH(var BIN SBIN LIB MYSQLSHARE SHARE PLUGIN INCLUDE SCRIPT DOC MAN
|
||||
INFO MYSQLTEST SQLBENCH DOCREADME SUPPORTFILES MYSQLDATA)
|
||||
SET(INSTALL_${var}DIR ${INSTALL_${var}DIR_${INSTALL_LAYOUT}}
|
||||
CACHE STRING "${var} installation directory" ${FORCE})
|
||||
MARK_AS_ADVANCED(INSTALL_${var}DIR)
|
||||
ENDFOREACH()
|
||||
|
@ -173,7 +173,7 @@ FUNCTION(INSTALL_DEBUG_TARGET target)
|
||||
""
|
||||
${ARGN}
|
||||
)
|
||||
GET_TARGET_PROPERTY(target_type ${target} TYPE)
|
||||
GET_TARGET_PROPERTY(target_type ${target} TYPE)
|
||||
IF(ARG_RENAME)
|
||||
SET(RENAME_PARAM RENAME ${ARG_RENAME}${CMAKE_${target_type}_SUFFIX})
|
||||
ELSE()
|
||||
@ -189,9 +189,40 @@ FUNCTION(INSTALL_DEBUG_TARGET target)
|
||||
STRING(REPLACE "${CMAKE_CFG_INTDIR}" "Debug" debug_target_location "${target_location}" )
|
||||
ENDIF()
|
||||
|
||||
# Define permissions
|
||||
# For executable files
|
||||
SET(PERMISSIONS_EXECUTABLE
|
||||
PERMISSIONS
|
||||
OWNER_READ OWNER_WRITE OWNER_EXECUTE
|
||||
GROUP_READ GROUP_EXECUTE
|
||||
WORLD_READ WORLD_EXECUTE)
|
||||
|
||||
# Permissions for shared library (honors CMAKE_INSTALL_NO_EXE which is
|
||||
# typically set on Debian)
|
||||
IF(CMAKE_INSTALL_SO_NO_EXE)
|
||||
SET(PERMISSIONS_SHARED_LIBRARY
|
||||
PERMISSIONS
|
||||
OWNER_READ OWNER_WRITE
|
||||
GROUP_READ
|
||||
WORLD_READ)
|
||||
ELSE()
|
||||
SET(PERMISSIONS_SHARED_LIBRARY ${PERMISSIONS_EXECUTABLE})
|
||||
ENDIF()
|
||||
|
||||
# Shared modules get the same permissions as shared libraries
|
||||
SET(PERMISSIONS_MODULE_LIBRARY ${PERMISSIONS_SHARED_LIBRARY})
|
||||
|
||||
# Define permissions for static library
|
||||
SET(PERMISSIONS_STATIC_LIBRARY
|
||||
PERMISSIONS
|
||||
OWNER_READ OWNER_WRITE
|
||||
GROUP_READ
|
||||
WORLD_READ)
|
||||
|
||||
INSTALL(FILES ${debug_target_location}
|
||||
DESTINATION ${ARG_DESTINATION}
|
||||
${RENAME_PARAM}
|
||||
${PERMISSIONS_${target_type}}
|
||||
CONFIGURATIONS Release RelWithDebInfo
|
||||
OPTIONAL)
|
||||
|
||||
|
@ -55,6 +55,7 @@ MACRO(GET_MYSQL_VERSION)
|
||||
ENDIF()
|
||||
|
||||
SET(VERSION ${VERSION_STRING})
|
||||
STRING(REPLACE "-" "_" MYSQL_U_SCORE_VERSION "${VERSION_STRING}")
|
||||
|
||||
# Remove trailing (non-numeric) part of the version string
|
||||
STRING(REGEX REPLACE "[^\\.0-9].*" "" VERSION_STRING ${VERSION_STRING})
|
||||
@ -106,6 +107,7 @@ ENDIF()
|
||||
IF(NOT CPACK_SOURCE_PACKAGE_FILE_NAME)
|
||||
SET(CPACK_SOURCE_PACKAGE_FILE_NAME "mysql-${VERSION}")
|
||||
ENDIF()
|
||||
SET(CPACK_PACKAGE_CONTACT "MySQL Build Team <build@mysql.com>")
|
||||
SET(CPACK_PACKAGE_VENDOR "Sun Microsystems, Inc")
|
||||
SET(CPACK_SOURCE_GENERATOR "TGZ")
|
||||
INCLUDE(cpack_source_ignore_files)
|
||||
@ -114,6 +116,16 @@ INCLUDE(cpack_source_ignore_files)
|
||||
SET(PRODUCTNAME "MySQL Server")
|
||||
SET(COMPANYNAME ${CPACK_PACKAGE_VENDOR})
|
||||
|
||||
# Windows 'date' command has unpredictable output, so cannot rely on it to
|
||||
# set MYSQL_COPYRIGHT_YEAR - if someone finds a portable way to do so then
|
||||
# it might be useful
|
||||
#IF (WIN32)
|
||||
# EXECUTE_PROCESS(COMMAND "date" "/T" OUTPUT_VARIABLE TMP_DATE)
|
||||
# STRING(REGEX REPLACE "(..)/(..)/..(..).*" "\\3\\2\\1" MYSQL_COPYRIGHT_YEAR ${TMP_DATE})
|
||||
IF(UNIX)
|
||||
EXECUTE_PROCESS(COMMAND "date" "+%Y" OUTPUT_VARIABLE MYSQL_COPYRIGHT_YEAR OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
ENDIF()
|
||||
|
||||
# Add version information to the exe and dll files
|
||||
# Refer to http://msdn.microsoft.com/en-us/library/aa381058(VS.85).aspx
|
||||
# for more info.
|
||||
|
@ -174,6 +174,7 @@ MACRO(MYSQL_ADD_PLUGIN)
|
||||
OUTPUT_NAME "${ARG_MODULE_OUTPUT_NAME}")
|
||||
# Install dynamic library
|
||||
MYSQL_INSTALL_TARGETS(${target} DESTINATION ${INSTALL_PLUGINDIR})
|
||||
INSTALL_DEBUG_TARGET(${target} DESTINATION ${INSTALL_PLUGINDIR}/debug)
|
||||
ENDIF()
|
||||
ENDMACRO()
|
||||
|
||||
|
@ -38,6 +38,7 @@
|
||||
#cmakedefine HAVE_FPU_CONTROL_H 1
|
||||
#cmakedefine HAVE_GRP_H 1
|
||||
#cmakedefine HAVE_EXPLICIT_TEMPLATE_INSTANTIATION 1
|
||||
#cmakedefine HAVE_IA64INTRIN_H 1
|
||||
#cmakedefine HAVE_IEEEFP_H 1
|
||||
#cmakedefine HAVE_INTTYPES_H 1
|
||||
#cmakedefine HAVE_LIMITS_H 1
|
||||
|
@ -171,15 +171,24 @@ IF(UNIX)
|
||||
SET(${OUTNAME} ${LIBNAME}${EXTENSION}${DOT_VERSION})
|
||||
ENDIF()
|
||||
ENDMACRO()
|
||||
INSTALL_SYMLINK(${CMAKE_STATIC_LIBRARY_PREFIX}mysqlclient_r.a mysqlclient ${INSTALL_LIBDIR})
|
||||
ENDIF()
|
||||
|
||||
IF(NOT DISABLE_SHARED)
|
||||
MERGE_LIBRARIES(libmysql SHARED ${LIBS} EXPORTS ${CLIENT_API_FUNCTIONS})
|
||||
IF(UNIX)
|
||||
# libtool compatability
|
||||
IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR APPLE)
|
||||
SET(OS_SHARED_LIB_VERSION "${SHARED_LIB_MAJOR_VERSION}")
|
||||
ELSEIF(CMAKE_SYSTEM_NAME MATCHES "HP-UX")
|
||||
SET(OS_SHARED_LIB_VERSION "${SHARED_LIB_MAJOR_VERSION}.0")
|
||||
ELSE()
|
||||
SET(OS_SHARED_LIB_VERSION "${SHARED_LIB_MAJOR_VERSION}.0.0")
|
||||
ENDIF()
|
||||
# Name of shared library is mysqlclient on Unix
|
||||
SET_TARGET_PROPERTIES(libmysql PROPERTIES
|
||||
OUTPUT_NAME mysqlclient
|
||||
VERSION "${SHARED_LIB_MAJOR_VERSION}.0.0"
|
||||
VERSION "${OS_SHARED_LIB_VERSION}"
|
||||
SOVERSION "${SHARED_LIB_MAJOR_VERSION}")
|
||||
IF(LINK_FLAG_NO_UNDEFINED)
|
||||
GET_TARGET_PROPERTY(libmysql_link_flags libmysql LINK_FLAGS)
|
||||
@ -194,14 +203,21 @@ IF(NOT DISABLE_SHARED)
|
||||
SET_TARGET_PROPERTIES(mysqlclient PROPERTIES CLEAN_DIRECT_OUTPUT 1)
|
||||
SET_TARGET_PROPERTIES(libmysql PROPERTIES CLEAN_DIRECT_OUTPUT 1)
|
||||
|
||||
# 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 links to libmysqlclient.so (client_r)
|
||||
GET_VERSIONED_LIBNAME(
|
||||
"${CMAKE_SHARED_LIBRARY_PREFIX}mysqlclient_r"
|
||||
"${CMAKE_SHARED_LIBRARY_SUFFIX}"
|
||||
""
|
||||
linkname)
|
||||
INSTALL_SYMLINK(${linkname} libmysql ${INSTALL_LIBDIR})
|
||||
SET(OS_SHARED_LIB_SYMLINKS "${SHARED_LIB_MAJOR_VERSION}" "${OS_SHARED_LIB_VERSION}")
|
||||
LIST(REMOVE_DUPLICATES OS_SHARED_LIB_SYMLINKS)
|
||||
FOREACH(ver ${OS_SHARED_LIB_SYMLINKS})
|
||||
GET_VERSIONED_LIBNAME(
|
||||
"${CMAKE_SHARED_LIBRARY_PREFIX}mysqlclient_r"
|
||||
"${CMAKE_SHARED_LIBRARY_SUFFIX}"
|
||||
"${ver}"
|
||||
linkname)
|
||||
INSTALL_SYMLINK(${linkname} libmysql ${INSTALL_LIBDIR})
|
||||
ENDFOREACH()
|
||||
ENDIF()
|
||||
|
@ -133,7 +133,7 @@ ENDIF()
|
||||
|
||||
IF(UNIX)
|
||||
INSTALL_DEBUG_TARGET(mysqlserver DESTINATION ${INSTALL_LIBDIR} RENAME
|
||||
${CMAKE_STATIC_LIBRARY_PREFIX}/mysqld-debug)
|
||||
${CMAKE_STATIC_LIBRARY_PREFIX}mysqld-debug)
|
||||
ENDIF()
|
||||
|
||||
IF(MSVC AND NOT DISABLE_SHARED)
|
||||
|
@ -23,7 +23,9 @@ INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include
|
||||
ADD_DEFINITIONS(-DEMBEDDED_LIBRARY -UMYSQL_CLIENT)
|
||||
|
||||
|
||||
MYSQL_ADD_EXECUTABLE(mysql_embedded ../../client/completion_hash.cc
|
||||
# We never use "mysql_embedded", is more of a linktest, so we don't
|
||||
# use MYSQL_ADD_EXECUTABLE as that would install it and package it
|
||||
ADD_EXECUTABLE(mysql_embedded ../../client/completion_hash.cc
|
||||
../../client/mysql.cc ../../client/readline.cc)
|
||||
TARGET_LINK_LIBRARIES(mysql_embedded mysqlserver)
|
||||
IF(UNIX)
|
||||
|
@ -15,8 +15,12 @@
|
||||
|
||||
# Copy man pages
|
||||
FILE(GLOB MAN1_FILES *.1)
|
||||
FILE(GLOB MAN1_EXCLUDE make_win_bin_dist.1)
|
||||
FILE(GLOB MAN8_FILES *.8)
|
||||
IF(MAN1_FILES)
|
||||
IF(MAN1_EXCLUDE)
|
||||
LIST(REMOVE_ITEM MAN1_FILES ${MAN1_EXCLUDE})
|
||||
ENDIF()
|
||||
INSTALL(FILES ${MAN1_FILES} DESTINATION ${INSTALL_MANDIR}/man1)
|
||||
ENDIF()
|
||||
IF(MAN8_FILES)
|
||||
|
@ -18,6 +18,7 @@ INSTALL(
|
||||
DESTINATION ${INSTALL_MYSQLTESTDIR}
|
||||
PATTERN "var/" EXCLUDE
|
||||
PATTERN "lib/My/SafeProcess" EXCLUDE
|
||||
PATTERN "lib/t*" EXCLUDE
|
||||
PATTERN "CPack" EXCLUDE
|
||||
PATTERN "CMake*" EXCLUDE
|
||||
PATTERN "mtr.out*" EXCLUDE
|
||||
|
@ -13,4 +13,5 @@
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
MYSQL_ADD_PLUGIN(audit_null audit_null.c)
|
||||
MYSQL_ADD_PLUGIN(audit_null audit_null.c
|
||||
MODULE_ONLY MODULE_OUTPUT_NAME "adt_null")
|
||||
|
@ -13,4 +13,5 @@
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
MYSQL_ADD_PLUGIN(daemon_example daemon_example.cc MODULE_ONLY)
|
||||
MYSQL_ADD_PLUGIN(daemon_example daemon_example.cc
|
||||
MODULE_ONLY MODULE_OUTPUT_NAME "libdaemon_example")
|
||||
|
@ -13,5 +13,5 @@
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
|
||||
MYSQL_ADD_PLUGIN(ftexample plugin_example.c MODULE_ONLY MODULE_OUTPUT_NAME mypluglib)
|
||||
MYSQL_ADD_PLUGIN(ftexample plugin_example.c
|
||||
MODULE_ONLY MODULE_OUTPUT_NAME "mypluglib")
|
||||
|
@ -93,6 +93,10 @@ IF(CMAKE_GENERATOR MATCHES "Makefiles")
|
||||
# No multiconfig build - use CMAKE_C_FLAGS
|
||||
SET(CFLAGS "@CMAKE_C_FLAGS@")
|
||||
SET(CXXFLAGS "@CMAKE_CXX_FLAGS@")
|
||||
FOREACH(ARCH ${CMAKE_OSX_ARCHITECTURES})
|
||||
SET(CFLAGS "${CFLAGS} -arch ${ARCH}")
|
||||
SET(CXXFLAGS "${CXXFLAGS} -arch ${ARCH}")
|
||||
ENDFOREACH()
|
||||
ELSE()
|
||||
# Multiconfig build - use CMAKE_C_FLAGS_RELWITHDEBINFO
|
||||
SET(CFLAGS "@CMAKE_C_FLAGS_RELWITHDEBINFO@")
|
||||
@ -134,11 +138,10 @@ ELSE()
|
||||
SET(CHECK_PID "kill -s SIGCONT $PID > /dev/null 2> /dev/null")
|
||||
ENDIF()
|
||||
|
||||
SET(HOSTNAME "hostname")
|
||||
|
||||
ENDIF(UNIX)
|
||||
|
||||
|
||||
|
||||
|
||||
# Really ugly, one script, "mysql_install_db", needs prefix set to ".",
|
||||
# i.e. makes access relative the current directory. This matches
|
||||
# the documentation, so better not change this.
|
||||
@ -298,14 +301,13 @@ ELSE()
|
||||
mysql_secure_installation
|
||||
mysql_zap
|
||||
mysqlaccess
|
||||
mysqlaccess.conf
|
||||
mysqlbug
|
||||
mysql_convert_table_format
|
||||
mysql_find_rows
|
||||
mysqlhotcopy
|
||||
mysqldumpslow
|
||||
mysqld_multi
|
||||
mysqlaccess
|
||||
mysqlaccess.conf
|
||||
mysqld_safe
|
||||
)
|
||||
FOREACH(file ${BIN_SCRIPTS})
|
||||
|
@ -306,7 +306,7 @@ set_malloc_lib() {
|
||||
malloc_lib=
|
||||
# This list is kept intentionally simple. Simply set --malloc-lib
|
||||
# to a full path if another location is desired.
|
||||
for libdir in /usr/lib "$pkglibdir"; do
|
||||
for libdir in /usr/lib "$pkglibdir" "$pkglibdir/mysql"; do
|
||||
for flavor in _minimal '' _and_profiler _debug; do
|
||||
tmp="$libdir/libtcmalloc$flavor.so"
|
||||
#log_notice "DEBUG: Checking for malloc lib '$tmp'"
|
||||
|
@ -18,23 +18,22 @@ FILE(GLOB all_files
|
||||
${CMAKE_SOURCE_DIR}/sql-bench/*
|
||||
${CMAKE_SOURCE_DIR}/sql-bench/Data/ATIS/*
|
||||
${CMAKE_SOURCE_DIR}/sql-bench/Data/Wisconsin/*
|
||||
${CMAKE_SOURCE_DIR}/sql-bench/Comments/*
|
||||
${CMAKE_SOURCE_DIR}/sql-bench/limits/*
|
||||
)
|
||||
|
||||
IF(NOT INSTALL_SQLBENCHROOTDIR)
|
||||
IF(NOT INSTALL_SQLBENCHDIR)
|
||||
RETURN()
|
||||
ENDIF()
|
||||
|
||||
IF(INSTALL_SQLBENCHROOTDIR STREQUAL ".")
|
||||
IF(INSTALL_SQLBENCHDIR STREQUAL ".")
|
||||
SET(prefix)
|
||||
ELSE()
|
||||
SET(prefix ${INSTALL_SQLBENCHROOTDIR}/)
|
||||
SET(prefix ${INSTALL_SQLBENCHDIR}/)
|
||||
ENDIF()
|
||||
|
||||
GET_FILENAME_COMPONENT(basedir ${CMAKE_SOURCE_DIR} ABSOLUTE)
|
||||
FOREACH(file ${all_files})
|
||||
IF(NOT IS_DIRECTORY ${file} AND NOT ${file} MATCHES "Make" )
|
||||
IF(NOT IS_DIRECTORY ${file} AND NOT ${file} MATCHES "Make|as3ap|/example$" )
|
||||
FILE(RELATIVE_PATH relpath ${basedir} ${file})
|
||||
SET(target_relpath ${relpath})
|
||||
GET_FILENAME_COMPONENT(ext ${file} EXT)
|
||||
|
@ -280,7 +280,8 @@ IF(WIN32 AND MYSQLD_EXECUTABLE)
|
||||
ALL
|
||||
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/data/mysql/user.frm
|
||||
)
|
||||
INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/data/mysql DESTINATION data)
|
||||
INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/data DESTINATION .
|
||||
PATTERN "bootstrap.sql" EXCLUDE)
|
||||
ELSE()
|
||||
# Not windows or cross compiling, just install an empty directory
|
||||
INSTALL(FILES ${DUMMY_FILE} DESTINATION data/mysql)
|
||||
|
@ -29,16 +29,15 @@ ELSE()
|
||||
SET(CXXFLAGS ${CMAKE_CXX_FLAGS})
|
||||
SET(MYSQLD_USER "mysql")
|
||||
SET(ini_file_extension "cnf")
|
||||
SET(HOSTNAME "hostname")
|
||||
ENDIF()
|
||||
|
||||
IF(UNIX)
|
||||
IF(INSTALL_LAYOUT MATCHES "STANDALONE")
|
||||
SET(inst_location ${INSTALL_SUPPORTFILESDIR})
|
||||
ELSE()
|
||||
SET(inst_location ${INSTALL_DOCREADMEDIR})
|
||||
ENDIF()
|
||||
ELSE()
|
||||
# XXX: shouldn't we just have variables for all this stuff and centralise
|
||||
# XXX: their configuration in install_layout.cmake?
|
||||
IF(WIN32)
|
||||
SET(inst_location ${INSTALL_DOCREADMEDIR})
|
||||
ELSE()
|
||||
SET(inst_location ${INSTALL_SUPPORTFILESDIR})
|
||||
ENDIF()
|
||||
|
||||
FOREACH(inifile my-huge my-innodb-heavy-4G my-large my-medium my-small)
|
||||
@ -48,14 +47,13 @@ FOREACH(inifile my-huge my-innodb-heavy-4G my-large my-medium my-small)
|
||||
ENDFOREACH()
|
||||
|
||||
IF(UNIX)
|
||||
# XXX: again, used elsewhere (scripts/), should be standardised in
|
||||
# XXX: install_layout.cmake
|
||||
IF(INSTALL_LAYOUT MATCHES "STANDALONE")
|
||||
SET(prefix ".")
|
||||
SET(inst_location ${INSTALL_SUPPORTFILESDIR})
|
||||
ELSE()
|
||||
SET(prefix ${CMAKE_INSTALL_PREFIX})
|
||||
SET(inst_location ${INSTALL_MYSQLSHAREDIR})
|
||||
ENDIF()
|
||||
|
||||
|
||||
FOREACH(script mysqld_multi.server mysql-log-rotate binary-configure
|
||||
config.medium.ini config.small.ini config.huge.ini ndb-config-2-node.ini)
|
||||
|
Loading…
x
Reference in New Issue
Block a user