Skip to content
Snippets Groups Projects
Commit 98b0999f authored by Roman Tsisyk's avatar Roman Tsisyk
Browse files

Add WITH_MYSQL and WITH_POSTGRESQL CMake options

parent 88656f36
No related branches found
No related tags found
No related merge requests found
......@@ -16,6 +16,7 @@ include(CheckCSourceCompiles)
include(CheckCXXSourceCompiles)
include(TestBigEndian)
include(CheckFunctionExists)
include(FindOptionalPackage)
find_program(ECHO echo)
find_program(XSLTPROC xsltproc)
......@@ -402,6 +403,7 @@ message (STATUS "ENABLE_BUNDLED_LIBEV: ${ENABLE_BUNDLED_LIBEV}")
message (STATUS "ENABLE_BUNDLED_LIBEIO: ${ENABLE_BUNDLED_LIBEIO}")
message (STATUS "ENABLE_BUNDLED_LIBCORO: ${ENABLE_BUNDLED_LIBCORO}")
message (STATUS "ENABLE_DOC: ${ENABLE_DOC}")
list_optional_packages()
message (STATUS "")
message (STATUS "To view or modify configuration results, check out CMakeCache.txt.")
message (STATUS "")
if (NOT _OptionalPackagesFile)
set(_OptionalPackagesFile
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/OptionalPackages.txt)
if (EXISTS ${_OptionalPackagesFile})
file(REMOVE ${_OptionalPackagesFile})
endif()
endif()
macro (find_optional_package _package)
string(TOUPPER ${_package} _packageUpper)
if (WITH_${_packageUpper})
# WITH_${_packageUpper} option requested by the user
set(${_packageUpper}_FIND_REQUIRED ON)
endif()
option(WITH_${_packageUpper} "Search for ${_package} package" ON)
if (WITH_${_packageUpper})
find_package(${_package} ${ARGN})
else (WITH_${_packageUpper})
set(${_package}_FOUND OFF)
set(${_packageUpper}_FOUND OFF)
endif ()
file(APPEND "${_OptionalPackagesFile}"
"-- WITH_${_packageUpper}=${WITH_${_packageUpper}}\n")
endmacro (find_optional_package)
macro(list_optional_packages)
file(READ ${_OptionalPackagesFile} _message)
message(STATUS "\n${_message}")
endmacro()
include(FindMySQL)
find_optional_package(MySQL)
if (MYSQL_FOUND)
message(STATUS "box.net.sql(mysql) INC=${MYSQL_INCLUDE_DIRS}")
message(STATUS "box.net.sql(mysql) LIBS=${MYSQL_LIBRARIES}")
......@@ -7,6 +8,4 @@ if (MYSQL_FOUND)
add_library(mysql SHARED mysql.cc)
target_link_libraries(mysql ${MYSQL_LIBRARIES})
install(TARGETS mysql LIBRARY DESTINATION ${PLUGIN_DIR})
else()
message(STATUS "MySQL client not found")
endif()
# A special hack for buggy FindPostgreSQL.cmake in Debian/Ubuntu
set(PostgreSQL_ROOT /usr/include/postgresql;/usr/include/postgres)
find_package(PostgreSQL)
find_optional_package(PostgreSQL)
if (PostgreSQL_FOUND)
message(STATUS "box.net.sql(pg): INC=${PostgreSQL_INCLUDE_DIRS}")
message(STATUS "box.net.sql(pg): LIBS=${PostgreSQL_LIBRARIES}")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment