Commit 31cc7f2e authored by Jonathan Perkin's avatar Jonathan Perkin

Tidy.

parent 6ca0c6f5
...@@ -14,54 +14,60 @@ ...@@ -14,54 +14,60 @@
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
# The purpose of this file is to set the default installation layout. # 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) # The current choices of installation layout are:
# - INSTALL_SBINDIR (directory with mysqld) #
# - INSTALL_LIBDIR (directory with client end embedded libraries) # STANDALONE
# - INSTALL_PLUGINDIR (directory for plugins) # Build with prefix=/usr/local/mysql, create tarball with install prefix="."
# - INSTALL_INCLUDEDIR (directory for MySQL headers) # and relative links. Windows zip uses the same tarball layout but without
# - INSTALL_DOCDIR (documentation) # the build prefix.
# - INSTALL_MANDIR (man pages) #
# - INSTALL_SCRIPTDIR (several scripts, rarely used) # RPM
# - INSTALL_MYSQLSHAREDIR (MySQL character sets and localized error messages) # Build as per default RPM layout, with prefix=/usr
# - INSTALL_SHAREDIR (location of aclocal/mysql.m4) #
# - INSTALL_SQLBENCHDIR (sql-bench) # SVR4
# - INSTALL_MYSQLTESTDIR (mysql-test) # Solaris package layout suitable for pkg* tools, prefix=/opt/mysql/mysql
# - INSTALL_DOCREADMEDIR (readme and similar) #
# 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_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) # - INSTALL_SUPPORTFILESDIR (used only in standalone installer)
# Default installation layout on Unix is UNIX (kent wants it so)
IF(NOT INSTALL_LAYOUT) IF(NOT INSTALL_LAYOUT)
IF(WIN32) SET(DEFAULT_INSTALL_LAYOUT "STANDALONE")
SET(DEFAULT_INSTALL_LAYOUT "STANDALONE")
ELSE()
SET(DEFAULT_INSTALL_LAYOUT "UNIX")
ENDIF()
ENDIF() ENDIF()
SET(INSTALL_LAYOUT "${DEFAULT_INSTALL_LAYOUT}" SET(INSTALL_LAYOUT "${DEFAULT_INSTALL_LAYOUT}"
CACHE STRING "Installation directory layout. Options are: STANDALONE (as in zip or tar.gz installer) or UNIX") 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 "STANDALONE")
IF(NOT INSTALL_LAYOUT MATCHES "UNIX") # IF(NOT INSTALL_LAYOUT MATCHES "UNIX")
# XXX not keen on this, how many more will we need? prefer to just bail... # # XXX not keen on this, how many more will we need? prefer to just bail...
IF(NOT INSTALL_LAYOUT MATCHES "SVR4") # IF(NOT INSTALL_LAYOUT MATCHES "SVR4")
SET(INSTALL_LAYOUT "${DEFAULT_INSTALL_LAYOUT}") # SET(INSTALL_LAYOUT "${DEFAULT_INSTALL_LAYOUT}")
ENDIF() # ENDIF()
ENDIF() # ENDIF()
ENDIF() #ENDIF()
IF(UNIX) IF(UNIX)
IF(INSTALL_LAYOUT MATCHES "UNIX") IF(INSTALL_LAYOUT MATCHES "UNIX")
SET(default_prefix "/usr") SET(default_prefix "/usr")
ELSEIF(INSTALL_LAYOUT MATCHES "SVR4") ELSEIF(INSTALL_LAYOUT MATCHES "SVR4")
SET(default_prefix "/opt/mysql/mysql") SET(default_prefix "/opt/mysql/mysql")
...@@ -69,67 +75,64 @@ IF(UNIX) ...@@ -69,67 +75,64 @@ IF(UNIX)
SET(default_prefix "/usr/local/mysql") SET(default_prefix "/usr/local/mysql")
ENDIF() ENDIF()
IF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) IF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
SET(CMAKE_INSTALL_PREFIX ${default_prefix} SET(CMAKE_INSTALL_PREFIX ${default_prefix}
CACHE PATH "install prefix" FORCE) CACHE PATH "install prefix" FORCE)
ENDIF() ENDIF()
SET(SYSCONFDIR "${CMAKE_INSTALL_PREFIX}/etc" SET(SYSCONFDIR "${CMAKE_INSTALL_PREFIX}/etc"
CACHE PATH "config directory (for my.cnf)") CACHE PATH "config directory (for my.cnf)")
MARK_AS_ADVANCED(SYSCONFDIR) MARK_AS_ADVANCED(SYSCONFDIR)
ENDIF() ENDIF()
# STANDALONE layout
SET(INSTALL_BINDIR_STANDALONE "bin")
# STANDALONE layout SET(INSTALL_SBINDIR_STANDALONE "bin")
SET(INSTALL_BINDIR_STANDALONE "bin") SET(INSTALL_LIBDIR_STANDALONE "lib")
SET(INSTALL_SBINDIR_STANDALONE "bin") SET(INSTALL_INCLUDEDIR_STANDALONE "include")
SET(INSTALL_LIBDIR_STANDALONE "lib") SET(INSTALL_PLUGINDIR_STANDALONE "lib/plugin")
SET(INSTALL_INCLUDEDIR_STANDALONE "include") SET(INSTALL_DOCDIR_STANDALONE "docs")
SET(INSTALL_PLUGINDIR_STANDALONE "lib/plugin") SET(INSTALL_MANDIR_STANDALONE "man")
SET(INSTALL_DOCDIR_STANDALONE "docs") SET(INSTALL_MYSQLSHAREDIR_STANDALONE "share")
SET(INSTALL_MANDIR_STANDALONE "man") SET(INSTALL_SHAREDIR_STANDALONE "share")
SET(INSTALL_MYSQLSHAREDIR_STANDALONE "share") SET(INSTALL_SCRIPTDIR_STANDALONE "scripts")
SET(INSTALL_SHAREDIR_STANDALONE "share") SET(INSTALL_MYSQLTESTDIR_STANDALONE "mysql-test")
SET(INSTALL_SCRIPTDIR_STANDALONE "scripts") SET(INSTALL_SQLBENCHROOTDIR_STANDALONE ".")
SET(INSTALL_MYSQLTESTDIR_STANDALONE "mysql-test") SET(INSTALL_DOCREADMEDIR_STANDALONE ".")
SET(INSTALL_SQLBENCHROOTDIR_STANDALONE ".") SET(INSTALL_SUPPORTFILESDIR_STANDALONE "support-files")
SET(INSTALL_DOCREADMEDIR_STANDALONE ".") SET(INSTALL_MYSQLDATADIR_STANDALONE "data")
SET(INSTALL_SUPPORTFILESDIR_STANDALONE "support-files")
SET(INSTALL_MYSQLDATADIR_STANDALONE "data") # RPM layout
SET(INSTALL_BINDIR_RPM "bin")
# SVR4 layout SET(INSTALL_SBINDIR_RPM "sbin")
SET(INSTALL_BINDIR_SVR4 "bin") SET(INSTALL_LIBDIR_RPM "lib/mysql")
SET(INSTALL_SBINDIR_SVR4 "bin") SET(INSTALL_PLUGINDIR_RPM "lib/mysql/plugin")
SET(INSTALL_LIBDIR_SVR4 "lib") SET(INSTALL_DOCDIR_RPM "share/mysql/doc/MySQL-server-${MYSQL_NO_DASH_VERSION}")
SET(INSTALL_INCLUDEDIR_SVR4 "include") SET(INSTALL_MANDIR_RPM "share/mysql/man")
SET(INSTALL_PLUGINDIR_SVR4 "lib/plugin") SET(INSTALL_INCLUDEDIR_RPM "include/mysql")
SET(INSTALL_DOCDIR_SVR4 "docs") SET(INSTALL_MYSQLSHAREDIR_RPM "share/mysql")
SET(INSTALL_MANDIR_SVR4 "man") SET(INSTALL_SHAREDIR_RPM "share")
SET(INSTALL_MYSQLSHAREDIR_SVR4 "share") SET(INSTALL_SCRIPTDIR_RPM "bin")
SET(INSTALL_SHAREDIR_SVR4 "share") SET(INSTALL_MYSQLTESTDIR_RPM "mysql-test")
SET(INSTALL_SCRIPTDIR_SVR4 "scripts") SET(INSTALL_SQLBENCHROOTDIR_RPM "")
SET(INSTALL_MYSQLTESTDIR_SVR4 "mysql-test") SET(INSTALL_DOCREADMEDIR_RPM "share/mysql/doc/MySQL-server-${MYSQL_NO_DASH_VERSION}")
SET(INSTALL_SQLBENCHROOTDIR_SVR4 ".") SET(INSTALL_SUPPORTFILESDIR_RPM "")
SET(INSTALL_DOCREADMEDIR_SVR4 ".") SET(INSTALL_MYSQLDATADIR_RPM "var")
SET(INSTALL_SUPPORTFILESDIR_SVR4 "support-files")
SET(MYSQL_DATADIR "/var/lib/mysql")
# 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")
# SVR4 layout
SET(INSTALL_BINDIR_SVR4 "bin")
SET(INSTALL_SBINDIR_SVR4 "bin")
SET(INSTALL_LIBDIR_SVR4 "lib")
SET(INSTALL_INCLUDEDIR_SVR4 "include")
SET(INSTALL_PLUGINDIR_SVR4 "lib/plugin")
SET(INSTALL_DOCDIR_SVR4 "docs")
SET(INSTALL_MANDIR_SVR4 "man")
SET(INSTALL_MYSQLSHAREDIR_SVR4 "share")
SET(INSTALL_SHAREDIR_SVR4 "share")
SET(INSTALL_SCRIPTDIR_SVR4 "scripts")
SET(INSTALL_MYSQLTESTDIR_SVR4 "mysql-test")
SET(INSTALL_SQLBENCHROOTDIR_SVR4 ".")
SET(INSTALL_DOCREADMEDIR_SVR4 ".")
SET(INSTALL_SUPPORTFILESDIR_SVR4 "support-files")
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)
...@@ -139,12 +142,12 @@ IF(OLD_INSTALL_LAYOUT) ...@@ -139,12 +142,12 @@ IF(OLD_INSTALL_LAYOUT)
ENDIF() ENDIF()
SET(OLD_INSTALL_LAYOUT ${INSTALL_LAYOUT} CACHE INTERNAL "") SET(OLD_INSTALL_LAYOUT ${INSTALL_LAYOUT} CACHE INTERNAL "")
# Set INSTALL_FOODIR variables for chosen layout # Set INSTALL_FOODIR variables for chosen layout (for example, INSTALL_BINDIR
# (for example, INSTALL_BINDIR will be defined as # will be defined as ${INSTALL_BINDIR_STANDALONE} by default if STANDALONE
# ${INSTALL_BINDIR_STANDALONE} by default if STANDALONE layout is chosen) # layout is chosen)
FOREACH(var BIN SBIN LIB MYSQLSHARE SHARE PLUGIN INCLUDE SCRIPT DOC MAN FOREACH(var BIN SBIN LIB MYSQLSHARE SHARE PLUGIN INCLUDE SCRIPT DOC MAN
MYSQLTEST SQLBENCHROOT DOCREADME SUPPORTFILES MYSQLDATA) MYSQLTEST SQLBENCHROOT DOCREADME SUPPORTFILES MYSQLDATA)
SET(INSTALL_${var}DIR ${INSTALL_${var}DIR_${INSTALL_LAYOUT}} SET(INSTALL_${var}DIR ${INSTALL_${var}DIR_${INSTALL_LAYOUT}}
CACHE STRING "${var} installation directory" ${FORCE}) CACHE STRING "${var} installation directory" ${FORCE})
MARK_AS_ADVANCED(INSTALL_${var}DIR) MARK_AS_ADVANCED(INSTALL_${var}DIR)
ENDFOREACH() ENDFOREACH()
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment