@ -1,4 +1,4 @@
# Copyright ( c ) 2 0 1 0 , 2 0 1 2 , O r a c l e a n d / o r i t s a f f i l i a t e s . A l l r i g h t s r e s e r v e d .
# Copyright ( c ) 2 0 1 0 , 2 0 1 6 , O r a c l e a n d / o r i t s a f f i l i a t e s . A l l r i g h t s r e s e r v e d .
#
# T h i s p r o g r a m i s f r e e s o f t w a r e ; y o u c a n r e d i s t r i b u t e i t a n d / o r m o d i f y
# i t u n d e r t h e t e r m s o f t h e G N U G e n e r a l P u b l i c L i c e n s e a s p u b l i s h e d b y
@ -22,7 +22,7 @@
# a n d r e l a t i v e l i n k s . W i n d o w s z i p u s e s t h e s a m e t a r b a l l l a y o u t b u t w i t h o u t
# t h e b u i l d p r e f i x .
#
# R P M
# R P M , S L E S
# B u i l d a s p e r d e f a u l t R P M l a y o u t , w i t h p r e f i x = / u s r
# N o t e : T h e l a y o u t f o r U L N R P M s d i f f e r s , s e e t h e " R P M " s e c t i o n .
#
@ -32,10 +32,22 @@
# S V R 4
# S o l a r i s p a c k a g e l a y o u t s u i t a b l e f o r p k g * t o o l s , p r e f i x = / o p t / m y s q l / m y s q l
#
# F R E E B S D , G L I B C , O S X , T A R G Z
# B u i l d w i t h p r e f i x = / u s r / l o c a l / m y s q l , c r e a t e t a r b a l l w i t h i n s t a l l p r e f i x = " . "
# a n d r e l a t i v e l i n k s .
#
# W I N
# W i n d o w s z i p : s a m e a s t a r b a l l l a y o u t b u t w i t h o u t t h e b u i l d p r e f i x
#
# T o f o r c e a d i r e c t o r y l a y o u t , u s e - D I N S T A L L _ L A Y O U T = < l a y o u t > .
#
# T h e d e f a u l t i s S T A N D A L O N E .
#
# N o t e : A t p r e s e n t , R P M a n d S L E S l a y o u t s a r e s i m i l a r . T h i s i s a l s o t r u e
# f o r l a y o u t s l i k e F R E E B S D , G L I B C , O S X , T A R G Z . H o w e v e r , t h e y p r o v i d e
# o p p o r t u n i t y t o f i n e - t u n e d e p l o y m e n t f o r e a c h p l a t f o r m w i t h o u t
# a f f e c t i n g a l l o t h e r t y p e s o f d e p l o y m e n t .
#
# T h e r e i s t h e p o s s i b i l i t y t o f u r t h e r f i n e - t u n e i n s t a l l a t i o n d i r e c t o r i e s .
# S e v e r a l v a r i a b l e s c a n b e o v e r w r i t t e n :
#
@ -60,6 +72,7 @@
# - INSTALL_SUPPORTFILESDIR ( various extra support files )
#
# - INSTALL_MYSQLDATADIR ( data directory )
# - INSTALL_SECURE_FILE_PRIVDIR ( --secure-file-priv directory )
#
# W h e n c h a n g i n g t h i s p a g e , _ p l e a s e _ d o n o t f o r g e t t o u p d a t e p u b l i c W i k i
# h t t p : / / f o r g e . m y s q l . c o m / w i k i / C M a k e # F i n e - t u n i n g _ i n s t a l l a t i o n _ p a t h s
@ -69,10 +82,11 @@ IF(NOT INSTALL_LAYOUT)
ENDIF ( )
SET ( INSTALL_LAYOUT "${DEFAULT_INSTALL_LAYOUT}"
C A C H E S T R I N G " I n s t a l l a t i o n d i r e c t o r y l a y o u t . O p t i o n s a r e : STANDALONE ( as in zip or tar.gz installer ) , R P M , D E B , S V R 4 " )
C A C H E S T R I N G " I n s t a l l a t i o n d i r e c t o r y l a y o u t . O p t i o n s a r e : TARGZ ( as in tar.gz installer ) , WIN ( as in zip installer ) , S T A N D A L O N E , R P M , D E B , S V R 4 , F R E E B S D , G L I B C , O S X , S L E S " )
IF ( UNIX )
IF ( INSTALL_LAYOUT MATCHES "RPM" )
IF ( INSTALL_LAYOUT MATCHES "RPM" OR
I N S T A L L _ L A Y O U T M A T C H E S " S L E S " )
SET ( default_prefix "/usr" )
ELSEIF ( INSTALL_LAYOUT MATCHES "DEB" )
SET ( default_prefix "/opt/mysql/server-${MYSQL_BASE_VERSION}" )
@ -87,7 +101,7 @@ IF(UNIX)
SET ( CMAKE_INSTALL_PREFIX ${ default_prefix }
C A C H E P A T H " i n s t a l l p r e f i x " F O R C E )
ENDIF ( )
SET ( VALID_INSTALL_LAYOUTS "RPM" "STANDALONE" "DEB" "SVR4 " )
SET ( VALID_INSTALL_LAYOUTS "RPM" "DEB" "SVR4" "FREEBSD" "GLIBC" "OSX" "TARGZ" "SLES" "STANDALONE " )
LIST ( FIND VALID_INSTALL_LAYOUTS "${INSTALL_LAYOUT}" ind )
IF ( ind EQUAL -1 )
MESSAGE ( FATAL_ERROR "Invalid INSTALL_LAYOUT parameter:${INSTALL_LAYOUT}."
@ -99,6 +113,15 @@ IF(UNIX)
MARK_AS_ADVANCED ( SYSCONFDIR )
ENDIF ( )
IF ( WIN32 )
SET ( VALID_INSTALL_LAYOUTS "TARGZ" "STANDALONE" "WIN" )
LIST ( FIND VALID_INSTALL_LAYOUTS "${INSTALL_LAYOUT}" ind )
IF ( ind EQUAL -1 )
MESSAGE ( FATAL_ERROR "Invalid INSTALL_LAYOUT parameter:${INSTALL_LAYOUT}."
" C h o o s e b e t w e e n $ { V A L I D _ I N S T A L L _ L A Y O U T S } " )
ENDIF ( )
ENDIF ( )
#
# p l u g i n _ t e s t s ' s v a l u e s h o u l d n o t b e u s e d b y i m p o r t e d p l u g i n s ,
# j u s t u s e if ( INSTALL_PLUGINTESTDIR ) .
@ -109,6 +132,22 @@ FILE(GLOB plugin_tests
$ { C M A K E _ S O U R C E _ D I R } / i n t e r n a l / p l u g i n / * / t e s t s
)
#
# D E F A U L T _ S E C U R E _ F I L E _ P R I V _ D I R / D E F A U L T _ S E C U R E _ F I L E _ P R I V _ E M B E D D E D _ D I R
#
IF ( INSTALL_LAYOUT MATCHES "STANDALONE" OR
I N S T A L L _ L A Y O U T M A T C H E S " W I N " )
SET ( secure_file_priv_path "NULL" )
ELSEIF ( INSTALL_LAYOUT MATCHES "RPM" OR
I N S T A L L _ L A Y O U T M A T C H E S " S L E S " O R
I N S T A L L _ L A Y O U T M A T C H E S " S V R 4 " O R
I N S T A L L _ L A Y O U T M A T C H E S " D E B " )
SET ( secure_file_priv_path "/var/lib/mysql-files" )
ELSE ( )
SET ( secure_file_priv_path "${default_prefix}/mysql-files" )
ENDIF ( )
SET ( secure_file_priv_embedded_path "NULL" )
#
# S T A N D A L O N E l a y o u t
#
@ -134,6 +173,148 @@ SET(INSTALL_SUPPORTFILESDIR_STANDALONE "support-files")
#
SET ( INSTALL_MYSQLDATADIR_STANDALONE "data" )
SET ( INSTALL_PLUGINTESTDIR_STANDALONE ${ plugin_tests } )
SET ( INSTALL_SECURE_FILE_PRIVDIR_STANDALONE ${ secure_file_priv_path } )
SET ( INSTALL_SECURE_FILE_PRIV_EMBEDDEDDIR_STANDALONE ${ secure_file_priv_embedded_path } )
#
# W I N l a y o u t
#
SET ( INSTALL_BINDIR_WIN "bin" )
SET ( INSTALL_SBINDIR_WIN "bin" )
SET ( INSTALL_SCRIPTDIR_WIN "scripts" )
#
SET ( INSTALL_LIBDIR_WIN "lib" )
SET ( INSTALL_PLUGINDIR_WIN "lib/plugin" )
#
SET ( INSTALL_INCLUDEDIR_WIN "include" )
#
SET ( INSTALL_DOCDIR_WIN "docs" )
SET ( INSTALL_DOCREADMEDIR_WIN "." )
SET ( INSTALL_MANDIR_WIN "man" )
SET ( INSTALL_INFODIR_WIN "docs" )
#
SET ( INSTALL_SHAREDIR_WIN "share" )
SET ( INSTALL_MYSQLSHAREDIR_WIN "share" )
SET ( INSTALL_MYSQLTESTDIR_WIN "mysql-test" )
SET ( INSTALL_SQLBENCHDIR_WIN "." )
SET ( INSTALL_SUPPORTFILESDIR_WIN "support-files" )
#
SET ( INSTALL_MYSQLDATADIR_WIN "data" )
SET ( INSTALL_PLUGINTESTDIR_WIN ${ plugin_tests } )
SET ( INSTALL_SECURE_FILE_PRIVDIR_WIN ${ secure_file_priv_path } )
SET ( INSTALL_SECURE_FILE_PRIV_EMBEDDEDDIR_WIN ${ secure_file_priv_embedded_path } )
#
# F R E E B S D l a y o u t
#
SET ( INSTALL_BINDIR_FREEBSD "bin" )
SET ( INSTALL_SBINDIR_FREEBSD "bin" )
SET ( INSTALL_SCRIPTDIR_FREEBSD "scripts" )
#
SET ( INSTALL_LIBDIR_FREEBSD "lib" )
SET ( INSTALL_PLUGINDIR_FREEBSD "lib/plugin" )
#
SET ( INSTALL_INCLUDEDIR_FREEBSD "include" )
#
SET ( INSTALL_DOCDIR_FREEBSD "docs" )
SET ( INSTALL_DOCREADMEDIR_FREEBSD "." )
SET ( INSTALL_MANDIR_FREEBSD "man" )
SET ( INSTALL_INFODIR_FREEBSD "docs" )
#
SET ( INSTALL_SHAREDIR_FREEBSD "share" )
SET ( INSTALL_MYSQLSHAREDIR_FREEBSD "share" )
SET ( INSTALL_MYSQLTESTDIR_FREEBSD "mysql-test" )
SET ( INSTALL_SQLBENCHDIR_FREEBSD "." )
SET ( INSTALL_SUPPORTFILESDIR_FREEBSD "support-files" )
#
SET ( INSTALL_MYSQLDATADIR_FREEBSD "data" )
SET ( INSTALL_PLUGINTESTDIR_FREEBSD ${ plugin_tests } )
SET ( INSTALL_SECURE_FILE_PRIVDIR_FREEBSD ${ secure_file_priv_path } )
SET ( INSTALL_SECURE_FILE_PRIV_EMBEDDEDDIR_FREEBSD ${ secure_file_priv_embedded_path } )
#
# G L I B C l a y o u t
#
SET ( INSTALL_BINDIR_GLIBC "bin" )
SET ( INSTALL_SBINDIR_GLIBC "bin" )
SET ( INSTALL_SCRIPTDIR_GLIBC "scripts" )
#
SET ( INSTALL_LIBDIR_GLIBC "lib" )
SET ( INSTALL_PLUGINDIR_GLIBC "lib/plugin" )
#
SET ( INSTALL_INCLUDEDIR_GLIBC "include" )
#
SET ( INSTALL_DOCDIR_GLIBC "docs" )
SET ( INSTALL_DOCREADMEDIR_GLIBC "." )
SET ( INSTALL_MANDIR_GLIBC "man" )
SET ( INSTALL_INFODIR_GLIBC "docs" )
#
SET ( INSTALL_SHAREDIR_GLIBC "share" )
SET ( INSTALL_MYSQLSHAREDIR_GLIBC "share" )
SET ( INSTALL_MYSQLTESTDIR_GLIBC "mysql-test" )
SET ( INSTALL_SQLBENCHDIR_GLIBC "." )
SET ( INSTALL_SUPPORTFILESDIR_GLIBC "support-files" )
#
SET ( INSTALL_MYSQLDATADIR_GLIBC "data" )
SET ( INSTALL_PLUGINTESTDIR_GLIBC ${ plugin_tests } )
SET ( INSTALL_SECURE_FILE_PRIVDIR_GLIBC ${ secure_file_priv_path } )
SET ( INSTALL_SECURE_FILE_PRIV_EMBEDDEDDIR_GLIBC ${ secure_file_priv_embedded_path } )
#
# O S X l a y o u t
#
SET ( INSTALL_BINDIR_OSX "bin" )
SET ( INSTALL_SBINDIR_OSX "bin" )
SET ( INSTALL_SCRIPTDIR_OSX "scripts" )
#
SET ( INSTALL_LIBDIR_OSX "lib" )
SET ( INSTALL_PLUGINDIR_OSX "lib/plugin" )
#
SET ( INSTALL_INCLUDEDIR_OSX "include" )
#
SET ( INSTALL_DOCDIR_OSX "docs" )
SET ( INSTALL_DOCREADMEDIR_OSX "." )
SET ( INSTALL_MANDIR_OSX "man" )
SET ( INSTALL_INFODIR_OSX "docs" )
#
SET ( INSTALL_SHAREDIR_OSX "share" )
SET ( INSTALL_MYSQLSHAREDIR_OSX "share" )
SET ( INSTALL_MYSQLTESTDIR_OSX "mysql-test" )
SET ( INSTALL_SQLBENCHDIR_OSX "." )
SET ( INSTALL_SUPPORTFILESDIR_OSX "support-files" )
#
SET ( INSTALL_MYSQLDATADIR_OSX "data" )
SET ( INSTALL_PLUGINTESTDIR_OSX ${ plugin_tests } )
SET ( INSTALL_SECURE_FILE_PRIVDIR_OSX ${ secure_file_priv_path } )
SET ( INSTALL_SECURE_FILE_PRIV_EMBEDDEDDIR_OSX ${ secure_file_priv_embedded_path } )
#
# T A R G Z l a y o u t
#
SET ( INSTALL_BINDIR_TARGZ "bin" )
SET ( INSTALL_SBINDIR_TARGZ "bin" )
SET ( INSTALL_SCRIPTDIR_TARGZ "scripts" )
#
SET ( INSTALL_LIBDIR_TARGZ "lib" )
SET ( INSTALL_PLUGINDIR_TARGZ "lib/plugin" )
#
SET ( INSTALL_INCLUDEDIR_TARGZ "include" )
#
SET ( INSTALL_DOCDIR_TARGZ "docs" )
SET ( INSTALL_DOCREADMEDIR_TARGZ "." )
SET ( INSTALL_MANDIR_TARGZ "man" )
SET ( INSTALL_INFODIR_TARGZ "docs" )
#
SET ( INSTALL_SHAREDIR_TARGZ "share" )
SET ( INSTALL_MYSQLSHAREDIR_TARGZ "share" )
SET ( INSTALL_MYSQLTESTDIR_TARGZ "mysql-test" )
SET ( INSTALL_SQLBENCHDIR_TARGZ "." )
SET ( INSTALL_SUPPORTFILESDIR_TARGZ "support-files" )
#
SET ( INSTALL_MYSQLDATADIR_TARGZ "data" )
SET ( INSTALL_PLUGINTESTDIR_TARGZ ${ plugin_tests } )
SET ( INSTALL_SECURE_FILE_PRIVDIR_TARGZ ${ secure_file_priv_path } )
SET ( INSTALL_SECURE_FILE_PRIV_EMBEDDEDDIR_TARGZ ${ secure_file_priv_embedded_path } )
#
# R P M l a y o u t
@ -169,6 +350,41 @@ SET(INSTALL_SUPPORTFILESDIR_RPM "share/mysql")
#
SET ( INSTALL_MYSQLDATADIR_RPM "/var/lib/mysql" )
SET ( INSTALL_PLUGINTESTDIR_RPM ${ plugin_tests } )
SET ( INSTALL_SECURE_FILE_PRIVDIR_RPM ${ secure_file_priv_path } )
SET ( INSTALL_SECURE_FILE_PRIV_EMBEDDEDDIR_RPM ${ secure_file_priv_embedded_path } )
#
# S L E S l a y o u t
#
SET ( INSTALL_BINDIR_SLES "bin" )
SET ( INSTALL_SBINDIR_SLES "sbin" )
SET ( INSTALL_SCRIPTDIR_SLES "bin" )
#
IF ( CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64" )
SET ( INSTALL_LIBDIR_SLES "lib64" )
SET ( INSTALL_PLUGINDIR_SLES "lib64/mysql/plugin" )
ELSE ( )
SET ( INSTALL_LIBDIR_SLES "lib" )
SET ( INSTALL_PLUGINDIR_SLES "lib/mysql/plugin" )
ENDIF ( )
#
SET ( INSTALL_INCLUDEDIR_SLES "include/mysql" )
#
# SET ( INSTALL_DOCDIR_SLES unset - installed directly by SLES )
# SET ( INSTALL_DOCREADMEDIR_SLES unset - installed directly by SLES )
SET ( INSTALL_INFODIR_SLES "share/info" )
SET ( INSTALL_MANDIR_SLES "share/man" )
#
SET ( INSTALL_SHAREDIR_SLES "share" )
SET ( INSTALL_MYSQLSHAREDIR_SLES "share/mysql" )
SET ( INSTALL_MYSQLTESTDIR_SLES "share/mysql-test" )
SET ( INSTALL_SQLBENCHDIR_SLES "" )
SET ( INSTALL_SUPPORTFILESDIR_SLES "share/mysql" )
#
SET ( INSTALL_MYSQLDATADIR_SLES "/var/lib/mysql" )
SET ( INSTALL_PLUGINTESTDIR_SLES ${ plugin_tests } )
SET ( INSTALL_SECURE_FILE_PRIVDIR_SLES ${ secure_file_priv_path } )
SET ( INSTALL_SECURE_FILE_PRIV_EMBEDDEDDIR_SLES ${ secure_file_priv_embedded_path } )
#
# D E B l a y o u t
@ -193,8 +409,10 @@ SET(INSTALL_MYSQLTESTDIR_DEB "mysql-test")
SET ( INSTALL_SQLBENCHDIR_DEB "." )
SET ( INSTALL_SUPPORTFILESDIR_DEB "support-files" )
#
SET ( INSTALL_MYSQLDATADIR_DEB "data " )
SET ( INSTALL_MYSQLDATADIR_DEB "/var/lib/mysql " )
SET ( INSTALL_PLUGINTESTDIR_DEB ${ plugin_tests } )
SET ( INSTALL_SECURE_FILE_PRIVDIR_DEB ${ secure_file_priv_path } )
SET ( INSTALL_SECURE_FILE_PRIV_EMBEDDEDDIR_DEB ${ secure_file_priv_embedded_path } )
#
# S V R 4 l a y o u t
@ -221,7 +439,8 @@ SET(INSTALL_SUPPORTFILESDIR_SVR4 "support-files")
#
SET ( INSTALL_MYSQLDATADIR_SVR4 "/var/lib/mysql" )
SET ( INSTALL_PLUGINTESTDIR_SVR4 ${ plugin_tests } )
SET ( INSTALL_SECURE_FILE_PRIVDIR_SVR4 ${ secure_file_priv_path } )
SET ( INSTALL_SECURE_FILE_PRIV_EMBEDDEDDIR_SVR4 ${ secure_file_priv_embedded_path } )
# C l e a r c a c h e d v a r i a b l e s i f i n s t a l l l a y o u t w a s c h a n g e d
IF ( OLD_INSTALL_LAYOUT )
@ -235,8 +454,29 @@ SET(OLD_INSTALL_LAYOUT ${INSTALL_LAYOUT} CACHE INTERNAL "")
# w i l l b e d e f i n e d a s $ { I N S T A L L _ B I N D I R _ S T A N D A L O N E } b y d e f a u l t i f S T A N D A L O N E
# l a y o u t i s c h o s e n )
FOREACH ( var BIN SBIN LIB MYSQLSHARE SHARE PLUGIN INCLUDE SCRIPT DOC MAN
I N F O M Y S Q L T E S T S Q L B E N C H D O C R E A D M E S U P P O R T F I L E S M Y S Q L D A T A P L U G I N T E S T )
I N F O M Y S Q L T E S T S Q L B E N C H D O C R E A D M E S U P P O R T F I L E S M Y S Q L D A T A P L U G I N T E S T
S E C U R E _ F I L E _ P R I V S E C U R E _ F I L E _ P R I V _ E M B E D D E D )
SET ( INSTALL_ ${ var } DIR ${ INSTALL_${var } DIR_ ${ INSTALL_LAYOUT } }
C A C H E S T R I N G " $ { v a r } i n s t a l l a t i o n d i r e c t o r y " $ { F O R C E } )
MARK_AS_ADVANCED ( INSTALL_ ${ var } DIR )
ENDFOREACH ( )
#
# S e t D E F A U L T _ S E C U R E _ F I L E _ P R I V _ D I R
# T h i s i s u s e d a s d e f a u l t v a l u e f o r - - s e c u r e - f i l e - p r i v
#
IF ( INSTALL_SECURE_FILE_PRIVDIR )
SET ( DEFAULT_SECURE_FILE_PRIV_DIR "\" ${ INSTALL_SECURE_FILE_PRIVDIR } \""
C A C H E I N T E R N A L " d e f a u l t - - s e c u r e - f i l e - p r i v d i r e c t o r y " F O R C E )
ELSE ( )
SET ( DEFAULT_SECURE_FILE_PRIV_DIR \"\"
C A C H E I N T E R N A L " d e f a u l t - - s e c u r e - f i l e - p r i v d i r e c t o r y " F O R C E )
ENDIF ( )
IF ( INSTALL_SECURE_FILE_PRIV_EMBEDDEDDIR )
SET ( DEFAULT_SECURE_FILE_PRIV_EMBEDDED_DIR "\" ${ INSTALL_SECURE_FILE_PRIV_EMBEDDEDDIR } \""
C A C H E I N T E R N A L " d e f a u l t - - s e c u r e - f i l e - p r i v directory ( for embedded library ) " F O R C E )
ELSE ( )
SET ( DEFAULT_SECURE_FILE_PRIV_EMBEDDED_DIR "NULL"
C A C H E I N T E R N A L " d e f a u l t - - s e c u r e - f i l e - p r i v directory ( for embedded library ) " F O R C E )
ENDIF ( )