Указание плагинов для сборки
По умолчанию все плагины включены и собираются в виде динамических .so (или .dll) модулей. Если плагин не поддерживает динамическую сборку, он вообще не собирается.
Используйте PLUGIN_xxx переменные CMake. Их можно установить в командной строке с помощью -DPLUGIN_xxx=value или в графическом интерфейсе CMake. Поддерживаемые значения:
| Значение | Эффект |
|---|---|
| NO | плагин не будет компилироваться вообще |
| STATIC | плагин будет скомпилирован статически, если поддерживается. В противном случае он не будет скомпилирован. |
| DYNAMIC | плагин будет скомпилирован динамически, если поддерживается. В противном случае он не будет скомпилирован. Это поведение по умолчанию. |
| AUTO | плагин будет скомпилирован статически, если поддерживается. В противном случае он будет скомпилирован динамически. |
| YES | то же, что и AUTO, но если отсутствуют необходимые компоненты плагина (например, определённые библиотеки), сборка не будет пропущена, а CMake прервётся с ошибкой. |
Обратите внимание, что в отличие от autotools, CMake пытается настроить и собрать проект по частям. Можно изменить один параметр конфигурации, и CMake пересобирает только ту часть дерева, на которую это повлияло. Например, при выполнении cmake -DWITH_EMBEDDED_SERVER=1 в уже собранном проекте будет скомпилирована libmysqld, но другие параметры конфигурации не будут изменены или сброшены до значений по умолчанию.
В частности, это означает, что если вы выполнили, например, cmake -DPLUGIN_OQGRAPH=NO, а затем хотите восстановить поведение по умолчанию (с включённой сборкой OQGraph) в том же дереве сборки, вам нужно будет выполнить cmake -DPLUGIN_OQGRAPH=DYNAMIC
В качестве альтернативы, можно просто удалить файл CMakeCache.txt — в нём CMake хранит текущую конфигурацию сборки — и пересобрать всё с нуля.
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/specifying-which-plugins-to-build/