Plugin configuration happens now in CMakeLists.txt files in corresponding plugin directories.
plugins.cmake now contains REGISTER_PLUGIN_FUNCTION which accepts the following parameters:
- TARGET: the name of the plugin (dynamic plugins will be named ${TARGET}.so (or .dll)
- SOURCES: source files
- LIBRARIES: additional libraries for linking
- INCLUDES: include directories
- CONFIGURATIONS: possible plugin configurations: valid arguments are DYNAMIC, STATIC, OFF
- DEFAULT: default configuration (see CONFIGURATIONS)
- COMPILE_OPTIONS: compiler flags
The default plugin configuration can be specified via cmake parameter -DCLIENT_PLUGIN_${TARGET}=[DYNAMIC|STATIC|OFF]
or INSTALL_DOCDIR
Changed C/C to use the same cmake variables for
INSTALL_LIBDIR, INSTALL_BINDIR, INSTALL_INCLUDEDIR, INSTALL_PLUGINDIR
Small cleanups (remove -l/full/path/to/libc.so from mariadb_config output)
* make is usable as a CMake sub-project
* put options in a separate namespace
* but use parent project values when specified
* always specify COMPONENT when INSTALLing
* don't use PROJECT_SOURCE_DIR/PROJECT_BINARY_DIR
Also
* fix out-of-source builds (don't generate files
in the CMAKE_SOURCE_DIR, always do it in CMAKE_BINARY_DIR)
* make subsequence cmake runs less verbose, use MESSAGE1
to avoid repeating messages that didn't change
Fixed float/double/decimal converion for prepared statements:
since _gcvt (Windows) and gcvt (*nix) deliver different results
we use now dtoa.c from server package, which is licensed under
LGPL.
- changed plugin API to avoid crashes: Oracle/MariaDB changed
structure several times without updating interface version.
- ABI fixes: moved additional net items to net->extension (connection
handler and com_multi buffer)
For adding version_info use the macro SET_VERSION_INFO.
The following variable parameters are supported:
TARGET:target_name
SOURCE_FILE:source_file_name
FILE_TYPE:VFT_APP,VFT_Dll or VT_STATIC_LIB
ORIGINAL_FILE_NAME:exe,dll or lib filename
FILE_DESCRIPTION:short description of the file