Merge pull request #5888 from Icinga/feature/mariadbclient

FindMySQL: Support mariadbclient implementation
This commit is contained in:
Gunnar Beutner 2018-01-15 10:04:22 +01:00 committed by GitHub
commit fc7757ee25
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 25 additions and 4 deletions

View File

@ -153,8 +153,6 @@ In addition to `CMAKE_INSTALL_PREFIX` here are most of the supported Icinga-spec
Defaults to `OFF`.
**Features:**
- `ICINGA2_WITH_MYSQL`: Determines whether the MySQL IDO module is built; defaults to `ON`
- `ICINGA2_WITH_PGSQL`: Determines whether the PostgreSQL IDO module is built; defaults to `ON`
- `ICINGA2_WITH_CHECKER`: Determines whether the checker module is built; defaults to `ON`
- `ICINGA2_WITH_COMPAT`: Determines whether the compat module is built; defaults to `ON`
- `ICINGA2_WITH_DEMO`: Determines whether the demo module is built; defaults to `OFF`
@ -165,6 +163,27 @@ In addition to `CMAKE_INSTALL_PREFIX` here are most of the supported Icinga-spec
- `ICINGA2_WITH_STUDIO`: Determines whether the Icinga Studio application is built; defaults to `OFF`
- `ICINGA2_WITH_TESTS`: Determines whether the unit tests are built; defaults to `ON`
**MySQL or MariaDB:**
The following settings can be tuned for the MySQL / MariaDB IDO feature.
- `ICINGA2_WITH_MYSQL`: Determines whether the MySQL IDO module is built; defaults to `ON`
- `MYSQL_CLIENT_LIBS`: Client implementation used (mysqlclient / mariadbclient); defaults searches for `mysqlclient` and `mariadbclient`
- `MYSQL_INCLUDE_DIR`: Directory containing include files for the mysqlclient; default empty -
checking multiple paths like `/usr/include/mysql`
See [FindMySQL.cmake](third-party/cmake/FindMySQL.cmake) for the implementation.
**PostgreSQL:**
The following settings can be tuned for the PostgreSQL IDO feature.
- `ICINGA2_WITH_PGSQL`: Determines whether the PostgreSQL IDO module is built; defaults to `ON`
- `PostgreSQL_INCLUDE_DIR`: Top-level directory containing the PostgreSQL include directories
- `PostgreSQL_LIBRARY_DIR`: Top-level directory containing the PostgreSQL libraries
See [FindMySQL.cmake](third-party/cmake/FindPostgreSQL.cmake) for the implementation.
**Version detection:**
CMake determines the Icinga 2 version number using `git describe` if the

View File

@ -74,11 +74,13 @@ IF (WIN32)
$ENV{ProgramFiles}/MySQL/*/lib/${libsuffixDist}
$ENV{SystemDrive}/MySQL/*/lib/${libsuffixDist})
ELSE (WIN32)
SET(MYSQL_CLIENT_LIBS mysqlclient)
IF (NOT MYSQL_CLIENT_LIBS)
SET(MYSQL_CLIENT_LIBS mysqlclient mariadbclient)
ENDIF (NOT MYSQL_CLIENT_LIBS)
FILE(GLOB _macports_lib_dirs /opt/local/lib/mysql*/mysql)
FIND_LIBRARY(MYSQL_LIB NAMES mysqlclient
FIND_LIBRARY(MYSQL_LIB NAMES ${MYSQL_CLIENT_LIBS}
PATHS
$ENV{MYSQL_DIR}/libmysql_r/.libs
$ENV{MYSQL_DIR}/lib