mirror of
https://github.com/MariaDB/server.git
synced 2025-08-09 22:24:09 +03:00
Add new option NOT_EMBEDDED, for plugins
Means, plugin will not be available in embedded, even if compiled-in
This commit is contained in:
committed by
Sergei Krivonos
parent
f7c6c02a06
commit
7acf31783c
@@ -402,7 +402,7 @@ IF(WITH_UNIT_TESTS)
|
|||||||
ENDIF()
|
ENDIF()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
SET (MYSQLD_STATIC_PLUGIN_LIBS "" CACHE INTERNAL "")
|
UNSET (MYSQLD_STATIC_PLUGIN_LIBS CACHE)
|
||||||
|
|
||||||
INCLUDE(mariadb_connector_c) # this does ADD_SUBDIRECTORY(libmariadb)
|
INCLUDE(mariadb_connector_c) # this does ADD_SUBDIRECTORY(libmariadb)
|
||||||
|
|
||||||
|
@@ -25,12 +25,13 @@ INCLUDE(CMakeParseArguments)
|
|||||||
# [MODULE_OUTPUT_NAME module_name]
|
# [MODULE_OUTPUT_NAME module_name]
|
||||||
# [STATIC_OUTPUT_NAME static_name]
|
# [STATIC_OUTPUT_NAME static_name]
|
||||||
# [RECOMPILE_FOR_EMBEDDED]
|
# [RECOMPILE_FOR_EMBEDDED]
|
||||||
|
# [NOT_EMBEDDED]
|
||||||
# [LINK_LIBRARIES lib1...libN]
|
# [LINK_LIBRARIES lib1...libN]
|
||||||
# [DEPENDS target1...targetN]
|
# [DEPENDS target1...targetN]
|
||||||
|
|
||||||
MACRO(MYSQL_ADD_PLUGIN)
|
MACRO(MYSQL_ADD_PLUGIN)
|
||||||
CMAKE_PARSE_ARGUMENTS(ARG
|
CMAKE_PARSE_ARGUMENTS(ARG
|
||||||
"STORAGE_ENGINE;STATIC_ONLY;MODULE_ONLY;MANDATORY;DEFAULT;DISABLED;RECOMPILE_FOR_EMBEDDED;CLIENT"
|
"STORAGE_ENGINE;STATIC_ONLY;MODULE_ONLY;MANDATORY;DEFAULT;DISABLED;NOT_EMBEDDED;RECOMPILE_FOR_EMBEDDED;CLIENT"
|
||||||
"MODULE_OUTPUT_NAME;STATIC_OUTPUT_NAME;COMPONENT;CONFIG"
|
"MODULE_OUTPUT_NAME;STATIC_OUTPUT_NAME;COMPONENT;CONFIG"
|
||||||
"LINK_LIBRARIES;DEPENDS"
|
"LINK_LIBRARIES;DEPENDS"
|
||||||
${ARGN}
|
${ARGN}
|
||||||
@@ -140,7 +141,7 @@ MACRO(MYSQL_ADD_PLUGIN)
|
|||||||
DTRACE_INSTRUMENT(${target})
|
DTRACE_INSTRUMENT(${target})
|
||||||
ADD_DEPENDENCIES(${target} GenError ${ARG_DEPENDS})
|
ADD_DEPENDENCIES(${target} GenError ${ARG_DEPENDS})
|
||||||
RESTRICT_SYMBOL_EXPORTS(${target})
|
RESTRICT_SYMBOL_EXPORTS(${target})
|
||||||
IF(WITH_EMBEDDED_SERVER)
|
IF(WITH_EMBEDDED_SERVER AND (NOT ARG_NOT_EMBEDDED))
|
||||||
# Embedded library should contain PIC code and be linkable
|
# Embedded library should contain PIC code and be linkable
|
||||||
# to shared libraries (on systems that need PIC)
|
# to shared libraries (on systems that need PIC)
|
||||||
IF(ARG_RECOMPILE_FOR_EMBEDDED OR NOT _SKIP_PIC)
|
IF(ARG_RECOMPILE_FOR_EMBEDDED OR NOT _SKIP_PIC)
|
||||||
@@ -165,19 +166,30 @@ MACRO(MYSQL_ADD_PLUGIN)
|
|||||||
TARGET_LINK_LIBRARIES (${target} ${ARG_LINK_LIBRARIES})
|
TARGET_LINK_LIBRARIES (${target} ${ARG_LINK_LIBRARIES})
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
|
SET(${with_var} ON CACHE INTERNAL "Link ${plugin} statically to the server" FORCE)
|
||||||
|
|
||||||
# Update mysqld dependencies
|
# Update mysqld dependencies
|
||||||
SET (MYSQLD_STATIC_PLUGIN_LIBS ${MYSQLD_STATIC_PLUGIN_LIBS}
|
SET (MYSQLD_STATIC_PLUGIN_LIBS ${MYSQLD_STATIC_PLUGIN_LIBS}
|
||||||
${target} ${ARG_LINK_LIBRARIES} CACHE INTERNAL "" FORCE)
|
${target} ${ARG_LINK_LIBRARIES} CACHE INTERNAL "" FORCE)
|
||||||
|
|
||||||
SET(${with_var} ON CACHE INTERNAL "Link ${plugin} statically to the server" FORCE)
|
IF(WITH_EMBEDDED_SERVER AND (NOT ARG_NOT_EMBEDDED))
|
||||||
|
SET (EMBEDDED_PLUGIN_LIBS ${EMBEDDED_PLUGIN_LIBS}
|
||||||
|
${target} ${ARG_LINK_LIBRARIES} CACHE INTERNAL "" FORCE)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
IF(ARG_NOT_EMBEDDED)
|
||||||
|
SET(builtin_entry "#ifndef EMBEDDED_LIBRARY\n builtin_maria_${target}_plugin,\n#endif")
|
||||||
|
ELSE()
|
||||||
|
SET(builtin_entry " builtin_maria_${target}_plugin,")
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
IF(ARG_MANDATORY)
|
IF(ARG_MANDATORY)
|
||||||
SET (mysql_mandatory_plugins
|
SET (mysql_mandatory_plugins
|
||||||
"${mysql_mandatory_plugins} builtin_maria_${target}_plugin,")
|
"${mysql_mandatory_plugins}${builtin_entry}\n")
|
||||||
SET (mysql_mandatory_plugins ${mysql_mandatory_plugins} PARENT_SCOPE)
|
SET (mysql_mandatory_plugins ${mysql_mandatory_plugins} PARENT_SCOPE)
|
||||||
ELSE()
|
ELSE()
|
||||||
SET (mysql_optional_plugins
|
SET (mysql_optional_plugins
|
||||||
"${mysql_optional_plugins} builtin_maria_${target}_plugin,")
|
"${mysql_optional_plugins}${builtin_entry}\n")
|
||||||
SET (mysql_optional_plugins ${mysql_optional_plugins} PARENT_SCOPE)
|
SET (mysql_optional_plugins ${mysql_optional_plugins} PARENT_SCOPE)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ELSEIF(PLUGIN_${plugin} MATCHES "(DYNAMIC|AUTO|YES)"
|
ELSEIF(PLUGIN_${plugin} MATCHES "(DYNAMIC|AUTO|YES)"
|
||||||
|
@@ -55,7 +55,7 @@ SET(SQL_EMBEDDED_SOURCES emb_qcache.cc libmysqld.c lib_sql.cc
|
|||||||
../sql/item_subselect.cc ../sql/item_sum.cc ../sql/item_timefunc.cc
|
../sql/item_subselect.cc ../sql/item_sum.cc ../sql/item_timefunc.cc
|
||||||
../sql/item_xmlfunc.cc ../sql/item_jsonfunc.cc
|
../sql/item_xmlfunc.cc ../sql/item_jsonfunc.cc
|
||||||
../sql/key.cc ../sql/lock.cc ../sql/log.cc
|
../sql/key.cc ../sql/lock.cc ../sql/log.cc
|
||||||
../sql/log_event.cc ../sql/mf_iocache.cc ../sql/my_decimal.cc
|
../sql/log_event.cc ../sql/mf_iocache.cc ../sql/my_decimal.cc
|
||||||
../sql/net_serv.cc ../sql/opt_range.cc ../sql/opt_sum.cc
|
../sql/net_serv.cc ../sql/opt_range.cc ../sql/opt_sum.cc
|
||||||
../sql/parse_file.cc ../sql/procedure.cc ../sql/protocol.cc
|
../sql/parse_file.cc ../sql/procedure.cc ../sql/protocol.cc
|
||||||
../sql/records.cc ../sql/repl_failsafe.cc ../sql/rpl_filter.cc
|
../sql/records.cc ../sql/repl_failsafe.cc ../sql/rpl_filter.cc
|
||||||
@@ -154,7 +154,7 @@ SET(LIBS
|
|||||||
dbug strings mysys mysys_ssl pcre vio
|
dbug strings mysys mysys_ssl pcre vio
|
||||||
${ZLIB_LIBRARY} ${SSL_LIBRARIES}
|
${ZLIB_LIBRARY} ${SSL_LIBRARIES}
|
||||||
${LIBWRAP} ${LIBCRYPT} ${CMAKE_DL_LIBS}
|
${LIBWRAP} ${LIBCRYPT} ${CMAKE_DL_LIBS}
|
||||||
${MYSQLD_STATIC_PLUGIN_LIBS}
|
${EMBEDDED_PLUGIN_LIBS}
|
||||||
sql_embedded
|
sql_embedded
|
||||||
)
|
)
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user