diff options
-rw-r--r-- | CMakeLists.txt | 12 | ||||
-rw-r--r-- | cmake/FindPostgreSql.cmake | 55 | ||||
-rw-r--r-- | src/shared/Database/QueryResultPostgre.h | 4 | ||||
-rw-r--r-- | src/trinitycore/CMakeLists.txt | 5 | ||||
-rw-r--r-- | src/trinityrealm/CMakeLists.txt | 7 |
5 files changed, 71 insertions, 12 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index af854b995f5..1c4718aadaa 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,6 +5,7 @@ cmake_policy(SET CMP0005 OLD) include(CheckIncludeFiles) include(cmake/FindAce.cmake) include(cmake/FindMySql.cmake) +include(cmake/FindPostgreSql.cmake) CONFIGURE_FILE( "${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" @@ -61,13 +62,10 @@ message("* Libs install dir at: ${LIBSDIR}") FIND_LIBRARY(SSLLIB NAMES ssl DOC "SSL library") FIND_LIBRARY(ZLIB z "Zlib library") - IF(DO_POSTGRESQL) -message("* With PostgreSQL") -set(DO_MYSQL 0) -SET(POSTGRE_INCLUDES "-I/usr/include/postgresql -I/usr/local/postgresql ${POSTGRE_INCLUDES}") -SET(POSTGRE_LIBS "-L/usr/lib/postresql -lpq -lz -lpthread -lcrypt -lnsl -lm -lpthread -L/usr/lib -lssl -lcrypto ${POSTGRE_LIBS}") -ADD_DEFINITIONS(-DDO_POSTGRESQL) + MESSAGE("* With PostgreSQL") + FIND_PostgreSQL() + ADD_DEFINITIONS(-DDO_POSTGRESQL) ENDIF(DO_POSTGRESQL) IF(DO_MYSQL) @@ -174,7 +172,7 @@ src/shared/vmap src/game ${SCRIPT_INCLUDE} ${MYSQL_INCLUDE_DIR} -${POSTGRE_INCLUDES} +${POSTGRESQL_INCLUDE_DIR} ${CMAKE_CURRENT_BINARY_DIR}/src/shared ${CMAKE_CURRENT_SOURCE_DIR}/.. ${ACE_INCLUDE_DIR} diff --git a/cmake/FindPostgreSql.cmake b/cmake/FindPostgreSql.cmake new file mode 100644 index 00000000000..74833e87fbf --- /dev/null +++ b/cmake/FindPostgreSql.cmake @@ -0,0 +1,55 @@ +# - Find PostgreSQL +# Find the PostgreSQL includes and client library +# This module defines +# POSTGRESQL_INCLUDE_DIR, where to find POSTGRESQL.h +# POSTGRESQL_LIBRARIES, the libraries needed to use POSTGRESQL. +# POSTGRESQL_FOUND, If false, do not try to use PostgreSQL. +# +# Copyright (c) 2006, Jaroslaw Staniek, <js@iidea.pl> +# +# Redistribution and use is allowed according to the terms of the BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. + +# Add the postgresql and mysql include paths here + +MACRO(FIND_PostgreSQL) + +# find_path(POSTGRESQL_INCLUDE_DIR libpq-fe.h + + FIND_PATH(POSTGRESQL_INCLUDE_DIR libpq-fe.h + /usr/include/server + /usr/include/postgresql + /usr/include/pgsql/server + /usr/local/include/pgsql/server + /usr/include/postgresql/server + /usr/include/postgresql/*/server + /usr/local/include/postgresql/server + /usr/local/include/postgresql/*/server + $ENV{ProgramFiles}/PostgreSQL/*/include/server + $ENV{SystemDrive}/PostgreSQL/*/include/server + ) + + find_library(POSTGRESQL_LIBRARIES NAMES pq libpq + PATHS + /usr/lib + /usr/local/lib + /usr/lib/postgresql + /usr/lib64 + /usr/local/lib64 + /usr/lib64/postgresql + $ENV{ProgramFiles}/PostgreSQL/*/lib/ms + $ENV{SystemDrive}/PostgreSQL/*/lib/ms + ) + + if(POSTGRESQL_INCLUDE_DIR AND POSTGRESQL_LIBRARIES) + set(POSTGRESQL_FOUND TRUE) + message(STATUS "Found PostgreSQL: ${POSTGRESQL_INCLUDE_DIR}, ${POSTGRESQL_LIBRARIES}") + INCLUDE_DIRECTORIES(${POSTGRESQL_INCLUDE_DIR}) + else(POSTGRESQL_INCLUDE_DIR AND POSTGRESQL_LIBRARIES) + set(POSTGRESQL_FOUND FALSE) + message(STATUS "PostgreSQL not found.") + endif(POSTGRESQL_INCLUDE_DIR AND POSTGRESQL_LIBRARIES) + + mark_as_advanced(POSTGRESQL_INCLUDE_DIR POSTGRESQL_LIBRARIES) + +ENDMACRO(FIND_PostgreSQL)
\ No newline at end of file diff --git a/src/shared/Database/QueryResultPostgre.h b/src/shared/Database/QueryResultPostgre.h index 30d69114dc6..a48c6d21fee 100644 --- a/src/shared/Database/QueryResultPostgre.h +++ b/src/shared/Database/QueryResultPostgre.h @@ -25,10 +25,12 @@ #define FD_SETSIZE 1024 #include <winsock2.h> #include <postgre/libpq-fe.h> +#include <postgre/postgres.h> #include <postgre/pg_type.h> #else #include <libpq-fe.h> -//#include <pg_type.h> +#include <postgres.h> +#include <catalog/pg_type.h> #endif class QueryResultPostgre : public QueryResult diff --git a/src/trinitycore/CMakeLists.txt b/src/trinitycore/CMakeLists.txt index 7eb13185d91..ffd8e6431c4 100644 --- a/src/trinitycore/CMakeLists.txt +++ b/src/trinitycore/CMakeLists.txt @@ -22,6 +22,9 @@ add_definitions( IF (DO_MYSQL) SET(trinity-core_LINK_FLAGS "-pthread ${trinity-core_LINK_FLAGS}") ENDIF(DO_MYSQL) +IF (DO_POSTGRESQL) + SET(trinity-core_LINK_FLAGS "-pthread ${trinity-core_LINK_FLAGS}") +ENDIF(DO_POSTGRESQL) IF (CMAKE_SYSTEM_NAME MATCHES "Darwin") @@ -48,7 +51,7 @@ readline gomp ${SCRIPT_LIB} ${MYSQL_LIBRARIES} -${POSTGRE_LIBS} +${POSTGRESQL_LIBRARIES} ${SSLLIB} ${ACE_LIBRARY} ${ZLIB} diff --git a/src/trinityrealm/CMakeLists.txt b/src/trinityrealm/CMakeLists.txt index 62f943a1c96..dc5b67c7798 100644 --- a/src/trinityrealm/CMakeLists.txt +++ b/src/trinityrealm/CMakeLists.txt @@ -18,9 +18,9 @@ add_definitions( IF (DO_MYSQL) SET(trinity-realm_LINK_FLAGS "-pthread ${trinity-realm_LINK_FLAGS}") ENDIF(DO_MYSQL) -IF (DO_POSTGRE) - SET(trinity-realm_LINK_FLAGS "${POSTGRE_LIBS} ${trinity-realm_LINK_FLAGS}") -ENDIF(DO_POSTGRE) +IF (DO_POSTGRESQL) + SET(trinity-realm_LINK_FLAGS "-pthread ${trinity-realm_LINK_FLAGS}") +ENDIF(DO_POSTGRESQL) IF (CMAKE_SYSTEM_NAME MATCHES "Darwin") SET(trinity-realm_LINK_FLAGS "-framework Carbon ${trinity-realm_LINK_FLAGS}") @@ -41,6 +41,7 @@ zlib gomp ${SSLLIB} ${MYSQL_LIBRARIES} +${POSTGRESQL_LIBRARIES} ${OSX_LIBS} ) |