Some work on PostgreSQL support

note: still don't work, so use mysql

--HG--
branch : trunk
This commit is contained in:
Kudlaty
2009-07-12 04:32:34 +02:00
parent bda2a721fa
commit 63fd4eda99
5 changed files with 71 additions and 12 deletions
+5 -7
View File
@@ -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}
+55
View File
@@ -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, <[email protected]>
#
# 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)
+3 -1
View File
@@ -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
+4 -1
View File
@@ -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}
+4 -3
View File
@@ -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}
)