summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Golubchik <serg@mariadb.org>2020-11-26 17:30:00 +0100
committerSergei Golubchik <serg@mariadb.org>2020-12-21 14:04:32 +0100
commit6529cba2e2eb3afe239b9218bab817f049e6406e (patch)
tree674e85a5d42d59da9bfea70fa9dce13ef118c076
parent4fae7b7a3e8411f4b041e80a70ce9a65d187e338 (diff)
downloadmariadb-git-6529cba2e2eb3afe239b9218bab817f049e6406e.tar.gz
cleanup: plugin.cmake
list all supported options in the comment. remove wsrep-specific hack of EXPORT_SYMBOLS, wsrep-specific hacks belong to wsrep
-rw-r--r--cmake/cpack_rpm.cmake4
-rw-r--r--cmake/plugin.cmake16
-rw-r--r--sql/CMakeLists.txt9
3 files changed, 17 insertions, 12 deletions
diff --git a/cmake/cpack_rpm.cmake b/cmake/cpack_rpm.cmake
index 662edbcb67d..0ff3fdedcda 100644
--- a/cmake/cpack_rpm.cmake
+++ b/cmake/cpack_rpm.cmake
@@ -302,9 +302,7 @@ ENDIF()
IF(CMAKE_VERSION VERSION_GREATER "3.9.99")
SET(CPACK_SOURCE_GENERATOR "RPM")
-SETA(CPACK_RPM_SOURCE_PKG_BUILD_PARAMS
- "-DRPM=${RPM}"
- )
+SETA(CPACK_RPM_SOURCE_PKG_BUILD_PARAMS "-DRPM=${RPM}")
MACRO(ADDIF var)
IF(DEFINED ${var})
diff --git a/cmake/plugin.cmake b/cmake/plugin.cmake
index 0bd6c28bb82..9e848951f21 100644
--- a/cmake/plugin.cmake
+++ b/cmake/plugin.cmake
@@ -19,19 +19,21 @@ INCLUDE(CMakeParseArguments)
# MYSQL_ADD_PLUGIN(plugin_name source1...sourceN
# [STORAGE_ENGINE]
-# [CLIENT]
+# [STATIC_ONLY|MODULE_ONLY]
# [MANDATORY|DEFAULT]
-# [STATIC_ONLY|DYNAMIC_ONLY]
+# [DISABLED]
+# [NOT_EMBEDDED|RECOMPILE_FOR_EMBEDDED]
+# [CLIENT]
# [MODULE_OUTPUT_NAME module_name]
# [STATIC_OUTPUT_NAME static_name]
-# [RECOMPILE_FOR_EMBEDDED]
-# [NOT_EMBEDDED]
+# [COMPONENT component]
+# [CONFIG cnf_file_name]
# [LINK_LIBRARIES lib1...libN]
# [DEPENDENCIES target1...targetN]
MACRO(MYSQL_ADD_PLUGIN)
CMAKE_PARSE_ARGUMENTS(ARG
- "STORAGE_ENGINE;STATIC_ONLY;MODULE_ONLY;MANDATORY;DEFAULT;DISABLED;NOT_EMBEDDED;RECOMPILE_FOR_EMBEDDED;CLIENT;EXPORT_SYMBOLS"
+ "STORAGE_ENGINE;STATIC_ONLY;MODULE_ONLY;MANDATORY;DEFAULT;DISABLED;NOT_EMBEDDED;RECOMPILE_FOR_EMBEDDED;CLIENT"
"MODULE_OUTPUT_NAME;STATIC_OUTPUT_NAME;COMPONENT;CONFIG"
"LINK_LIBRARIES;DEPENDENCIES"
${ARGN}
@@ -140,9 +142,7 @@ MACRO(MYSQL_ADD_PLUGIN)
ADD_LIBRARY(${target} STATIC ${SOURCES})
DTRACE_INSTRUMENT(${target})
ADD_DEPENDENCIES(${target} GenError ${ARG_DEPENDENCIES})
- IF(NOT ARG_EXPORT_SYMBOLS)
- RESTRICT_SYMBOL_EXPORTS(${target})
- ENDIF()
+ RESTRICT_SYMBOL_EXPORTS(${target})
IF(WITH_EMBEDDED_SERVER AND (NOT ARG_NOT_EMBEDDED))
# Embedded library should contain PIC code and be linkable
# to shared libraries (on systems that need PIC)
diff --git a/sql/CMakeLists.txt b/sql/CMakeLists.txt
index a63dc752d0e..b9cd418f295 100644
--- a/sql/CMakeLists.txt
+++ b/sql/CMakeLists.txt
@@ -36,7 +36,14 @@ IF(WITH_WSREP AND NOT EMBEDDED_LIBRARY)
wsrep_plugin.cc
service_wsrep.cc
)
- MYSQL_ADD_PLUGIN(wsrep ${WSREP_SOURCES} MANDATORY NOT_EMBEDDED EXPORT_SYMBOLS LINK_LIBRARIES wsrep-lib wsrep_api_v26)
+ MYSQL_ADD_PLUGIN(wsrep ${WSREP_SOURCES} MANDATORY NOT_EMBEDDED LINK_LIBRARIES wsrep-lib wsrep_api_v26)
+ IF(VISIBILITY_HIDDEN_FLAG AND TARGET wsrep)
+ # wsrep_info plugin needs some wsrep symbols from inside mysqld
+ # we have to remove -fvisibility=hidden from wsrep
+ GET_TARGET_PROPERTY(f wsrep COMPILE_FLAGS)
+ STRING(REPLACE "${VISIBILITY_HIDDEN_FLAG}" "" f ${f})
+ SET_TARGET_PROPERTIES(wsrep PROPERTIES COMPILE_FLAGS "${f}")
+ ENDIF()
ELSE()
ADD_LIBRARY(wsrep STATIC wsrep_dummy.cc)
ADD_DEPENDENCIES(wsrep GenError)