summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmake/build_configurations/mysql_release.cmake29
-rw-r--r--cmake/plugin.cmake136
-rw-r--r--extra/CMakeLists.txt2
-rw-r--r--plugin/auth_pam/CMakeLists.txt12
-rw-r--r--plugin/auth_socket/CMakeLists.txt5
-rw-r--r--plugin/feedback/CMakeLists.txt12
-rw-r--r--storage/cassandra/CMakeLists.txt49
-rw-r--r--storage/oqgraph/CMakeLists.txt26
-rw-r--r--storage/tokudb/CMakeLists.txt1
-rw-r--r--storage/xtradb/CMakeLists.txt17
10 files changed, 140 insertions, 149 deletions
diff --git a/cmake/build_configurations/mysql_release.cmake b/cmake/build_configurations/mysql_release.cmake
index 85ec0480a40..6673cdc438c 100644
--- a/cmake/build_configurations/mysql_release.cmake
+++ b/cmake/build_configurations/mysql_release.cmake
@@ -46,8 +46,6 @@ SET(FEATURE_SET_large 5)
SET(FEATURE_SET_xlarge 6)
SET(FEATURE_SET_community 7)
-#SET(WITH_CASSANDRA_STORAGE_ENGINE ON)
-
IF(FEATURE_SET)
STRING(TOLOWER ${FEATURE_SET} feature_set)
SET(num ${FEATURE_SET_${feature_set}})
@@ -56,7 +54,7 @@ IF(FEATURE_SET)
Should be xsmall, small, classic, large, or community
")
ENDIF()
- SET(WITH_PARTITION_STORAGE_ENGINE OFF)
+ SET(PLUGIN_PARTITION "NO")
IF(num EQUAL FEATURE_SET_xsmall)
SET(WITH_NONE ON)
ENDIF()
@@ -65,34 +63,23 @@ IF(FEATURE_SET)
SET(WITH_EMBEDDED_SERVER ON CACHE BOOL "")
ENDIF()
IF(num GREATER FEATURE_SET_small)
- SET(WITH_ARCHIVE_STORAGE_ENGINE ON)
- SET(WITH_BLACKHOLE_STORAGE_ENGINE ON)
- SET(WITH_FEDERATEDX_STORAGE_ENGINE ON)
- SET(WITH_PLUGIN_FEEDBACK ON)
+ SET(PLUGIN_ARCHIVE "STATIC")
+ SET(PLUGIN_BLACKHOLE "STATIC")
+ SET(PLUGIN_FEDERATEDX "STATIC")
+ SET(PLUGIN_FEEDBACK "STATIC")
ENDIF()
IF(num GREATER FEATURE_SET_classic)
- SET(WITH_INNOBASE_STORAGE_ENGINE ON)
+ SET(PLUGIN_INNOBASE "STATIC")
ENDIF()
IF(num GREATER FEATURE_SET_large)
- SET(WITH_PARTITION_STORAGE_ENGINE ON)
+ SET(PLUGIN_PARTITION "STATIC")
+ #SET(PLUGIN_CASSANDRA "STATIC")
ENDIF()
IF(num GREATER FEATURE_SET_xlarge)
# OPTION(WITH_ALL ON)
# better no set this, otherwise server would be linked
# statically with experimental stuff like audit_null
ENDIF()
-
- # Update cache with current values, remove engines we do not care about
- # from build.
- FOREACH(eng ARCHIVE BLACKHOLE FEDERATED INNOBASE PARTITION)
- IF(NOT WITH_${eng}_STORAGE_ENGINE)
- SET(WITHOUT_${eng}_STORAGE_ENGINE ON CACHE BOOL "")
- MARK_AS_ADVANCED(WITHOUT_${eng}_STORAGE_ENGINE)
- SET(WITH_${eng}_STORAGE_ENGINE OFF CACHE BOOL "")
- ELSE()
- SET(WITH_${eng}_STORAGE_ENGINE ON CACHE BOOL "")
- ENDIF()
- ENDFOREACH()
ENDIF()
OPTION(ENABLED_LOCAL_INFILE "" ON)
diff --git a/cmake/plugin.cmake b/cmake/plugin.cmake
index 87552fe4d67..b550695b796 100644
--- a/cmake/plugin.cmake
+++ b/cmake/plugin.cmake
@@ -29,11 +29,11 @@ INCLUDE(${MYSQL_CMAKE_SCRIPT_DIR}/cmake_parse_arguments.cmake)
MACRO(MYSQL_ADD_PLUGIN)
MYSQL_PARSE_ARGUMENTS(ARG
- "LINK_LIBRARIES;DEPENDENCIES;MODULE_OUTPUT_NAME;STATIC_OUTPUT_NAME;COMPONENT;CONFIG"
+ "LINK_LIBRARIES;DEPENDENCIES;MODULE_OUTPUT_NAME;STATIC_OUTPUT_NAME;COMPONENT;CONFIG;ONLY_IF"
"STORAGE_ENGINE;STATIC_ONLY;MODULE_ONLY;MANDATORY;DEFAULT;DISABLED;RECOMPILE_FOR_EMBEDDED"
${ARGN}
)
-
+
# Add common include directories
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include
${CMAKE_SOURCE_DIR}/sql
@@ -47,45 +47,58 @@ MACRO(MYSQL_ADD_PLUGIN)
STRING(TOUPPER ${plugin} plugin)
STRING(TOLOWER ${plugin} target)
- # Figure out whether to build plugin
- IF(WITH_PLUGIN_${plugin})
- SET(WITH_${plugin} 1)
- ENDIF()
-
- IF(WITH_MAX_NO_NDB)
- SET(WITH_MAX 1)
- SET(WITHOUT_NDBCLUSTER 1)
- ENDIF()
+ IF (ARG_MANDATORY)
+ UNSET(PLUGIN_${plugin} CACHE)
+ SET(PLUGIN_${plugin} "YES")
+ ELSE()
+ SET (compat ".")
+ # Figure out whether to build plugin.
+ # recognize and support the maze of old WITH/WITHOUT combinations
+ IF(WITHOUT_${plugin}_STORAGE_ENGINE
+ OR WITHOUT_${plugin}
+ OR WITHOUT_PLUGIN_${plugin}
+ OR WITH_NONE)
+
+ SET(compat "${compat}without")
+ ENDIF()
+ IF(WITH_${plugin}_STORAGE_ENGINE
+ OR WITH_${plugin}
+ OR WITH_PLUGIN_${plugin}
+ OR WITH_ALL
+ OR WITH_MAX
+ OR WITH_MAX_NO_NDB
+ OR ARG_DEFAULT)
+
+ SET(compat "with${compat}")
+ ENDIF()
- IF(ARG_DEFAULT)
- IF(NOT DEFINED WITH_${plugin} AND
- NOT DEFINED WITH_${plugin}_STORAGE_ENGINE)
- SET(WITH_${plugin} 1)
+ IF (compat STREQUAL ".")
+ SET(howtobuild DYNAMIC)
+ ELSEIF (compat STREQUAL "with.")
+ IF (NOT ARG_MODULE_ONLY)
+ SET(howtobuild STATIC)
+ ELSE()
+ SET(howtobuild DYNAMIC)
+ ENDIF()
+ ELSEIF (compat STREQUAL ".without")
+ SET(howtobuild NO)
+ ELSEIF (compat STREQUAL "with.without")
+ SET(howtobuild STATIC)
ENDIF()
+
+ # NO - not at all
+ # YES - static if possible, otherwise dynamic if possible, otherwise abort
+ # AUTO - static if possible, otherwise dynamic, if possible
+ # STATIC - static if possible, otherwise not at all
+ # DYNAMIC - dynamic if possible, otherwise not at all
+ SET(PLUGIN_${plugin} ${howtobuild}
+ CACHE STRING "How to build plugin ${plugin}. Options are: NO STATIC DYNAMIC YES AUTO.")
ENDIF()
-
- IF(WITH_${plugin}_STORAGE_ENGINE
- OR WITH_{$plugin}
- OR WITH_ALL
- OR WITH_MAX
- AND NOT WITHOUT_${plugin}_STORAGE_ENGINE
- AND NOT WITHOUT_${plugin}
- AND NOT ARG_MODULE_ONLY)
-
- SET(WITH_${plugin} 1)
- ELSEIF(WITHOUT_${plugin} OR WITHOUT_${plugin}_STORAGE_ENGINE OR
- WITH_NONE OR ${plugin}_DISABLED)
- SET(WITHOUT_${plugin} 1)
- SET(WITH_${plugin}_STORAGE_ENGINE 0)
- SET(WITH_${plugin} 0)
- ENDIF()
-
-
- IF(ARG_MANDATORY)
- SET(WITH_${plugin} 1)
+
+ IF (NOT PLUGIN_${plugin} MATCHES "^(NO|YES|AUTO|STATIC|DYNAMIC)$")
+ MESSAGE(FATAL_ERROR "Invalid value for PLUGIN_${plugin}")
ENDIF()
-
IF(ARG_STORAGE_ENGINE)
SET(with_var "WITH_${plugin}_STORAGE_ENGINE" )
ELSE()
@@ -95,7 +108,6 @@ MACRO(MYSQL_ADD_PLUGIN)
IF(NOT ARG_DEPENDENCIES)
SET(ARG_DEPENDENCIES)
ENDIF()
- SET(BUILD_PLUGIN 1)
IF(NOT ARG_MODULE_OUTPUT_NAME)
IF(ARG_STORAGE_ENGINE)
@@ -105,8 +117,13 @@ MACRO(MYSQL_ADD_PLUGIN)
ENDIF()
ENDIF()
+ IF(ARG_ONLY_IF AND NOT ${ARG_ONLY_IF})
+ SET(ARG_DISABLED 1)
+ ENDIF()
+
# Build either static library or module
- IF (WITH_${plugin} AND NOT ARG_MODULE_ONLY)
+ IF (PLUGIN_${plugin} MATCHES "(STATIC|AUTO|YES)" AND NOT ARG_MODULE_ONLY
+ AND NOT ARG_DISABLED)
IF(CMAKE_GENERATOR MATCHES "Makefiles|Ninja")
# If there is a shared library from previous shared build,
@@ -142,17 +159,15 @@ MACRO(MYSQL_ADD_PLUGIN)
OUTPUT_NAME ${ARG_STATIC_OUTPUT_NAME})
ENDIF()
+ IF(ARG_LINK_LIBRARIES)
+ TARGET_LINK_LIBRARIES (${target} ${ARG_LINK_LIBRARIES})
+ ENDIF()
+
# Update mysqld dependencies
SET (MYSQLD_STATIC_PLUGIN_LIBS ${MYSQLD_STATIC_PLUGIN_LIBS}
${target} ${ARG_LINK_LIBRARIES} CACHE INTERNAL "" FORCE)
- IF(ARG_MANDATORY)
- SET(${with_var} ON CACHE INTERNAL "Link ${plugin} statically to the server"
- FORCE)
- ELSE()
- SET(${with_var} ON CACHE BOOL "Link ${plugin} statically to the server"
- FORCE)
- ENDIF()
+ SET(${with_var} ON CACHE INTERNAL "Link ${plugin} statically to the server" FORCE)
IF(ARG_MANDATORY)
SET (mysql_mandatory_plugins
@@ -163,14 +178,16 @@ MACRO(MYSQL_ADD_PLUGIN)
"${mysql_optional_plugins} builtin_maria_${target}_plugin,")
SET (mysql_optional_plugins ${mysql_optional_plugins} PARENT_SCOPE)
ENDIF()
- ELSEIF(NOT WITHOUT_${plugin} AND NOT ARG_STATIC_ONLY AND NOT WITHOUT_DYNAMIC_PLUGINS)
-
+ ELSEIF(PLUGIN_${plugin} MATCHES "(DYNAMIC|AUTO|YES)"
+ AND NOT ARG_STATIC_ONLY AND NOT WITHOUT_DYNAMIC_PLUGINS
+ AND NOT ARG_DISABLED)
+
ADD_VERSION_INFO(${target} MODULE SOURCES)
ADD_LIBRARY(${target} MODULE ${SOURCES})
DTRACE_INSTRUMENT(${target})
SET_TARGET_PROPERTIES (${target} PROPERTIES PREFIX ""
COMPILE_DEFINITIONS "MYSQL_DYNAMIC_PLUGIN")
- TARGET_LINK_LIBRARIES (${target} mysqlservices)
+ TARGET_LINK_LIBRARIES (${target} mysqlservices ${ARG_LINK_LIBRARIES})
# Plugin uses symbols defined in mysqld executable.
# Some operating systems like Windows and OSX and are pretty strict about
@@ -180,15 +197,12 @@ MACRO(MYSQL_ADD_PLUGIN)
# Thus we skip TARGET_LINK_LIBRARIES on Linux, as it would only generate
# an additional dependency.
IF(NOT CMAKE_SYSTEM_NAME STREQUAL "Linux")
- TARGET_LINK_LIBRARIES (${target} mysqld ${ARG_LINK_LIBRARIES})
+ TARGET_LINK_LIBRARIES (${target} mysqld)
ENDIF()
ADD_DEPENDENCIES(${target} GenError ${ARG_DEPENDENCIES})
- IF(NOT ARG_MODULE_ONLY)
- # set cached variable, e.g with checkbox in GUI
- SET(${with_var} OFF CACHE BOOL "Link ${plugin} statically to the server"
- FORCE)
- ENDIF()
+ UNSET(${with_var} CACHE)
+
SET_TARGET_PROPERTIES(${target} PROPERTIES
OUTPUT_NAME "${ARG_MODULE_OUTPUT_NAME}")
# Install dynamic library
@@ -213,18 +227,8 @@ MACRO(MYSQL_ADD_PLUGIN)
ENDIF()
MYSQL_INSTALL_TARGETS(${target} DESTINATION ${INSTALL_PLUGINDIR} COMPONENT ${ARG_COMPONENT})
#INSTALL_DEBUG_TARGET(${target} DESTINATION ${INSTALL_PLUGINDIR}/debug COMPONENT ${ARG_COMPONENT})
- ELSE()
- IF(WITHOUT_${plugin})
- # Update cache variable
- STRING(REPLACE "WITH_" "WITHOUT_" without_var ${with_var})
- SET(${without_var} ON CACHE BOOL "Don't build ${plugin}"
- FORCE)
- ENDIF()
- SET(BUILD_PLUGIN 0)
- ENDIF()
-
- IF(BUILD_PLUGIN AND ARG_LINK_LIBRARIES)
- TARGET_LINK_LIBRARIES (${target} ${ARG_LINK_LIBRARIES})
+ ELSEIF(PLUGIN_${plugin} MATCHES "YES")
+ MESSAGE(FATAL_ERROR "Plugin ${plugin} cannot be built")
ENDIF()
GET_FILENAME_COMPONENT(subpath ${CMAKE_CURRENT_SOURCE_DIR} NAME)
diff --git a/extra/CMakeLists.txt b/extra/CMakeLists.txt
index cf3a35cb1dd..50db83f2777 100644
--- a/extra/CMakeLists.txt
+++ b/extra/CMakeLists.txt
@@ -72,7 +72,7 @@ IF(CMAKE_SYSTEM_NAME STREQUAL "SunOS")
ENDIF()
ENDIF()
-IF(WITH_INNOBASE_STORAGE_ENGINE)
+IF(WITH_INNOBASE_STORAGE_ENGINE OR WITH_XTRADB_STORAGE_ENGINE)
# Add path to the InnoDB headers
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/storage/innobase/include)
# We use the InnoDB code directly in case the code changes.
diff --git a/plugin/auth_pam/CMakeLists.txt b/plugin/auth_pam/CMakeLists.txt
index 51317527c77..055e188c45b 100644
--- a/plugin/auth_pam/CMakeLists.txt
+++ b/plugin/auth_pam/CMakeLists.txt
@@ -4,10 +4,10 @@ INCLUDE (CheckFunctionExists)
CHECK_INCLUDE_FILES (security/pam_appl.h HAVE_PAM_APPL_H)
CHECK_FUNCTION_EXISTS (strndup HAVE_STRNDUP)
-IF(HAVE_PAM_APPL_H)
- IF(HAVE_STRNDUP)
- ADD_DEFINITIONS(-DHAVE_STRNDUP)
- ENDIF(HAVE_STRNDUP)
- MYSQL_ADD_PLUGIN(auth_pam auth_pam.c LINK_LIBRARIES pam MODULE_ONLY)
-ENDIF(HAVE_PAM_APPL_H)
+IF(HAVE_STRNDUP)
+ ADD_DEFINITIONS(-DHAVE_STRNDUP)
+ENDIF(HAVE_STRNDUP)
+
+MYSQL_ADD_PLUGIN(auth_pam auth_pam.c ONLY_IF HAVE_PAM_APPL_H
+ LINK_LIBRARIES pam MODULE_ONLY)
diff --git a/plugin/auth_socket/CMakeLists.txt b/plugin/auth_socket/CMakeLists.txt
index ae7dbffe2ae..2c5a9c89fcb 100644
--- a/plugin/auth_socket/CMakeLists.txt
+++ b/plugin/auth_socket/CMakeLists.txt
@@ -35,5 +35,8 @@ IF (NOT HAVE_PEERCRED)
ENDIF()
IF(HAVE_PEERCRED OR HAVE_SOCKPEERCRED)
- MYSQL_ADD_PLUGIN(auth_socket auth_socket.c MODULE_ONLY)
+ SET(AUTH_SOCKET_OK 1)
ENDIF()
+
+MYSQL_ADD_PLUGIN(auth_socket auth_socket.c ONLY_IF AUTH_SOCKET_OK MODULE_ONLY)
+
diff --git a/plugin/feedback/CMakeLists.txt b/plugin/feedback/CMakeLists.txt
index 9807eadbe34..a243ba07751 100644
--- a/plugin/feedback/CMakeLists.txt
+++ b/plugin/feedback/CMakeLists.txt
@@ -14,10 +14,10 @@ IF(HAVE_NETDB_H)
ENDIF(HAVE_NETDB_H)
IF(WIN32)
- MYSQL_ADD_PLUGIN(FEEDBACK ${FEEDBACK_SOURCES}
- LINK_LIBRARIES ${SSL_LIBRARIES}
- STATIC_ONLY DEFAULT)
-ELSE(WIN32)
- MYSQL_ADD_PLUGIN(FEEDBACK ${FEEDBACK_SOURCES}
- LINK_LIBRARIES ${SSL_LIBRARIES})
+ SET(MAYBE_STATIC_ONLY STATIC_ONLY)
ENDIF(WIN32)
+
+MYSQL_ADD_PLUGIN(FEEDBACK ${FEEDBACK_SOURCES}
+ LINK_LIBRARIES ${SSL_LIBRARIES}
+ ${MAYBE_STATIC_ONLY} DEFAULT)
+
diff --git a/storage/cassandra/CMakeLists.txt b/storage/cassandra/CMakeLists.txt
index aab85f254f8..e47e654d18e 100644
--- a/storage/cassandra/CMakeLists.txt
+++ b/storage/cassandra/CMakeLists.txt
@@ -17,18 +17,14 @@ MARK_AS_ADVANCED(Thrift_LIBS Thrift_INCLUDE_DIRS)
IF(EXISTS ${Thrift_LIBS})
GET_FILENAME_COMPONENT(LINK_DIR ${Thrift_LIBS} PATH ABSOLUTE)
-ELSE()
- RETURN()
-ENDIF()
-
-INCLUDE_DIRECTORIES(AFTER ${Thrift_INCLUDE_DIRS}/..)
-SET(CMAKE_REQUIRED_INCLUDES ${Thrift_INCLUDE_DIRS})
+ INCLUDE_DIRECTORIES(AFTER ${Thrift_INCLUDE_DIRS}/..)
+ SET(CMAKE_REQUIRED_INCLUDES ${Thrift_INCLUDE_DIRS})
-STRING(REPLACE "-fno-exceptions" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
-STRING(REPLACE "-fno-implicit-templates" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
+ STRING(REPLACE "-fno-exceptions" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
+ STRING(REPLACE "-fno-implicit-templates" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
-SET(CMAKE_REQUIRED_INCLUDES "${Thrift_INCLUDE_DIRS}/..")
-CHECK_CXX_SOURCE_COMPILES(
+ SET(CMAKE_REQUIRED_INCLUDES "${Thrift_INCLUDE_DIRS}/..")
+ CHECK_CXX_SOURCE_COMPILES(
"
#include <thrift/Thrift.h>
#include <boost/shared_ptr.hpp>
@@ -37,24 +33,25 @@ int main() {
return 0;
}
" CASSANDRASE_OK)
+ENDIF()
-IF(CASSANDRASE_OK)
- SET(cassandra_sources
- ha_cassandra.cc
- ha_cassandra.h
- cassandra_se.h
- cassandra_se.cc
- gen-cpp/Cassandra.cpp
- gen-cpp/cassandra_types.h
- gen-cpp/cassandra_types.cpp
- gen-cpp/cassandra_constants.h
- gen-cpp/cassandra_constants.cpp
- gen-cpp/Cassandra.h)
+SET(cassandra_sources
+ ha_cassandra.cc
+ ha_cassandra.h
+ cassandra_se.h
+ cassandra_se.cc
+ gen-cpp/Cassandra.cpp
+ gen-cpp/cassandra_types.h
+ gen-cpp/cassandra_types.cpp
+ gen-cpp/cassandra_constants.h
+ gen-cpp/cassandra_constants.cpp
+ gen-cpp/Cassandra.h)
- LINK_DIRECTORIES(${LINK_DIR})
+LINK_DIRECTORIES(${LINK_DIR})
- SET(CASSANDRA_DEB_FILES "usr/lib/mysql/plugin/ha_cassandra.so" PARENT_SCOPE)
+SET(CASSANDRA_DEB_FILES "usr/lib/mysql/plugin/ha_cassandra.so" PARENT_SCOPE)
- MYSQL_ADD_PLUGIN(cassandra ${cassandra_sources} STORAGE_ENGINE MODULE_ONLY LINK_LIBRARIES thrift COMPONENT cassandra-engine)
+MYSQL_ADD_PLUGIN(cassandra ${cassandra_sources} STORAGE_ENGINE
+ ONLY_IF CASSANDRASE_OK
+ MODULE_ONLY LINK_LIBRARIES thrift COMPONENT cassandra-engine)
-ENDIF(CASSANDRASE_OK)
diff --git a/storage/oqgraph/CMakeLists.txt b/storage/oqgraph/CMakeLists.txt
index 151082469a9..7e10081a08a 100644
--- a/storage/oqgraph/CMakeLists.txt
+++ b/storage/oqgraph/CMakeLists.txt
@@ -1,9 +1,10 @@
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
+FUNCTION(CHECK_OQGRAPH)
MESSAGE(STATUS "Configuring OQGraph")
FIND_PACKAGE(Boost)
IF(NOT Boost_FOUND)
- MESSAGE(STATUS "Boost not found. OQGraph will not be compiled")
+ MESSAGE(STATUS "Boost not found. OQGraph will not be compiled")
RETURN()
ENDIF()
INCLUDE_DIRECTORIES(BEFORE ${Boost_INCLUDE_DIRS})
@@ -37,26 +38,29 @@ ENDIF()
IF(BOOST_OK)
ADD_DEFINITIONS(-DHAVE_OQGRAPH)
IF(MSVC)
- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc")
+ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc" PARENT_SCOPE)
# Fix problem with judy not finding inttypes.h on Windows:
ADD_DEFINITIONS(-DJU_WIN)
ELSE(MSVC)
# Fix lp bug 1221555 with -fpermissive, so that errors in gcc 4.7 become warnings for the time being
- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated -fno-strict-aliasing -fpermissive")
STRING(REPLACE "-fno-exceptions" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
STRING(REPLACE "-fno-implicit-templates" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
+ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated -fno-strict-aliasing -fpermissive" PARENT_SCOPE)
ENDIF(MSVC)
ADD_DEFINITIONS(-DBOOST_NO_RTTI=1 -DBOOST_NO_TYPEID=1 -DBOOST_DISABLE_ASSERTS=1)
-
- MYSQL_ADD_PLUGIN(oqgraph ha_oqgraph.cc graphcore.cc graphcore-graph.cc
- oqgraph_shim.cc oqgraph_thunk.cc oqgraph_judy.cc
- STORAGE_ENGINE
- MODULE_ONLY
- RECOMPILE_FOR_EMBEDDED
- COMPONENT oqgraph-engine
- LINK_LIBRARIES ${Judy_LIBRARIES})
MESSAGE(STATUS "OQGraph OK")
ELSE(BOOST_OK)
MESSAGE(STATUS "Requisites for OQGraph not met. OQGraph will not be compiled")
ENDIF(BOOST_OK)
+ENDFUNCTION()
+
+CHECK_OQGRAPH()
+MYSQL_ADD_PLUGIN(oqgraph ha_oqgraph.cc graphcore.cc graphcore-graph.cc
+ oqgraph_shim.cc oqgraph_thunk.cc oqgraph_judy.cc
+ STORAGE_ENGINE
+ ONLY_IF BOOST_OK
+ MODULE_ONLY
+ RECOMPILE_FOR_EMBEDDED
+ COMPONENT oqgraph-engine
+ LINK_LIBRARIES ${Judy_LIBRARIES})
diff --git a/storage/tokudb/CMakeLists.txt b/storage/tokudb/CMakeLists.txt
index b5993f85656..7dcf96a2ac2 100644
--- a/storage/tokudb/CMakeLists.txt
+++ b/storage/tokudb/CMakeLists.txt
@@ -10,6 +10,7 @@ int main() { return 0; }
ENDIF()
IF(NOT TOKUDB_OK OR WITHOUT_TOKUDB OR WITHOUT_TOKUDB_STORAGE_ENGINE)
+ MYSQL_ADD_PLUGIN(tokudb DISABLED)
RETURN()
ENDIF()
diff --git a/storage/xtradb/CMakeLists.txt b/storage/xtradb/CMakeLists.txt
index fc5c1567987..bb1749279d0 100644
--- a/storage/xtradb/CMakeLists.txt
+++ b/storage/xtradb/CMakeLists.txt
@@ -403,17 +403,12 @@ SET(INNOBASE_SOURCES
ut/ut0vec.cc
ut/ut0wqueue.cc)
-IF(WITH_INNODB)
- # Legacy option
- SET(WITH_INNOBASE_STORAGE_ENGINE TRUE)
-ENDIF()
-
-IF(XTRADB_OK)
- MYSQL_ADD_PLUGIN(xtradb ${INNOBASE_SOURCES} STORAGE_ENGINE
- DEFAULT
- RECOMPILE_FOR_EMBEDDED
- LINK_LIBRARIES ${ZLIB_LIBRARY} ${LINKER_SCRIPT})
-ELSE()
+IF(NOT XTRADB_OK)
MESSAGE(FATAL_ERROR "Percona XtraDB is not supported on this platform")
ENDIF()
+MYSQL_ADD_PLUGIN(xtradb ${INNOBASE_SOURCES} STORAGE_ENGINE
+ DEFAULT ONLY_IF XTRADB_OK
+ RECOMPILE_FOR_EMBEDDED
+ LINK_LIBRARIES ${ZLIB_LIBRARY} ${LINKER_SCRIPT})
+