summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorDaniel Fischer <df@sun.com>2010-04-21 14:58:09 +0200
committerDaniel Fischer <df@sun.com>2010-04-21 14:58:09 +0200
commitb83e1c868622125ff59d405710cb6438c131a7f4 (patch)
tree4fad82e285f056995b626f0a62b5fa0488294c19 /CMakeLists.txt
parent718ee3e595d3c73517c1bc1df8d3bdfc2e22510b (diff)
parent210d37e5c0aaa821783023b3f275c5e7992c515c (diff)
downloadmariadb-git-b83e1c868622125ff59d405710cb6438c131a7f4.tar.gz
Merge
Diffstat (limited to 'CMakeLists.txt')
-rwxr-xr-xCMakeLists.txt70
1 files changed, 52 insertions, 18 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 814d2ebaf7c..8edd1e5c158 100755
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -32,26 +32,32 @@ IF(DEFINED CMAKE_BUILD_TYPE)
SET(HAVE_CMAKE_BUILD_TYPE TRUE)
ENDIF()
SET(CUSTOM_C_FLAGS $ENV{CFLAGS})
-IF(NOT CUSTOM_C_FLAGS)
- SET(CUSTOM_C_FLAGS ${CMAKE_C_FLAGS})
-ENDIF()
-OPTION(WITH_DEBUG "Use dbug" OFF)
+OPTION(WITH_DEBUG "Use dbug/safemutex" OFF)
OPTION(WITH_DEBUG_FULL "Use dbug and safemalloc/safemutex. Slow" OFF)
-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")
+# We choose to provide WITH_DEBUG as alias to standard CMAKE_BUILD_TYPE=Debug
+# which turns out to be not trivial, as this involves synchronization
+# between CMAKE_BUILD_TYPE and WITH_DEBUG. Besides, we have to deal with cases
+# where WITH_DEBUG is reset from ON to OFF and here we need to reset
+# CMAKE_BUILD_TYPE to either none or default RelWithDebInfo
+
+SET(BUILDTYPE_DOCSTRING
+ "Choose the type of build, options are: None(CMAKE_CXX_FLAGS or
+ CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel")
+
+IF(WITH_DEBUG OR WITH_DEBUG_FULL)
+ SET(CMAKE_BUILD_TYPE "Debug" CACHE STRING ${BUILDTYPE_DOCSTRING} FORCE)
+ SET(OLD_WITH_DEBUG 1 CACHE INTERNAL "" FORCE)
+ELSEIF(NOT HAVE_CMAKE_BUILD_TYPE OR OLD_WITH_DEBUG)
+ IF(CUSTOM_C_FLAGS)
+ SET(CMAKE_BUILD_TYPE "" CACHE STRING ${BUILDTYPE_DOCSTRING} FORCE)
+ ELSE(CMAKE_BUILD_TYPE MATCHES "Debug" OR NOT HAVE_CMAKE_BUILD_TYPE)
+ SET(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING
+ ${BUILDTYPE_DOCSTRING} FORCE)
+ ENDIF()
+ SET(OLD_WITH_DEBUG 0 CACHE INTERNAL "" FORCE)
ENDIF()
IF(BUILD_CONFIG)
@@ -183,8 +189,11 @@ ELSE()
ENDIF()
SET(DEFAULT_BASEDIR "${DEFAULT_MYSQL_HOME}")
-SET(MYSQL_DATADIR "${DEFAULT_MYSQL_HOME}/${INSTALL_MYSQLDATADIR}" CACHE PATH
- "default MySQL data directory")
+IF(INSTALL_MYSQLDATADIR MATCHES "^/.*")
+ SET(MYSQL_DATADIR ${INSTALL_MYSQLDATADIR} CACHE PATH "default MySQL data directory")
+ELSE()
+ SET(MYSQL_DATADIR "${DEFAULT_MYSQL_HOME}/${INSTALL_MYSQLDATADIR}" CACHE PATH "default MySQL data directory")
+ENDIF()
SET(DEFAULT_CHARSET_HOME "${DEFAULT_MYSQL_HOME}")
SET(PLUGINDIR "${DEFAULT_MYSQL_HOME}/${INSTALL_PLUGINDIR}")
IF(SYSCONFDIR)
@@ -282,3 +291,28 @@ ELSE()
ENDIF()
ADD_SUBDIRECTORY(packaging/WiX)
INCLUDE(CPack)
+IF(UNIX)
+ INSTALL(FILES Docs/mysql.info DESTINATION ${INSTALL_INFODIR} OPTIONAL)
+ENDIF()
+#
+# RPM installs documentation directly from the source tree
+#
+IF(NOT INSTALL_LAYOUT MATCHES "RPM")
+ INSTALL(FILES COPYING EXCEPTIONS-CLIENT LICENSE.mysql DESTINATION ${INSTALL_DOCREADMEDIR} OPTIONAL)
+ INSTALL(FILES README DESTINATION ${INSTALL_DOCREADMEDIR})
+ IF(UNIX)
+ INSTALL(FILES Docs/INSTALL-BINARY DESTINATION ${INSTALL_DOCREADMEDIR})
+ ENDIF()
+ # MYSQL_DOCS_LOCATON is used in "make dist", points to the documentation directory
+ SET(MYSQL_DOCS_LOCATION "" CACHE PATH "Location from where documentation is copied")
+ MARK_AS_ADVANCED(MYSQL_DOCS_LOCATION)
+ INSTALL(DIRECTORY Docs/ DESTINATION ${INSTALL_DOCDIR}
+ PATTERN "INSTALL-BINARY" EXCLUDE
+ PATTERN "Makefile.*" EXCLUDE
+ PATTERN "glibc*" EXCLUDE
+ PATTERN "linuxthreads.txt" EXCLUDE
+ PATTERN "myisam.txt" EXCLUDE
+ PATTERN "mysql.info" EXCLUDE
+ PATTERN "sp-imp-spec.txt" EXCLUDE
+ )
+ENDIF()