diff --git a/CMakeLists.txt b/CMakeLists.txt index c9b194b855..8e5b15bf46 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -325,15 +325,26 @@ endif() set(WITH_SOCI FALSE CACHE BOOL "Choose if SOCI database support should be built") if (WITH_SOCI) -find_package(Soci 3.1.0) -if (SOCI_FOUND) - mark_as_advanced(CLEAR SOCI_INCLUDE_DIRS) - mark_as_advanced(CLEAR SOCI_LIBRARY) - include_directories(${SOCI_INCLUDE_DIRS}) - set(PDAL_HAVE_SOCI 1) -endif() + find_package(Soci 3.1.0) + if (SOCI_FOUND) + mark_as_advanced(CLEAR SOCI_INCLUDE_DIRS) + mark_as_advanced(CLEAR SOCI_LIBRARY) + include_directories(${SOCI_INCLUDE_DIRS}) + set(PDAL_HAVE_SOCI 1) + endif() endif() +set(WITH_PGPOINTCLOUD FALSE CACHE BOOL "Choose if PostgreSQL PointCloud support should be built") +if (WITH_PGPOINTCLOUD) + find_package(PostgreSQL) + if (POSTGRESQL_FOUND) + set(PDAL_HAVE_PGPOINTCLOUD 1) + mark_as_advanced(CLEAR POSTGRESQL_INCLUDE_DIRS) + mark_as_advanced(CLEAR POSTGRESQL_LIBRARIES) + include_directories(${POSTGRESQL_INCLUDE_DIRS}) + message(STATUS "Building with PgPointCloud") + endif() +endif() set(WITH_NITRO FALSE CACHE BOOL "Choose if Nitro support (only install supported is from http://github.com/hobu/nitro)") diff --git a/cmake/modules/FindPostgreSQL.cmake b/cmake/modules/FindPostgreSQL.cmake new file mode 100644 index 0000000000..1bfa3be60d --- /dev/null +++ b/cmake/modules/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, +# +# 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 + +if(POSTGRESQL_INCLUDE_DIR AND POSTGRESQL_LIBRARIES) + + set(POSTGRESQL_FOUND TRUE) + message(STATUS "Enabled PostgreSQL: ${POSTGRESQL_INCLUDE_DIR}, ${POSTGRESQL_LIBRARIES}") + +else(POSTGRESQL_INCLUDE_DIR AND POSTGRESQL_LIBRARIES) + + FIND_PATH(POSTGRESQL_INCLUDE_DIR libpq-fe.h + /usr/include/postgresql*/ + /usr/pgsql*/include + /usr/local/pgsql/include + /usr/local/include + /opt/local/include + /usr/include/pgsql + $ENV{ProgramFiles}/PostgreSQL/*/include + $ENV{SystemDrive}/PostgreSQL/*/include + ) + + FIND_LIBRARY(POSTGRESQL_LIBRARIES NAMES pq libpq + PATHS + /usr/lib + /usr/lib/postgresql + /usr/local/lib + /usr/pgsql*/lib + /usr/lib64 + /usr/lib64/postgresql + /usr/local/lib64 + /usr/pgsql*/lib64 + $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}") + else(POSTGRESQL_INCLUDE_DIR AND POSTGRESQL_LIBRARIES) + set(POSTGRESQL_FOUND FALSE) + message(STATUS "PostgreSQL not found.") + endif(POSTGRESQL_INCLUDE_DIR AND POSTGRESQL_LIBRARIES) + +endif(POSTGRESQL_INCLUDE_DIR AND POSTGRESQL_LIBRARIES) diff --git a/pramsey-config.sh b/pramsey-config.sh index 7bd4a4fa40..656e1e5582 100755 --- a/pramsey-config.sh +++ b/pramsey-config.sh @@ -21,7 +21,7 @@ if ! [ -z "$1" ]; then fi cmake -G "$CONFIG" \ - -DCMAKE_BUILD_TYPE=Debug \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DCMAKE_INSTALL_PREFIX=${HOME}/pdal \ -DPDAL_EMBED_BOOST=${EMBED} \ -DWITH_GDAL=ON \ diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 026ca421dd..c9ee66e81d 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -428,7 +428,7 @@ set (PDAL_DRIVERS_PGPOINTCLOUD_CPP ) # no provision is made for building as a plugin -if (SOCI_FOUND) +if (POSTGRESQL_FOUND) # if (NOT USE_PDAL_PLUGIN_SOCI) list (APPEND PDAL_CPP ${PDAL_DRIVERS_PGPOINTCLOUD_CPP} ) list (APPEND PDAL_HPP ${PDAL_DRIVERS_PGPOINTCLOUD_HPP} )