1# Copyright (c) 2010, 2021, Oracle and/or its affiliates. 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_SUPPORTFILESDIR (various extra support files) 79# 80# - INSTALL_MYSQLDATADIR (data directory) 81# - INSTALL_MYSQLKEYRING (keyring 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_SUPPORTFILESDIR_STANDALONE "support-files") 179# 180SET(INSTALL_MYSQLDATADIR_STANDALONE "data") 181SET(INSTALL_MYSQLKEYRINGDIR_STANDALONE "keyring") 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_SUPPORTFILESDIR_WIN "support-files") 207# 208SET(INSTALL_MYSQLDATADIR_WIN "data") 209SET(INSTALL_MYSQLKEYRINGDIR_WIN "keyring") 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_SUPPORTFILESDIR_FREEBSD "support-files") 235# 236SET(INSTALL_MYSQLDATADIR_FREEBSD "data") 237SET(INSTALL_MYSQLKEYRINGDIR_FREEBSD "keyring") 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_SUPPORTFILESDIR_GLIBC "support-files") 263# 264SET(INSTALL_MYSQLDATADIR_GLIBC "data") 265SET(INSTALL_MYSQLKEYRINGDIR_GLIBC "keyring") 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_SUPPORTFILESDIR_OSX "support-files") 291# 292SET(INSTALL_MYSQLDATADIR_OSX "data") 293SET(INSTALL_MYSQLKEYRINGDIR_OSX "keyring") 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_SUPPORTFILESDIR_TARGZ "support-files") 319# 320SET(INSTALL_MYSQLDATADIR_TARGZ "data") 321SET(INSTALL_MYSQLKEYRINGDIR_TARGZ "keyring") 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_SUPPORTFILESDIR_RPM "share/mysql") 356# 357SET(INSTALL_MYSQLDATADIR_RPM "/var/lib/mysql") 358SET(INSTALL_MYSQLKEYRINGDIR_RPM "/var/lib/mysql-keyring") 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_SUPPORTFILESDIR_SLES "share/mysql") 389# 390SET(INSTALL_MYSQLDATADIR_SLES "/var/lib/mysql") 391SET(INSTALL_MYSQLKEYRINGDIR_SLES "/var/lib/mysql-keyring") 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_SUPPORTFILESDIR_DEB "support-files") 417# 418SET(INSTALL_MYSQLDATADIR_DEB "/var/lib/mysql") 419SET(INSTALL_MYSQLKEYRINGDIR_DEB "/var/lib/mysql-keyring") 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_SUPPORTFILESDIR_SVR4 "support-files") 445# 446SET(INSTALL_MYSQLDATADIR_SVR4 "/var/lib/mysql") 447SET(INSTALL_MYSQLKEYRINGDIR_SVR4 "/var/lib/mysql-keyring") 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 DOCREADME SUPPORTFILES MYSQLDATA PLUGINTEST 466 SECURE_FILE_PRIV SECURE_FILE_PRIV_EMBEDDED MYSQLKEYRING) 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