summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xCMakeLists.txt23
-rw-r--r--cmake/build_configurations/mysql_release.cmake184
2 files changed, 106 insertions, 101 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index dcc4972fbc0..77cb30a8a40 100755
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -19,9 +19,6 @@ if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" GREATER 2.6)
CMAKE_POLICY(VERSION 2.8)
endif()
-IF(BUILD_CONFIG)
- INCLUDE(${CMAKE_SOURCE_DIR}/cmake/build_configurations/${BUILD_CONFIG}.cmake)
-ENDIF()
SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake)
@@ -31,7 +28,7 @@ SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake)
# is given, set CMAKE_BUILD_TYPE = Debug. Otherwise, use Relwithdebinfo.
-IF(CMAKE_BUILD_TYPE)
+IF(DEFINED CMAKE_BUILD_TYPE)
SET(HAVE_CMAKE_BUILD_TYPE TRUE)
ENDIF()
SET(CUSTOM_C_FLAGS $ENV{CFLAGS})
@@ -42,19 +39,27 @@ ENDIF()
OPTION(WITH_DEBUG "Use dbug" OFF)
OPTION(WITH_DEBUG_FULL "Use dbug and safemalloc/safemutex. Slow" OFF)
-IF(NOT HAVE_CMAKE_BUILD_TYPE AND NOT CUSTOM_C_FLAGS)
- IF(WITH_DEBUG)
- SET(CMAKE_BUILD_TYPE "Debug" CACHE STRING "Debug build" FORCE)
- ELSE()
- SET(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING "RelWithDebInfo build" FORCE)
+IF(NOT HAVE_CMAKE_BUILD_TYPE)
+ IF(BUILD_CONFIG OR NOT CUSTOM_C_FLAGS)
+ IF(WITH_DEBUG)
+ SET(CMAKE_BUILD_TYPE "Debug" CACHE STRING "Debug build" FORCE)
+ ELSE()
+ SET(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
+ "RelWithDebInfo build" FORCE)
+ ENDIF()
ENDIF()
ENDIF()
+
IF(WITH_DEBUG_FULL)
SET(WITH_DEBUG ON CACHE BOOL "Use DBUG")
ENDIF()
PROJECT(MySQL)
+IF(BUILD_CONFIG)
+ INCLUDE(${CMAKE_SOURCE_DIR}/cmake/build_configurations/${BUILD_CONFIG}.cmake)
+ENDIF()
+
IF(CYGWIN)
SET(WIN32 0)
ENDIF()
diff --git a/cmake/build_configurations/mysql_release.cmake b/cmake/build_configurations/mysql_release.cmake
index 9db37b8da95..1769565f065 100644
--- a/cmake/build_configurations/mysql_release.cmake
+++ b/cmake/build_configurations/mysql_release.cmake
@@ -1,92 +1,92 @@
-# Copyright (C) 2010 Sun Microsystems, Inc
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-# This file includes build settings used for MySQL release
-
-SET(WITH_INNOBASE_STORAGE_ENGINE 1)
-SET(WITH_ARCHIVE_STORAGE_ENGINE 1)
-SET(WITH_BLACKHOLE_STORAGE_ENGINE 1)
-SET(WITH_FEDERATED_STORAGE_ENGINE 1)
-SET(WITHOUT_EXAMPLE_STORAGE_ENGINE 1)
-SET(WITH_EMBEDDED_SERVER 1)
-SET(ENABLE_LOCAL_INFILE TRUE)
-SET(WITH_SSL bundled)
-SET(WITH_ZLIB bundled)
-
-
-IF(NOT COMPILATION_COMMENT)
- SET(COMPILATION_COMMENT "MySQL Community Server (GPL)")
-ENDIF()
-
-IF(UNIX)
- SET(CMAKE_INSTALL_PREFIX "/usr/local/mysql")
- SET(WITH_EXTRA_CHARSETS complex)
- SET(WITH_READLINE TRUE)
- SET(WITH_PIC TRUE)
-
- # Default GCC flags
- IF(CMAKE_C_COMPILER_IS_GNUCXX)
- SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-g -O3 -static-libgcc -fno-omit-frame-pointer")
- SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-g -O3 -static-libgcc -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti")
- ENDIF()
-
-
- # HPUX flags
- IF(CMAKE_SYSTEM_NAME MATCHES "HP-UX")
- IF(CMAKE_C_COMPILER_ID MATCHES "HP")
- IF(CMAKE_SYSTEM_PROCESSOR MATCHES "ia64")
- SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-g +O2 +DD64 +DSitanium2 -mt -AC99")
- SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-g +O2 +DD64 +DSitanium2 -mt -Aa")
- ENDIF()
- ENDIF()
- SET(WITH_SSL)
- ENDIF()
-
- # Linux flags
- IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
- IF(CMAKE_C_COMPILER_ID MATCHES "Intel")
- SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-static-intel -g -O3 -unroll2 -ip -mp -restrict")
- SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-static-intel -g -O3 -unroll2 -ip -mp -restrict")
- ENDIF()
- ENDIF()
-
- # OSX flags
- IF(APPLE)
- SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-Os ${CMAKE_C_FLAGS_RELWITHDEBINFO}")
- SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-Os ${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
- ENDIF()
-
- # Solaris flags
- IF(CMAKE_SYSTEM_NAME MATCHES "SunOS")
- IF(CMAKE_C_COMPILER_ID MATCHES "SunPro")
- IF(CMAKE_SYSTEM_PROCESSOR MATCHES "i386")
- IF(CMAKE_SIZEOF_VOIDP EQUAL 4)
- # 32 bit - optinmization is -xO2
- SET(CMAKE_C_FLAGS_RELWITHDEBINFO
- "-g -xO2 -mt -fsimple=1 -ftrap=%none -nofstore -xbuiltin=%all -xlibmil -xlibmopt -xtarget=generic")
- SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO
- "-g0 -xO2 -mt -fsimple=1 -ftrap=%none -nofstore -xbuiltin=%all -features=no%except -xlibmil -xlibmopt -xtarget=generic")
- ELSE()
- # 64 bit - optimization is -xO3
- SET(CMAKE_C_FLAGS_RELWITHDEBINFO
- "-g -xO3 -mt -fsimple=1 -ftrap=%none -nofstore -xbuiltin=%all -xlibmil -xlibmopt -xtarget=generic")
- SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO
- "-g0 -xO3 -mt -fsimple=1 -ftrap=%none -nofstore -xbuiltin=%all -features=no%except -xlibmil -xlibmopt -xtarget=generic")
- ENDIF()
- ENDIF()
- ENDIF()
- ENDIF()
-
- ENDIF()
+# Copyright (C) 2010 Sun Microsystems, Inc
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+# This file includes build settings used for MySQL release
+
+SET(WITH_INNOBASE_STORAGE_ENGINE 1)
+SET(WITH_ARCHIVE_STORAGE_ENGINE 1)
+SET(WITH_BLACKHOLE_STORAGE_ENGINE 1)
+SET(WITH_FEDERATED_STORAGE_ENGINE 1)
+SET(WITHOUT_EXAMPLE_STORAGE_ENGINE 1)
+SET(WITH_EMBEDDED_SERVER 1)
+SET(ENABLE_LOCAL_INFILE TRUE)
+SET(WITH_SSL bundled)
+SET(WITH_ZLIB bundled)
+
+
+IF(NOT COMPILATION_COMMENT)
+ SET(COMPILATION_COMMENT "MySQL Community Server (GPL)")
+ENDIF()
+
+IF(UNIX)
+ SET(CMAKE_INSTALL_PREFIX "/usr/local/mysql")
+ SET(WITH_EXTRA_CHARSETS complex)
+ SET(WITH_READLINE TRUE)
+ SET(WITH_PIC TRUE)
+
+ # Default GCC flags
+ IF(CMAKE_C_COMPILER_IS_GNUCXX)
+ SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-g -O3 -static-libgcc -fno-omit-frame-pointer")
+ SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-g -O3 -static-libgcc -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti")
+ ENDIF()
+
+
+ # HPUX flags
+ IF(CMAKE_SYSTEM_NAME MATCHES "HP-UX")
+ IF(CMAKE_C_COMPILER_ID MATCHES "HP")
+ IF(CMAKE_SYSTEM_PROCESSOR MATCHES "ia64")
+ SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-g +O2 +DD64 +DSitanium2 -mt -AC99")
+ SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-g +O2 +DD64 +DSitanium2 -mt -Aa")
+ ENDIF()
+ ENDIF()
+ SET(WITH_SSL)
+ ENDIF()
+
+ # Linux flags
+ IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
+ IF(CMAKE_C_COMPILER_ID MATCHES "Intel")
+ SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-static-intel -g -O3 -unroll2 -ip -mp -restrict")
+ SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-static-intel -g -O3 -unroll2 -ip -mp -restrict")
+ ENDIF()
+ ENDIF()
+
+ # OSX flags
+ IF(APPLE)
+ SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-Os ${CMAKE_C_FLAGS_RELWITHDEBINFO}")
+ SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-Os ${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
+ ENDIF()
+
+ # Solaris flags
+ IF(CMAKE_SYSTEM_NAME MATCHES "SunOS")
+ IF(CMAKE_C_COMPILER_ID MATCHES "SunPro")
+ IF(CMAKE_SYSTEM_PROCESSOR MATCHES "i386")
+ IF(CMAKE_SIZEOF_VOIDP EQUAL 4)
+ # 32 bit - optinmization is -xO2
+ SET(CMAKE_C_FLAGS_RELWITHDEBINFO
+ "-g -xO2 -mt -fsimple=1 -ftrap=%none -nofstore -xbuiltin=%all -xlibmil -xlibmopt -xtarget=generic")
+ SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO
+ "-g0 -xO2 -mt -fsimple=1 -ftrap=%none -nofstore -xbuiltin=%all -features=no%except -xlibmil -xlibmopt -xtarget=generic")
+ ELSE()
+ # 64 bit - optimization is -xO3
+ SET(CMAKE_C_FLAGS_RELWITHDEBINFO
+ "-g -xO3 -mt -fsimple=1 -ftrap=%none -nofstore -xbuiltin=%all -xlibmil -xlibmopt -xtarget=generic")
+ SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO
+ "-g0 -xO3 -mt -fsimple=1 -ftrap=%none -nofstore -xbuiltin=%all -features=no%except -xlibmil -xlibmopt -xtarget=generic")
+ ENDIF()
+ ENDIF()
+ ENDIF()
+ ENDIF()
+
+ ENDIF()