mirror of
https://github.com/luanti-org/luanti.git
synced 2025-08-01 17:38:41 +00:00
Implement a PostgreSQL backend
This commit is contained in:
parent
0f184d77c8
commit
ce42ff9cf7
7 changed files with 433 additions and 2 deletions
|
@ -189,6 +189,36 @@ if(ENABLE_CURSES)
|
|||
endif()
|
||||
endif(ENABLE_CURSES)
|
||||
|
||||
option(ENABLE_POSTGRESQL "Enable PostgreSQL backend" TRUE)
|
||||
set(USE_POSTGRESQL FALSE)
|
||||
|
||||
if(ENABLE_POSTGRESQL)
|
||||
find_program(POSTGRESQL_CONFIG_EXECUTABLE pg_config DOC "pg_config")
|
||||
find_library(POSTGRESQL_LIBRARY pq)
|
||||
if(POSTGRESQL_CONFIG_EXECUTABLE)
|
||||
execute_process(COMMAND ${POSTGRESQL_CONFIG_EXECUTABLE} --includedir-server
|
||||
OUTPUT_VARIABLE POSTGRESQL_SERVER_INCLUDE_DIRS
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
execute_process(COMMAND ${POSTGRESQL_CONFIG_EXECUTABLE}
|
||||
OUTPUT_VARIABLE POSTGRESQL_CLIENT_INCLUDE_DIRS
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
# This variable is case sensitive for the cmake PostgreSQL module
|
||||
set(PostgreSQL_ADDITIONAL_SEARCH_PATHS ${POSTGRESQL_SERVER_INCLUDE_DIRS} ${POSTGRESQL_CLIENT_INCLUDE_DIRS})
|
||||
endif()
|
||||
|
||||
find_package("PostgreSQL")
|
||||
|
||||
if(POSTGRESQL_FOUND)
|
||||
set(USE_POSTGRESQL TRUE)
|
||||
message(STATUS "PostgreSQL backend enabled")
|
||||
# This variable is case sensitive, don't try to change it to POSTGRESQL_INCLUDE_DIR
|
||||
message(STATUS "PostgreSQL includes: ${PostgreSQL_INCLUDE_DIR}")
|
||||
include_directories(${PostgreSQL_INCLUDE_DIR})
|
||||
else()
|
||||
message(STATUS "PostgreSQL not found!")
|
||||
endif()
|
||||
endif(ENABLE_POSTGRESQL)
|
||||
|
||||
option(ENABLE_LEVELDB "Enable LevelDB backend" TRUE)
|
||||
set(USE_LEVELDB FALSE)
|
||||
|
||||
|
@ -361,6 +391,7 @@ set(common_SRCS
|
|||
craftdef.cpp
|
||||
database-dummy.cpp
|
||||
database-leveldb.cpp
|
||||
database-postgresql.cpp
|
||||
database-redis.cpp
|
||||
database-sqlite3.cpp
|
||||
database.cpp
|
||||
|
@ -592,6 +623,9 @@ if(BUILD_CLIENT)
|
|||
if (USE_CURSES)
|
||||
target_link_libraries(${PROJECT_NAME} ${CURSES_LIBRARIES})
|
||||
endif()
|
||||
if (USE_POSTGRESQL)
|
||||
target_link_libraries(${PROJECT_NAME} ${POSTGRESQL_LIBRARY})
|
||||
endif()
|
||||
if (USE_LEVELDB)
|
||||
target_link_libraries(${PROJECT_NAME} ${LEVELDB_LIBRARY})
|
||||
endif()
|
||||
|
@ -622,6 +656,9 @@ if(BUILD_SERVER)
|
|||
if (USE_CURSES)
|
||||
target_link_libraries(${PROJECT_NAME}server ${CURSES_LIBRARIES})
|
||||
endif()
|
||||
if (USE_POSTGRESQL)
|
||||
target_link_libraries(${PROJECT_NAME}server ${POSTGRESQL_LIBRARY})
|
||||
endif()
|
||||
if (USE_LEVELDB)
|
||||
target_link_libraries(${PROJECT_NAME}server ${LEVELDB_LIBRARY})
|
||||
endif()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue