@ -17,6 +17,16 @@
INCLUDE ( CheckIncludeFiles )
INCLUDE ( CheckLibraryExists )
INCLUDE ( CheckTypeSize )
# X X X p a c k a g e _ n a m e . c m a k e u s e s t h i s t o o , m o v e i t s o m e w h e r e g l o b a l
CHECK_TYPE_SIZE ( "void *" SIZEOF_VOIDP )
IF ( SIZEOF_VOIDP EQUAL 4 )
SET ( 32BIT 1 )
ENDIF ( )
IF ( SIZEOF_VOIDP EQUAL 8 )
SET ( 64BIT 1 )
ENDIF ( )
SET ( FEATURE_SET "community" CACHE STRING
" S e l e c t i o n o f f e a t u r e s . O p t i o n s a r e
@ -78,7 +88,7 @@ IF(FEATURE_SET)
SET ( WITH_ ${ eng } _STORAGE_ENGINE OFF CACHE BOOL "" )
ELSE ( )
SET ( WITH_ ${ eng } _STORAGE_ENGINE ON CACHE BOOL "" )
ENDIF ( )
ENDIF ( )
ENDFOREACH ( )
ENDIF ( )
@ -86,7 +96,6 @@ OPTION(ENABLED_LOCAL_INFILE "" ON)
SET ( WITH_SSL bundled CACHE STRING "" )
SET ( WITH_ZLIB bundled CACHE STRING "" )
IF ( NOT COMPILATION_COMMENT )
SET ( COMPILATION_COMMENT "MySQL Community Server (GPL)" )
ENDIF ( )
@ -117,59 +126,62 @@ IF(UNIX)
ENDIF ( )
# C o m p i l e r o p t i o n s
IF ( UNIX )
# D e f a u l t s i f n o t s e t a t a l l
SET ( OPT_FLG "-O" )
SET ( DBG_FLG "-g" )
SET ( COMMON_CFLAGS "" )
SET ( COMMON_CXXFLAGS "" )
IF ( UNIX )
# D e f a u l t G C C f l a g s
IF ( CMAKE_COMPILER_IS_GNUC )
SET ( COMMON_C_FLAGS "-g -static-libgcc -fno-omit-frame-pointer" )
SET ( CMAKE_C_FLAGS_DEBUG "-O ${COMMON_C_FLAGS}" )
SET ( CMAKE_C_FLAGS_RELWITHDEBINFO "-O3 ${COMMON_C_FLAGS}" )
ENDIF ( )
IF ( CMAKE_COMPILER_IS_GNUCXX )
SET ( OPT_FLG "-O3" )
SET ( DBG_FLG "-O" )
SET ( COMMON_CFLAGS "-static-libgcc -g -fno-omit-frame-pointer" )
SET ( COMMON_CXXFLAGS "${COMMON_CFLAGS} -fno-implicit-templates -felide-constructors -fno-exceptions -fno-rtti" )
SET ( COMMON_CXX_FLAGS "-g -static-libgcc -fno-omit-frame-pointer -fno-implicit-templates -felide-constructors -fno-exceptions -fno-rtti" )
SET ( CMAKE_CXX_FLAGS_DEBUG "-O ${COMMON_CXX_FLAGS}" )
SET ( CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 ${COMMON_CXX_FLAGS}" )
ENDIF ( )
# H P U X f l a g s
IF ( CMAKE_SYSTEM_NAME MATCHES "HP-UX" )
IF ( CMAKE_C_COMPILER_ID MATCHES "HP" )
IF ( CMAKE_SYSTEM_PROCESSOR MATCHES "ia64" )
SET ( OPT_FLG "+O2" )
SET ( DBG_FLG "+O0" )
SET ( COMMON_CFLAGS "+DD64 +DSitanium2 -mt -AC99" )
SET ( COMMON_CXXFLAGS "+DD64 +DSitanium2 -mt -Aa" )
SET ( COMMON_C_FLAGS "+DSitanium2 -mt -AC99" )
SET ( COMMON_CXX_FLAGS "+DSitanium2 -mt -Aa" )
SET ( CMAKE_C_FLAGS_DEBUG "+O0 -g ${COMMON_C_FLAGS}" )
SET ( CMAKE_CXX_FLAGS_DEBUG "+O0 -g ${COMMON_CXX_FLAGS}" )
# W e h a v e s e e n c o m p i l e r b u g s w i t h o p t i m i s a t i o n a n d - g , s o d i s a b l e d f o r n o w
SET ( CMAKE_C_FLAGS_RELWITHDEBINFO "+O2 ${COMMON_C_FLAGS}" )
SET ( CMAKE_CXX_FLAGS_RELWITHDEBINFO "+O2 ${COMMON_CXX_FLAGS}" )
ENDIF ( )
ENDIF ( )
SET ( WITH_SSL no )
SET ( WITH_SSL )
ENDIF ( )
# L i n u x f l a g s
IF ( CMAKE_SYSTEM_NAME MATCHES "Linux" )
IF ( CMAKE_C_COMPILER_ID MATCHES "Intel" )
SET ( OPT_FLG "-O3 -unroll2 -ip" )
SET ( DBG_FLG "" )
SET ( COMMON_CFLAGS "-static-intel -static-libgcc -g -mp -restrict" )
SET ( COMMON_CXXFLAGS "${COMMON_CFLAGS} -fno-implicit-templates -fno-exceptions -fno-rtti" )
SET ( WITH_SSL no )
SET ( COMMON_C_FLAGS "-static-intel -static-libgcc -g -mp -restrict" )
SET ( COMMON_CXX_FLAGS "-static-intel -static-libgcc -g -mp -restrict -fno-implicit-templates -fno-exceptions -fno-rtti" )
IF ( CMAKE_SYSTEM_PROCESSOR MATCHES "ia64" )
SET ( COMMON_CFLAGS "${COMMON_CFLAGS} -no-ftz -no-prefetch" )
SET ( COMMON_CXXFLAGS "${COMMON_CXXFLAGS} -no-ftz -no-prefetch" )
SET ( COMMON_C_FLAGS "${COMMON_C_FLAGS} -no-ftz -no-prefetch" )
SET ( COMMON_CXX_FLAGS "${COMMON_CXX_FLAGS} -no-ftz -no-prefetch" )
ENDIF ( )
SET ( CMAKE_C_FLAGS_DEBUG "${COMMON_C_FLAGS}" )
SET ( CMAKE_CXX_FLAGS_DEBUG "${COMMON_CXX_FLAGS}" )
SET ( CMAKE_C_FLAGS_RELWITHDEBINFO "-O3 -unroll2 -ip ${COMMON_C_FLAGS}" )
SET ( CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 -unroll2 -ip ${COMMON_CXX_FLAGS}" )
SET ( WITH_SSL no )
ENDIF ( )
ENDIF ( )
# O S X f l a g s
IF ( APPLE )
SET ( OPT_FLG "-Os" )
SET ( DBG_FLG "-O" )
SET ( COMMON_CFLAGS "-g -fno-common" )
SET ( COMMON_CXXFLAGS "-g -felide-constructors -fno-common" )
SET ( COMMON_C_FLAGS "-g -fno-common" )
SET ( COMMON_CXX_FLAGS "-g -fno-common -felide-constructors -fno-implicit-templates -fno-exceptions -fno-rtti" )
SET ( CMAKE_C_FLAGS_DEBUG "-O ${COMMON_C_FLAGS}" )
SET ( CMAKE_CXX_FLAGS_DEBUG "-O ${COMMON_CXX_FLAGS}" )
SET ( CMAKE_C_FLAGS_RELWITHDEBINFO "-Os ${COMMON_C_FLAGS}" )
SET ( CMAKE_CXX_FLAGS_RELWITHDEBINFO "-Os ${COMMON_CXX_FLAGS}" )
ENDIF ( )
# S o l a r i s f l a g s
@ -179,42 +191,49 @@ IF(UNIX)
SET ( WITH_MYSQLD_LDFLAGS "-lmtmalloc" CACHE STRING "" )
ENDIF ( )
IF ( CMAKE_C_COMPILER_ID MATCHES "SunPro" )
SET ( DBG_FLG "" )
IF ( CMAKE_SYSTEM_PROCESSOR MATCHES "i386" )
IF ( CMAKE_SIZEOF_VOID_P EQUAL 4 )
# S o l a r i s x 8 6
SET ( OPT_FLG "-xO2" )
ELSE ( )
# S o l a r i s x 8 6 _ 6 4
SET ( OPT_FLG "-xO3" )
SET ( COMMON_C_FLAGS "-g -mt -fsimple=1 -ftrap=%none -nofstore -xbuiltin=%all -xlibmil -xlibmopt -xtarget=generic" )
SET ( COMMON_CXX_FLAGS "-g0 -mt -fsimple=1 -ftrap=%none -nofstore -xbuiltin=%all -xlibmil -xlibmopt -xtarget=generic" )
SET ( CMAKE_C_FLAGS_DEBUG "${COMMON_C_FLAGS}" )
SET ( CMAKE_CXX_FLAGS_DEBUG "${COMMON_CXX_FLAGS}" )
IF ( 32BIT )
SET ( CMAKE_C_FLAGS_RELWITHDEBINFO "-xO2 ${COMMON_C_FLAGS}" )
SET ( CMAKE_CXX_FLAGS_RELWITHDEBINFO "-xO2 ${COMMON_CXX_FLAGS}" )
ELSEIF ( 64BIT )
SET ( CMAKE_C_FLAGS_RELWITHDEBINFO "-xO3 ${COMMON_C_FLAGS}" )
SET ( CMAKE_CXX_FLAGS_RELWITHDEBINFO "-xO3 ${COMMON_CXX_FLAGS}" )
ENDIF ( )
SET ( COMMON_CFLAGS
" - g - m t - f s i m p l e = 1 - f t r a p = % n o n e - n o f s t o r e - x b u i l t i n = % a l l - x l i b m i l - x l i b m o p t - x t a r g e t = g e n e r i c " )
SET ( COMMON_CXXFLAGS
" - g 0 - m t - f s i m p l e = 1 - f t r a p = % n o n e - n o f s t o r e - x b u i l t i n = % a l l - f e a t u r e s = n o % e x c e p t - x l i b m i l - x l i b m o p t - x t a r g e t = g e n e r i c " )
ELSE ( )
IF ( CMAKE_SIZEOF_VOID_P EQUAL 4 )
# S o l a r i s s p a r c 3 2 b i t
SET ( OPT_FLG "-xO3 ")
SET ( COMMON_CFLAGS "-g -Xa -xstrconst -mt -xarch=sparc" )
SET ( COMMON_CXXFLAGS "-g0 -noex -mt -xarch=sparc" )
EL SE( )
# S o l a r i s s p a r c 6 4 b i t
SET ( OPT_FLG "-xO3 ")
SET ( COMMON_CFLAGS "-g -Xa -xstrconst -mt " )
SET ( COMMON_CXXFLAGS "-g0 -noex -mt " )
ENDIF ( )
# A s s u m e ! x 8 6 i s S P A R C
SET ( COMMON_C_FLAGS "-g -Xa -xstrconst -mt" )
SET ( COMMON_CXX_FLAGS "-g0 -noex -mt" )
IF ( 32BIT )
SET ( COMMON_C_FLAGS "${COMMON_C_FLAGS} -xarch=sparc" )
SET ( COMMON_CXX_FLAGS "${COMMON_CXX_FLAGS} -xarch=sparc" )
ENDIF ( )
SET ( CMAKE_C_FLAGS_DEBUG "${COMMON_C_FLAGS} ")
SET ( CMAKE_CXX_FLAGS_DEBUG "${COMMON_CXX_FLAGS} " )
SET ( CMAKE_C_FLAGS_RELWITHDEBINFO "-xO3 ${COMMON_C_FLAGS} " )
SET ( CMAKE_CXX_FLAGS_RELWITHDEBINFO "-xO3 ${COMMON_CXX_FLAGS}" )
ENDIF ( )
ENDIF ( )
ENDIF ( )
SET ( CMAKE_CXX_FLAGS_RELEASE "${OPT_FLG} ${COMMON_CXXFLAGS}" )
SET ( CMAKE_C_FLAGS_RELEASE "${OPT_FLG} ${COMMON_CFLAGS}" )
SET ( CMAKE_CXX_FLAGS_RELWITHDEBINFO "${OPT_FLG} ${COMMON_CXXFLAGS}" )
SET ( CMAKE_C_FLAGS_RELWITHDEBINFO "${OPT_FLG} ${COMMON_CFLAGS}" )
SET ( CMAKE_CXX_FLAGS_DEBUG "${DBG_FLG} ${COMMON_CXXFLAGS}" )
SET ( CMAKE_C_FLAGS_DEBUG "${DBG_FLG} ${COMMON_CFLAGS}" )
IF ( CMAKE_C_FLAGS_DEBUG )
SET ( CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}"
C A C H E S T R I N G " D e b u g C c o m p i l e f l a g s " )
ENDIF ( )
IF ( CMAKE_CXX_FLAGS_DEBUG )
SET ( CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}"
C A C H E S T R I N G " D e b u g C + + c o m p i l e f l a g s " )
ENDIF ( )
IF ( CMAKE_C_FLAGS_RELWITHDEBINFO )
SET ( CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO}"
C A C H E S T R I N G " R e l W i t h D e b I n f o C c o m p i l e f l a g s " )
ENDIF ( )
IF ( CMAKE_CXX_FLAGS_RELWITHDEBINFO )
SET ( CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}"
C A C H E S T R I N G " R e l W i t h D e b I n f o C + + c o m p i l e f l a g s " )
ENDIF ( )
ENDIF ( )