1414# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
1515
1616# The purpose of this file is to set the default installation layout.
17- # Currently, there are 2 different installation layouts ,
18- # one is used in tar.gz packages (Windows zip is about the same), another one
19- # in RPMs.
20-
21- # There are currently 2 layouts defines, named STANDALONE (tar.gz layout)
22- # and UNIX (rpm layout). To force a directory layout when invoking cmake use
23- # -DINSTALL_LAYOUT=[STANDALONE|UNIX].
24- # This wil use a predefined layout. There is a possibility to further fine-tune
25- # installation directories. Several variables are can be overwritten
26- #
27- # - INSTALL_BINDIR (directory with client executables and Unix shell scripts)
28- # - INSTALL_SBINDIR (directory with mysqld)
29- # - INSTALL_LIBDIR (directory with client end embedded libraries)
30- # - INSTALL_PLUGINDIR (directory for plugins)
31- # - INSTALL_INCLUDEDIR (directory for MySQL headers)
32- # - INSTALL_DOCDIR (documentation)
33- # - INSTALL_MANDIR (man pages)
34- # - INSTALL_SCRIPTDIR (several scripts, rarely used)
35- # - INSTALL_MYSQLSHAREDIR (MySQL character sets and localized error messages)
36- # - INSTALL_SHAREDIR (location of aclocal/mysql.m4)
37- # - INSTALL_SQLBENCHDIR (sql-bench)
38- # - INSTALL_MYSQLTESTDIR (mysql-test)
39- # - INSTALL_DOCREADMEDIR (readme and similar)
40- # - INSTALL_SUPPORTFILESDIR (used only in standalone installer)
17+ #
18+ # The current choices of installation layout are:
19+ #
20+ # STANDALONE
21+ # Build with prefix=/usr/local/mysql, create tarball with install prefix="."
22+ # and relative links. Windows zip uses the same tarball layout but without
23+ # the build prefix.
24+ #
25+ # RPM
26+ # Build as per default RPM layout, with prefix=/usr
27+ #
28+ # DEB
29+ # Build as per STANDALONE, prefix=/opt/mysql-$major.$minor
30+ #
31+ # SVR4
32+ # Solaris package layout suitable for pkg* tools, prefix=/opt/mysql/mysql
33+ #
34+ # To force a directory layout, use -DINSTALL_LAYOUT=<layout>.
35+ #
36+ # The default is STANDALONE.
37+ #
38+ # There is the possibility to further fine-tune installation directories.
39+ # Several variables can be overwritten:
40+ #
41+ # - INSTALL_BINDIR (directory with client executables and scripts)
42+ # - INSTALL_SBINDIR (directory with mysqld)
43+ # - INSTALL_SCRIPTDIR (several scripts, rarely used)
44+ #
45+ # - INSTALL_LIBDIR (directory with client end embedded libraries)
46+ # - INSTALL_PLUGINDIR (directory for plugins)
47+ #
48+ # - INSTALL_INCLUDEDIR (directory for MySQL headers)
49+ #
50+ # - INSTALL_DOCDIR (documentation)
51+ # - INSTALL_DOCREADMEDIR (readme and similar)
52+ # - INSTALL_MANDIR (man pages)
53+ # - INSTALL_INFODIR (info pages)
54+ #
55+ # - INSTALL_SHAREDIR (location of aclocal/mysql.m4)
56+ # - INSTALL_MYSQLSHAREDIR (MySQL character sets and localized error messages)
57+ # - INSTALL_MYSQLTESTDIR (mysql-test)
58+ # - INSTALL_SQLBENCHDIR (sql-bench)
59+ # - INSTALL_SUPPORTFILESDIR (various extra support files)
60+ #
61+ # - INSTALL_MYSQLDATADIR (data directory)
4162
42- # Default installation layout on Unix is UNIX (kent wants it so)
4363IF (NOT INSTALL_LAYOUT)
44- IF (WIN32 )
45- SET (DEFAULT_INSTALL_LAYOUT "STANDALONE" )
46- ELSE ()
47- SET (DEFAULT_INSTALL_LAYOUT "UNIX" )
48- ENDIF ()
64+ SET (DEFAULT_INSTALL_LAYOUT "STANDALONE" )
4965ENDIF ()
5066
51- SET (INSTALL_LAYOUT "${DEFAULT_INSTALL_LAYOUT} "
52- CACHE STRING "Installation directory layout. Options are: STANDALONE (as in zip or tar.gz installer) or UNIX" )
53-
54- IF (NOT INSTALL_LAYOUT MATCHES "STANDALONE" )
55- IF (NOT INSTALL_LAYOUT MATCHES "UNIX" )
56- SET (INSTALL_LAYOUT "${DEFAULT_INSTALL_LAYOUT} " )
57- ENDIF ()
58- ENDIF ()
67+ SET (INSTALL_LAYOUT "${DEFAULT_INSTALL_LAYOUT} "
68+ CACHE STRING "Installation directory layout. Options are: STANDALONE (as in zip or tar.gz installer) or UNIX" )
5969
6070IF (UNIX )
61- IF (INSTALL_LAYOUT MATCHES "UNIX" )
71+ IF (INSTALL_LAYOUT MATCHES "RPM" )
6272 SET (default_prefix "/usr" )
73+ ELSEIF (INSTALL_LAYOUT MATCHES "DEB" )
74+ SET (default_prefix "/opt/${MYSQL_BASE_VERSION} " )
75+ # This is required to avoid "cpack -GDEB" default of prefix=/usr
76+ SET (CPACK_SET_DESTDIR ON )
77+ ELSEIF (INSTALL_LAYOUT MATCHES "SVR4" )
78+ SET (default_prefix "/opt/mysql/mysql" )
6379 ELSE ()
6480 SET (default_prefix "/usr/local/mysql" )
6581 ENDIF ()
6682 IF (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
67- SET (CMAKE_INSTALL_PREFIX ${default_prefix}
83+ SET (CMAKE_INSTALL_PREFIX ${default_prefix}
6884 CACHE PATH "install prefix" FORCE )
6985 ENDIF ()
70- SET (SYSCONFDIR "${CMAKE_INSTALL_PREFIX} /etc"
86+ SET (SYSCONFDIR "${CMAKE_INSTALL_PREFIX} /etc"
7187 CACHE PATH "config directory (for my.cnf)" )
7288 MARK_AS_ADVANCED (SYSCONFDIR )
7389ENDIF ()
7490
75-
76-
77- # STANDALONE layout
78- SET (INSTALL_BINDIR_STANDALONE "bin" )
79- SET (INSTALL_SBINDIR_STANDALONE "bin" )
80- SET (INSTALL_LIBDIR_STANDALONE "lib" )
81- SET (INSTALL_INCLUDEDIR_STANDALONE "include" )
82- SET (INSTALL_PLUGINDIR_STANDALONE "lib/plugin" )
83- SET (INSTALL_DOCDIR_STANDALONE "docs" )
84- SET (INSTALL_MANDIR_STANDALONE "man" )
85- SET (INSTALL_MYSQLSHAREDIR_STANDALONE "share" )
86- SET (INSTALL_SHAREDIR_STANDALONE "share" )
87- SET (INSTALL_SCRIPTDIR_STANDALONE "scripts" )
88- SET (INSTALL_MYSQLTESTDIR_STANDALONE "mysql-test" )
89- SET (INSTALL_SQLBENCHROOTDIR_STANDALONE "." )
90- SET (INSTALL_DOCREADMEDIR_STANDALONE "." )
91- SET (INSTALL_SUPPORTFILESDIR_STANDALONE "support-files" )
92- SET (INSTALL_MYSQLDATADIR_STANDALONE "data" )
93-
94- # UNIX layout
95- SET (INSTALL_BINDIR_UNIX "bin" )
96- SET (INSTALL_SBINDIR_UNIX "sbin" )
97- SET (INSTALL_LIBDIR_UNIX "lib/mysql" )
98- SET (INSTALL_PLUGINDIR_UNIX "lib/mysql/plugin" )
99- SET (INSTALL_DOCDIR_UNIX "share/mysql/doc/MySQL-server-${MYSQL_NO_DASH_VERSION} " )
100- SET (INSTALL_MANDIR_UNIX "share/mysql/man" )
101- SET (INSTALL_INCLUDEDIR_UNIX "include/mysql" )
102- SET (INSTALL_MYSQLSHAREDIR_UNIX "share/mysql" )
103- SET (INSTALL_SHAREDIR_UNIX "share" )
104- SET (INSTALL_SCRIPTDIR_UNIX "bin" )
105- SET (INSTALL_MYSQLTESTDIR_UNIX "mysql-test" )
106- SET (INSTALL_SQLBENCHROOTDIR_UNIX "" )
107- SET (INSTALL_DOCREADMEDIR_UNIX "share/mysql/doc/MySQL-server-${MYSQL_NO_DASH_VERSION} " )
108- SET (INSTALL_SUPPORTFILESDIR_UNIX "" )
109- SET (INSTALL_MYSQLDATADIR_UNIX "var" )
91+ #
92+ # STANDALONE layout
93+ #
94+ SET (INSTALL_BINDIR_STANDALONE "bin" )
95+ SET (INSTALL_SBINDIR_STANDALONE "bin" )
96+ SET (INSTALL_SCRIPTDIR_STANDALONE "scripts" )
97+ #
98+ SET (INSTALL_LIBDIR_STANDALONE "lib" )
99+ SET (INSTALL_PLUGINDIR_STANDALONE "lib/plugin" )
100+ #
101+ SET (INSTALL_INCLUDEDIR_STANDALONE "include" )
102+ #
103+ SET (INSTALL_DOCDIR_STANDALONE "docs" )
104+ SET (INSTALL_DOCREADMEDIR_STANDALONE "." )
105+ SET (INSTALL_MANDIR_STANDALONE "man" )
106+ SET (INSTALL_INFODIR_STANDALONE "docs" )
107+ #
108+ SET (INSTALL_SHAREDIR_STANDALONE "share" )
109+ SET (INSTALL_MYSQLSHAREDIR_STANDALONE "share" )
110+ SET (INSTALL_MYSQLTESTDIR_STANDALONE "mysql-test" )
111+ SET (INSTALL_SQLBENCHDIR_STANDALONE "." )
112+ SET (INSTALL_SUPPORTFILESDIR_STANDALONE "support-files" )
113+ #
114+ SET (INSTALL_MYSQLDATADIR_STANDALONE "data" )
115+
116+ #
117+ # RPM layout
118+ #
119+ SET (INSTALL_BINDIR_RPM "bin" )
120+ SET (INSTALL_SBINDIR_RPM "sbin" )
121+ SET (INSTALL_SCRIPTDIR_RPM "bin" )
122+ #
123+ IF (CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64" )
124+ SET (INSTALL_LIBDIR_RPM "lib64" )
125+ SET (INSTALL_PLUGINDIR_RPM "lib64/mysql/plugin" )
126+ ELSE ()
127+ SET (INSTALL_LIBDIR_RPM "lib" )
128+ SET (INSTALL_PLUGINDIR_RPM "lib/mysql/plugin" )
129+ ENDIF ()
130+ #
131+ SET (INSTALL_INCLUDEDIR_RPM "include/mysql" )
132+ #
133+ #SET(INSTALL_DOCDIR_RPM unset - installed directly by RPM)
134+ #SET(INSTALL_DOCREADMEDIR_RPM unset - installed directly by RPM)
135+ SET (INSTALL_INFODIR_RPM "share/info" )
136+ SET (INSTALL_MANDIR_RPM "share/man" )
137+ #
138+ SET (INSTALL_SHAREDIR_RPM "share" )
139+ SET (INSTALL_MYSQLSHAREDIR_RPM "share/mysql" )
140+ SET (INSTALL_MYSQLTESTDIR_RPM "share/mysql-test" )
141+ SET (INSTALL_SQLBENCHDIR_RPM "" )
142+ SET (INSTALL_SUPPORTFILESDIR_RPM "share/mysql" )
143+ #
144+ SET (INSTALL_MYSQLDATADIR_RPM "/var/lib/mysql" )
145+
146+ #
147+ # DEB layout
148+ #
149+ SET (INSTALL_BINDIR_DEB "bin" )
150+ SET (INSTALL_SBINDIR_DEB "bin" )
151+ SET (INSTALL_SCRIPTDIR_DEB "scripts" )
152+ #
153+ SET (INSTALL_LIBDIR_DEB "lib" )
154+ SET (INSTALL_PLUGINDIR_DEB "lib/plugin" )
155+ #
156+ SET (INSTALL_INCLUDEDIR_DEB "include" )
157+ #
158+ SET (INSTALL_DOCDIR_DEB "docs" )
159+ SET (INSTALL_DOCREADMEDIR_DEB "." )
160+ SET (INSTALL_MANDIR_DEB "man" )
161+ SET (INSTALL_INFODIR_DEB "docs" )
162+ #
163+ SET (INSTALL_SHAREDIR_DEB "share" )
164+ SET (INSTALL_MYSQLSHAREDIR_DEB "share" )
165+ SET (INSTALL_MYSQLTESTDIR_DEB "mysql-test" )
166+ SET (INSTALL_SQLBENCHDIR_DEB "." )
167+ SET (INSTALL_SUPPORTFILESDIR_DEB "support-files" )
168+ #
169+ SET (INSTALL_MYSQLDATADIR_DEB "data" )
170+
171+ #
172+ # SVR4 layout
173+ #
174+ SET (INSTALL_BINDIR_SVR4 "bin" )
175+ SET (INSTALL_SBINDIR_SVR4 "bin" )
176+ SET (INSTALL_SCRIPTDIR_SVR4 "scripts" )
177+ #
178+ SET (INSTALL_LIBDIR_SVR4 "lib" )
179+ SET (INSTALL_PLUGINDIR_SVR4 "lib/plugin" )
180+ #
181+ SET (INSTALL_INCLUDEDIR_SVR4 "include" )
182+ #
183+ SET (INSTALL_DOCDIR_SVR4 "docs" )
184+ SET (INSTALL_DOCREADMEDIR_SVR4 "." )
185+ SET (INSTALL_MANDIR_SVR4 "man" )
186+ SET (INSTALL_INFODIR_SVR4 "docs" )
187+ #
188+ SET (INSTALL_SHAREDIR_SVR4 "share" )
189+ SET (INSTALL_MYSQLSHAREDIR_SVR4 "share" )
190+ SET (INSTALL_MYSQLTESTDIR_SVR4 "mysql-test" )
191+ SET (INSTALL_SQLBENCHDIR_SVR4 "." )
192+ SET (INSTALL_SUPPORTFILESDIR_SVR4 "support-files" )
193+ #
194+ SET (INSTALL_MYSQLDATADIR_SVR4 "/var/lib/mysql" )
110195
111196
112197# Clear cached variables if install layout was changed
@@ -117,12 +202,12 @@ IF(OLD_INSTALL_LAYOUT)
117202ENDIF ()
118203SET (OLD_INSTALL_LAYOUT ${INSTALL_LAYOUT} CACHE INTERNAL "" )
119204
120- # Set INSTALL_FOODIR variables for chosen layout
121- # (for example, INSTALL_BINDIR will be defined as
122- # ${INSTALL_BINDIR_STANDALONE} by default if STANDALONE layout is chosen)
123- FOREACH (var BIN SBIN LIB MYSQLSHARE SHARE PLUGIN INCLUDE SCRIPT DOC MAN
124- MYSQLTEST SQLBENCHROOT DOCREADME SUPPORTFILES MYSQLDATA)
125- SET (INSTALL_${var} DIR ${INSTALL_${var} DIR_${INSTALL_LAYOUT} }
205+ # Set INSTALL_FOODIR variables for chosen layout (for example, INSTALL_BINDIR
206+ # will be defined as ${INSTALL_BINDIR_STANDALONE} by default if STANDALONE
207+ # layout is chosen)
208+ FOREACH (var BIN SBIN LIB MYSQLSHARE SHARE PLUGIN INCLUDE SCRIPT DOC MAN
209+ INFO MYSQLTEST SQLBENCH DOCREADME SUPPORTFILES MYSQLDATA)
210+ SET (INSTALL_${var} DIR ${INSTALL_${var} DIR_${INSTALL_LAYOUT} }
126211 CACHE STRING "${var} installation directory" ${FORCE} )
127212 MARK_AS_ADVANCED (INSTALL_${var}DIR )
128213ENDFOREACH ()
0 commit comments