1# Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved.
2#
3# This program is free software; you can redistribute it and/or modify
4# it under the terms of the GNU General Public License, version 2.0,
5# as published by the Free Software Foundation.
6#
7# This program is also distributed with certain software (including
8# but not limited to OpenSSL) that is licensed under separate terms,
9# as designated in a particular file or component or in included license
10# documentation.  The authors of MySQL hereby grant you an additional
11# permission to link the program and your derivative works with the
12# separately licensed software that they have included with MySQL.
13#
14# This program is distributed in the hope that it will be useful,
15# but WITHOUT ANY WARRANTY; without even the implied warranty of
16# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17# GNU General Public License, version 2.0, for more details.
18#
19# You should have received a copy of the GNU General Public License
20# along with this program; if not, write to the Free Software
21# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
22
23# The purpose of this file is to set the default installation layout.
24#
25# The current choices of installation layout are:
26#
27#  STANDALONE
28#    Build with prefix=/usr/local/mysql, create tarball with install prefix="."
29#    and relative links.  Windows zip uses the same tarball layout but without
30#    the build prefix.
31#
32#  RPM, SLES
33#    Build as per default RPM layout, with prefix=/usr
34#    Note: The layout for ULN RPMs differs, see the "RPM" section.
35#
36#  DEB
37#    Build as per STANDALONE, prefix=/opt/mysql/server-$major.$minor
38#
39#  SVR4
40#    Solaris package layout suitable for pkg* tools, prefix=/opt/mysql/mysql
41#
42#  FREEBSD, GLIBC, OSX, TARGZ
43#    Build with prefix=/usr/local/mysql, create tarball with install prefix="."
44#    and relative links.
45#
46#  WIN
47#     Windows zip : same as tarball layout but without the build prefix
48#
49# To force a directory layout, use -DINSTALL_LAYOUT=<layout>.
50#
51# The default is STANDALONE.
52#
53# Note : At present, RPM and SLES layouts are similar. This is also true
54#        for layouts like FREEBSD, GLIBC, OSX, TARGZ. However, they provide
55#        opportunity to fine-tune deployment for each platform without
56#        affecting all other types of deployment.
57#
58# There is the possibility to further fine-tune installation directories.
59# Several variables can be overwritten:
60#
61# - INSTALL_BINDIR          (directory with client executables and scripts)
62# - INSTALL_SBINDIR         (directory with mysqld)
63# - INSTALL_SCRIPTDIR       (several scripts, rarely used)
64#
65# - INSTALL_LIBDIR          (directory with client end embedded libraries)
66# - INSTALL_PLUGINDIR       (directory for plugins)
67#
68# - INSTALL_INCLUDEDIR      (directory for MySQL headers)
69#
70# - INSTALL_DOCDIR          (documentation)
71# - INSTALL_DOCREADMEDIR    (readme and similar)
72# - INSTALL_MANDIR          (man pages)
73# - INSTALL_INFODIR         (info pages)
74#
75# - INSTALL_SHAREDIR        (location of aclocal/mysql.m4)
76# - INSTALL_MYSQLSHAREDIR   (MySQL character sets and localized error messages)
77# - INSTALL_MYSQLTESTDIR    (mysql-test)
78# - INSTALL_SQLBENCHDIR     (sql-bench)
79# - INSTALL_SUPPORTFILESDIR (various extra support files)
80#
81# - INSTALL_MYSQLDATADIR    (data directory)
82# - INSTALL_SECURE_FILE_PRIVDIR (--secure-file-priv directory)
83#
84# When changing this page,  _please_ do not forget to update public Wiki
85# http://forge.mysql.com/wiki/CMake#Fine-tuning_installation_paths
86
87IF(NOT INSTALL_LAYOUT)
88  SET(DEFAULT_INSTALL_LAYOUT "STANDALONE")
89ENDIF()
90
91SET(INSTALL_LAYOUT "${DEFAULT_INSTALL_LAYOUT}"
92CACHE STRING "Installation directory layout. Options are: TARGZ (as in tar.gz installer), WIN (as in zip installer), STANDALONE, RPM, DEB, SVR4, FREEBSD, GLIBC, OSX, SLES")
93
94IF(UNIX)
95  IF(INSTALL_LAYOUT MATCHES "RPM" OR
96     INSTALL_LAYOUT MATCHES "SLES")
97    SET(default_prefix "/usr")
98  ELSEIF(INSTALL_LAYOUT MATCHES "DEB")
99    SET(default_prefix "/opt/mysql/server-${MYSQL_BASE_VERSION}")
100    # This is required to avoid "cpack -GDEB" default of prefix=/usr
101    SET(CPACK_SET_DESTDIR ON)
102  ELSEIF(INSTALL_LAYOUT MATCHES "SVR4")
103    SET(default_prefix "/opt/mysql/mysql")
104  ELSE()
105    SET(default_prefix "/usr/local/mysql")
106  ENDIF()
107  IF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
108    SET(CMAKE_INSTALL_PREFIX ${default_prefix}
109      CACHE PATH "install prefix" FORCE)
110  ENDIF()
111  SET(VALID_INSTALL_LAYOUTS "RPM" "DEB" "SVR4" "FREEBSD" "GLIBC" "OSX" "TARGZ" "SLES" "STANDALONE")
112  LIST(FIND VALID_INSTALL_LAYOUTS "${INSTALL_LAYOUT}" ind)
113  IF(ind EQUAL -1)
114    MESSAGE(FATAL_ERROR "Invalid INSTALL_LAYOUT parameter:${INSTALL_LAYOUT}."
115    " Choose between ${VALID_INSTALL_LAYOUTS}" )
116  ENDIF()
117
118  SET(SYSCONFDIR "${CMAKE_INSTALL_PREFIX}/etc"
119    CACHE PATH "config directory (for my.cnf)")
120  MARK_AS_ADVANCED(SYSCONFDIR)
121ENDIF()
122
123IF(WIN32)
124  SET(VALID_INSTALL_LAYOUTS "TARGZ" "STANDALONE" "WIN")
125  LIST(FIND VALID_INSTALL_LAYOUTS "${INSTALL_LAYOUT}" ind)
126  IF(ind EQUAL -1)
127    MESSAGE(FATAL_ERROR "Invalid INSTALL_LAYOUT parameter:${INSTALL_LAYOUT}."
128    " Choose between ${VALID_INSTALL_LAYOUTS}" )
129  ENDIF()
130ENDIF()
131
132#
133# plugin_tests's value should not be used by imported plugins,
134# just use if(INSTALL_PLUGINTESTDIR).
135# The plugin must set its own install path for tests
136#
137FILE(GLOB plugin_tests
138  ${CMAKE_SOURCE_DIR}/plugin/*/tests
139  ${CMAKE_SOURCE_DIR}/internal/plugin/*/tests
140)
141
142#
143# DEFAULT_SECURE_FILE_PRIV_DIR/DEFAULT_SECURE_FILE_PRIV_EMBEDDED_DIR
144#
145IF(INSTALL_LAYOUT MATCHES "STANDALONE" OR
146   INSTALL_LAYOUT MATCHES "WIN")
147  SET(secure_file_priv_path "NULL")
148ELSEIF(INSTALL_LAYOUT MATCHES "RPM" OR
149       INSTALL_LAYOUT MATCHES "SLES" OR
150       INSTALL_LAYOUT MATCHES "SVR4" OR
151       INSTALL_LAYOUT MATCHES "DEB")
152  SET(secure_file_priv_path "/var/lib/mysql-files")
153ELSE()
154  SET(secure_file_priv_path "${default_prefix}/mysql-files")
155ENDIF()
156SET(secure_file_priv_embedded_path "NULL")
157
158#
159# STANDALONE layout
160#
161SET(INSTALL_BINDIR_STANDALONE           "bin")
162SET(INSTALL_SBINDIR_STANDALONE          "bin")
163SET(INSTALL_SCRIPTDIR_STANDALONE        "scripts")
164#
165SET(INSTALL_LIBDIR_STANDALONE           "lib")
166SET(INSTALL_PLUGINDIR_STANDALONE        "lib/mysql/plugin")
167#
168SET(INSTALL_INCLUDEDIR_STANDALONE       "include")
169#
170SET(INSTALL_DOCDIR_STANDALONE           "docs")
171SET(INSTALL_DOCREADMEDIR_STANDALONE     ".")
172SET(INSTALL_MANDIR_STANDALONE           "man")
173SET(INSTALL_INFODIR_STANDALONE          "docs")
174#
175SET(INSTALL_SHAREDIR_STANDALONE         "share")
176SET(INSTALL_MYSQLSHAREDIR_STANDALONE    "share")
177SET(INSTALL_MYSQLTESTDIR_STANDALONE     "mysql-test")
178SET(INSTALL_SQLBENCHDIR_STANDALONE      ".")
179SET(INSTALL_SUPPORTFILESDIR_STANDALONE  "support-files")
180#
181SET(INSTALL_MYSQLDATADIR_STANDALONE     "data")
182SET(INSTALL_PLUGINTESTDIR_STANDALONE    ${plugin_tests})
183SET(INSTALL_SECURE_FILE_PRIVDIR_STANDALONE ${secure_file_priv_path})
184SET(INSTALL_SECURE_FILE_PRIV_EMBEDDEDDIR_STANDALONE ${secure_file_priv_embedded_path})
185
186#
187# WIN layout
188#
189SET(INSTALL_BINDIR_WIN           "bin")
190SET(INSTALL_SBINDIR_WIN          "bin")
191SET(INSTALL_SCRIPTDIR_WIN        "scripts")
192#
193SET(INSTALL_LIBDIR_WIN           "lib")
194SET(INSTALL_PLUGINDIR_WIN        "lib/plugin")
195#
196SET(INSTALL_INCLUDEDIR_WIN       "include")
197#
198SET(INSTALL_DOCDIR_WIN           "docs")
199SET(INSTALL_DOCREADMEDIR_WIN     ".")
200SET(INSTALL_MANDIR_WIN           "man")
201SET(INSTALL_INFODIR_WIN          "docs")
202#
203SET(INSTALL_SHAREDIR_WIN         "share")
204SET(INSTALL_MYSQLSHAREDIR_WIN    "share")
205SET(INSTALL_MYSQLTESTDIR_WIN     "mysql-test")
206SET(INSTALL_SQLBENCHDIR_WIN      ".")
207SET(INSTALL_SUPPORTFILESDIR_WIN  "support-files")
208#
209SET(INSTALL_MYSQLDATADIR_WIN     "data")
210SET(INSTALL_PLUGINTESTDIR_WIN    ${plugin_tests})
211SET(INSTALL_SECURE_FILE_PRIVDIR_WIN ${secure_file_priv_path})
212SET(INSTALL_SECURE_FILE_PRIV_EMBEDDEDDIR_WIN ${secure_file_priv_embedded_path})
213
214#
215# FREEBSD layout
216#
217SET(INSTALL_BINDIR_FREEBSD           "bin")
218SET(INSTALL_SBINDIR_FREEBSD          "bin")
219SET(INSTALL_SCRIPTDIR_FREEBSD        "scripts")
220#
221SET(INSTALL_LIBDIR_FREEBSD           "lib")
222SET(INSTALL_PLUGINDIR_FREEBSD        "lib/plugin")
223#
224SET(INSTALL_INCLUDEDIR_FREEBSD       "include")
225#
226SET(INSTALL_DOCDIR_FREEBSD           "docs")
227SET(INSTALL_DOCREADMEDIR_FREEBSD     ".")
228SET(INSTALL_MANDIR_FREEBSD           "man")
229SET(INSTALL_INFODIR_FREEBSD          "docs")
230#
231SET(INSTALL_SHAREDIR_FREEBSD         "share")
232SET(INSTALL_MYSQLSHAREDIR_FREEBSD    "share")
233SET(INSTALL_MYSQLTESTDIR_FREEBSD     "mysql-test")
234SET(INSTALL_SQLBENCHDIR_FREEBSD      ".")
235SET(INSTALL_SUPPORTFILESDIR_FREEBSD  "support-files")
236#
237SET(INSTALL_MYSQLDATADIR_FREEBSD     "data")
238SET(INSTALL_PLUGINTESTDIR_FREEBSD    ${plugin_tests})
239SET(INSTALL_SECURE_FILE_PRIVDIR_FREEBSD ${secure_file_priv_path})
240SET(INSTALL_SECURE_FILE_PRIV_EMBEDDEDDIR_FREEBSD ${secure_file_priv_embedded_path})
241
242#
243# GLIBC layout
244#
245SET(INSTALL_BINDIR_GLIBC           "bin")
246SET(INSTALL_SBINDIR_GLIBC          "bin")
247SET(INSTALL_SCRIPTDIR_GLIBC        "scripts")
248#
249SET(INSTALL_LIBDIR_GLIBC           "lib")
250SET(INSTALL_PLUGINDIR_GLIBC        "lib/plugin")
251#
252SET(INSTALL_INCLUDEDIR_GLIBC       "include")
253#
254SET(INSTALL_DOCDIR_GLIBC           "docs")
255SET(INSTALL_DOCREADMEDIR_GLIBC     ".")
256SET(INSTALL_MANDIR_GLIBC           "man")
257SET(INSTALL_INFODIR_GLIBC          "docs")
258#
259SET(INSTALL_SHAREDIR_GLIBC         "share")
260SET(INSTALL_MYSQLSHAREDIR_GLIBC    "share")
261SET(INSTALL_MYSQLTESTDIR_GLIBC     "mysql-test")
262SET(INSTALL_SQLBENCHDIR_GLIBC      ".")
263SET(INSTALL_SUPPORTFILESDIR_GLIBC  "support-files")
264#
265SET(INSTALL_MYSQLDATADIR_GLIBC     "data")
266SET(INSTALL_PLUGINTESTDIR_GLIBC    ${plugin_tests})
267SET(INSTALL_SECURE_FILE_PRIVDIR_GLIBC ${secure_file_priv_path})
268SET(INSTALL_SECURE_FILE_PRIV_EMBEDDEDDIR_GLIBC ${secure_file_priv_embedded_path})
269
270#
271# OSX layout
272#
273SET(INSTALL_BINDIR_OSX           "bin")
274SET(INSTALL_SBINDIR_OSX          "bin")
275SET(INSTALL_SCRIPTDIR_OSX        "scripts")
276#
277SET(INSTALL_LIBDIR_OSX           "lib")
278SET(INSTALL_PLUGINDIR_OSX        "lib/plugin")
279#
280SET(INSTALL_INCLUDEDIR_OSX       "include")
281#
282SET(INSTALL_DOCDIR_OSX           "docs")
283SET(INSTALL_DOCREADMEDIR_OSX     ".")
284SET(INSTALL_MANDIR_OSX           "man")
285SET(INSTALL_INFODIR_OSX          "docs")
286#
287SET(INSTALL_SHAREDIR_OSX         "share")
288SET(INSTALL_MYSQLSHAREDIR_OSX    "share")
289SET(INSTALL_MYSQLTESTDIR_OSX     "mysql-test")
290SET(INSTALL_SQLBENCHDIR_OSX      ".")
291SET(INSTALL_SUPPORTFILESDIR_OSX  "support-files")
292#
293SET(INSTALL_MYSQLDATADIR_OSX     "data")
294SET(INSTALL_PLUGINTESTDIR_OSX    ${plugin_tests})
295SET(INSTALL_SECURE_FILE_PRIVDIR_OSX ${secure_file_priv_path})
296SET(INSTALL_SECURE_FILE_PRIV_EMBEDDEDDIR_OSX ${secure_file_priv_embedded_path})
297
298#
299# TARGZ layout
300#
301SET(INSTALL_BINDIR_TARGZ           "bin")
302SET(INSTALL_SBINDIR_TARGZ          "bin")
303SET(INSTALL_SCRIPTDIR_TARGZ        "scripts")
304#
305SET(INSTALL_LIBDIR_TARGZ           "lib")
306SET(INSTALL_PLUGINDIR_TARGZ        "lib/plugin")
307#
308SET(INSTALL_INCLUDEDIR_TARGZ       "include")
309#
310SET(INSTALL_DOCDIR_TARGZ           "docs")
311SET(INSTALL_DOCREADMEDIR_TARGZ     ".")
312SET(INSTALL_MANDIR_TARGZ           "man")
313SET(INSTALL_INFODIR_TARGZ          "docs")
314#
315SET(INSTALL_SHAREDIR_TARGZ         "share")
316SET(INSTALL_MYSQLSHAREDIR_TARGZ    "share")
317SET(INSTALL_MYSQLTESTDIR_TARGZ     "mysql-test")
318SET(INSTALL_SQLBENCHDIR_TARGZ      ".")
319SET(INSTALL_SUPPORTFILESDIR_TARGZ  "support-files")
320#
321SET(INSTALL_MYSQLDATADIR_TARGZ     "data")
322SET(INSTALL_PLUGINTESTDIR_TARGZ    ${plugin_tests})
323SET(INSTALL_SECURE_FILE_PRIVDIR_TARGZ ${secure_file_priv_path})
324SET(INSTALL_SECURE_FILE_PRIV_EMBEDDEDDIR_TARGZ ${secure_file_priv_embedded_path})
325
326#
327# RPM layout
328#
329# See "packaging/rpm-uln/mysql-5.5-libdir.patch" for the differences
330# which apply to RPMs in ULN (Oracle Linux), that patch file will
331# be applied at build time via "rpmbuild".
332#
333SET(INSTALL_BINDIR_RPM                  "bin")
334SET(INSTALL_SBINDIR_RPM                 "sbin")
335SET(INSTALL_SCRIPTDIR_RPM               "bin")
336#
337IF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64")
338  SET(INSTALL_LIBDIR_RPM                "lib64")
339  SET(INSTALL_PLUGINDIR_RPM             "lib64/mysql/plugin")
340ELSE()
341  SET(INSTALL_LIBDIR_RPM                "lib")
342  SET(INSTALL_PLUGINDIR_RPM             "lib/mysql/plugin")
343ENDIF()
344#
345SET(INSTALL_INCLUDEDIR_RPM              "include/mysql")
346#
347#SET(INSTALL_DOCDIR_RPM                 unset - installed directly by RPM)
348#SET(INSTALL_DOCREADMEDIR_RPM           unset - installed directly by RPM)
349SET(INSTALL_INFODIR_RPM                 "share/info")
350SET(INSTALL_MANDIR_RPM                  "share/man")
351#
352SET(INSTALL_SHAREDIR_RPM                "share")
353SET(INSTALL_MYSQLSHAREDIR_RPM           "share/mysql")
354SET(INSTALL_MYSQLTESTDIR_RPM            "share/mysql-test")
355SET(INSTALL_SQLBENCHDIR_RPM             "")
356SET(INSTALL_SUPPORTFILESDIR_RPM         "share/mysql")
357#
358SET(INSTALL_MYSQLDATADIR_RPM            "/var/lib/mysql")
359SET(INSTALL_PLUGINTESTDIR_RPM           ${plugin_tests})
360SET(INSTALL_SECURE_FILE_PRIVDIR_RPM     ${secure_file_priv_path})
361SET(INSTALL_SECURE_FILE_PRIV_EMBEDDEDDIR_RPM     ${secure_file_priv_embedded_path})
362
363#
364# SLES layout
365#
366SET(INSTALL_BINDIR_SLES                  "bin")
367SET(INSTALL_SBINDIR_SLES                 "sbin")
368SET(INSTALL_SCRIPTDIR_SLES               "bin")
369#
370IF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64")
371  SET(INSTALL_LIBDIR_SLES                "lib64")
372  SET(INSTALL_PLUGINDIR_SLES             "lib64/mysql/plugin")
373ELSE()
374  SET(INSTALL_LIBDIR_SLES                "lib")
375  SET(INSTALL_PLUGINDIR_SLES             "lib/mysql/plugin")
376ENDIF()
377#
378SET(INSTALL_INCLUDEDIR_SLES              "include/mysql")
379#
380#SET(INSTALL_DOCDIR_SLES                 unset - installed directly by SLES)
381#SET(INSTALL_DOCREADMEDIR_SLES           unset - installed directly by SLES)
382SET(INSTALL_INFODIR_SLES                 "share/info")
383SET(INSTALL_MANDIR_SLES                  "share/man")
384#
385SET(INSTALL_SHAREDIR_SLES                "share")
386SET(INSTALL_MYSQLSHAREDIR_SLES           "share/mysql")
387SET(INSTALL_MYSQLTESTDIR_SLES            "share/mysql-test")
388SET(INSTALL_SQLBENCHDIR_SLES             "")
389SET(INSTALL_SUPPORTFILESDIR_SLES         "share/mysql")
390#
391SET(INSTALL_MYSQLDATADIR_SLES            "/var/lib/mysql")
392SET(INSTALL_PLUGINTESTDIR_SLES           ${plugin_tests})
393SET(INSTALL_SECURE_FILE_PRIVDIR_SLES     ${secure_file_priv_path})
394SET(INSTALL_SECURE_FILE_PRIV_EMBEDDEDDIR_SLES     ${secure_file_priv_embedded_path})
395
396#
397# DEB layout
398#
399SET(INSTALL_BINDIR_DEB                  "bin")
400SET(INSTALL_SBINDIR_DEB                 "bin")
401SET(INSTALL_SCRIPTDIR_DEB               "scripts")
402#
403SET(INSTALL_LIBDIR_DEB                  "lib")
404SET(INSTALL_PLUGINDIR_DEB               "lib/mysql/plugin")
405#
406SET(INSTALL_INCLUDEDIR_DEB              "include")
407#
408SET(INSTALL_DOCDIR_DEB                  "docs")
409SET(INSTALL_DOCREADMEDIR_DEB            ".")
410SET(INSTALL_MANDIR_DEB                  "man")
411SET(INSTALL_INFODIR_DEB                 "docs")
412#
413SET(INSTALL_SHAREDIR_DEB                "share")
414SET(INSTALL_MYSQLSHAREDIR_DEB           "share")
415SET(INSTALL_MYSQLTESTDIR_DEB            "mysql-test")
416SET(INSTALL_SQLBENCHDIR_DEB             ".")
417SET(INSTALL_SUPPORTFILESDIR_DEB         "support-files")
418#
419SET(INSTALL_MYSQLDATADIR_DEB            "data")
420SET(INSTALL_PLUGINTESTDIR_DEB           ${plugin_tests})
421SET(INSTALL_SECURE_FILE_PRIVDIR_DEB     ${secure_file_priv_path})
422SET(INSTALL_SECURE_FILE_PRIV_EMBEDDEDDIR_DEB     ${secure_file_priv_embedded_path})
423
424#
425# SVR4 layout
426#
427SET(INSTALL_BINDIR_SVR4                 "bin")
428SET(INSTALL_SBINDIR_SVR4                "bin")
429SET(INSTALL_SCRIPTDIR_SVR4              "scripts")
430#
431SET(INSTALL_LIBDIR_SVR4                 "lib")
432SET(INSTALL_PLUGINDIR_SVR4              "lib/plugin")
433#
434SET(INSTALL_INCLUDEDIR_SVR4             "include")
435#
436SET(INSTALL_DOCDIR_SVR4                 "docs")
437SET(INSTALL_DOCREADMEDIR_SVR4           ".")
438SET(INSTALL_MANDIR_SVR4                 "man")
439SET(INSTALL_INFODIR_SVR4                "docs")
440#
441SET(INSTALL_SHAREDIR_SVR4               "share")
442SET(INSTALL_MYSQLSHAREDIR_SVR4          "share")
443SET(INSTALL_MYSQLTESTDIR_SVR4           "mysql-test")
444SET(INSTALL_SQLBENCHDIR_SVR4            ".")
445SET(INSTALL_SUPPORTFILESDIR_SVR4        "support-files")
446#
447SET(INSTALL_MYSQLDATADIR_SVR4           "/var/lib/mysql")
448SET(INSTALL_PLUGINTESTDIR_SVR4          ${plugin_tests})
449SET(INSTALL_SECURE_FILE_PRIVDIR_SVR4    ${secure_file_priv_path})
450SET(INSTALL_SECURE_FILE_PRIV_EMBEDDEDDIR_SVR4    ${secure_file_priv_embedded_path})
451
452
453# Clear cached variables if install layout was changed
454IF(OLD_INSTALL_LAYOUT)
455  IF(NOT OLD_INSTALL_LAYOUT STREQUAL INSTALL_LAYOUT)
456    SET(FORCE FORCE)
457  ENDIF()
458ENDIF()
459SET(OLD_INSTALL_LAYOUT ${INSTALL_LAYOUT} CACHE INTERNAL "")
460
461# Set INSTALL_FOODIR variables for chosen layout (for example, INSTALL_BINDIR
462# will be defined  as ${INSTALL_BINDIR_STANDALONE} by default if STANDALONE
463# layout is chosen)
464FOREACH(var BIN SBIN LIB MYSQLSHARE SHARE PLUGIN INCLUDE SCRIPT DOC MAN
465  INFO MYSQLTEST SQLBENCH DOCREADME SUPPORTFILES MYSQLDATA PLUGINTEST
466  SECURE_FILE_PRIV SECURE_FILE_PRIV_EMBEDDED)
467  SET(INSTALL_${var}DIR  ${INSTALL_${var}DIR_${INSTALL_LAYOUT}}
468  CACHE STRING "${var} installation directory" ${FORCE})
469  MARK_AS_ADVANCED(INSTALL_${var}DIR)
470ENDFOREACH()
471
472#
473# Set DEFAULT_SECURE_FILE_PRIV_DIR
474# This is used as default value for --secure-file-priv
475#
476IF(INSTALL_SECURE_FILE_PRIVDIR)
477  SET(DEFAULT_SECURE_FILE_PRIV_DIR "\"${INSTALL_SECURE_FILE_PRIVDIR}\""
478      CACHE INTERNAL "default --secure-file-priv directory" FORCE)
479ELSE()
480  SET(DEFAULT_SECURE_FILE_PRIV_DIR \"\"
481      CACHE INTERNAL "default --secure-file-priv directory" FORCE)
482ENDIF()
483
484IF(INSTALL_SECURE_FILE_PRIV_EMBEDDEDDIR)
485  SET(DEFAULT_SECURE_FILE_PRIV_EMBEDDED_DIR "\"${INSTALL_SECURE_FILE_PRIV_EMBEDDEDDIR}\""
486    CACHE INTERNAL "default --secure-file-priv directory (for embedded library)" FORCE)
487ELSE()
488  SET(DEFAULT_SECURE_FILE_PRIV_EMBEDDED_DIR "NULL"
489    CACHE INTERNAL "default --secure-file-priv directory (for embedded library)" FORCE)
490ENDIF()
491