pointcloud/CMakeLists.txt
2013-10-22 11:32:19 -07:00

127 lines
3.4 KiB
CMake

#------------------------------------------------------------------------------
# CMakeLists.txt - root CMake configuration file
# Copyright (C) 2013 Boundless
#------------------------------------------------------------------------------
# versions
project(POINTCLOUD)
set (POINTCLOUD_VERSION_MAJOR 0)
set (POINTCLOUD_VERSION_MINOR 2)
set (POINTCLOUD_VERSION_PATCH 0)
#------------------------------------------------------------------------------
# internal cmake settings
cmake_minimum_required(VERSION 2.8.0 FATAL_ERROR)
set (CMAKE_COLOR_MAKEFILE ON)
# Path to additional CMake modules
set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/modules ${CMAKE_MODULE_PATH})
#------------------------------------------------------------------------------
# check for headers
include (CheckIncludeFiles)
check_include_files (stdint.h HAVE_STDINT_H)
check_include_files (getopt.h HAVE_GETOPT_H)
#------------------------------------------------------------------------------
# PostgreSQL server paths come from pg_config
#
find_program(PG_CONFIG pg_config)
if(NOT PG_CONFIG)
message(FATAL ERROR "Unable to find 'pg_config'")
endif(NOT PG_CONFIG)
exec_program(${PG_CONFIG} ARGS --version OUTPUT_VARIABLE PGCONFIG_OUTPUT)
string(REGEX REPLACE
"^PostgreSQL[\t ]+([0-9]+)\\.([0-9]+)\\.([0-9]+)" "\\1.\\2.\\3"
PGSQL_VERSION "${PGCONFIG_OUTPUT}")
unset(PGCONFIG_OUTPUT)
if(PGSQL_VERSION)
string(REGEX REPLACE
"([0-9]+)\\.([0-9]+)\\.([0-9]+)" "\\1"
PGSQL_VERSION_MAJOR "${PGSQL_VERSION}")
string(REGEX REPLACE
"([0-9]+)\\.([0-9]+)\\.([0-9]+)" "\\2"
PGSQL_VERSION_MINOR "${PGSQL_VERSION}")
set(PGSQL_NUMERIC_VERSION ${PGSQL_VERSION_MAJOR}${PGSQL_VERSION_MINOR})
endif()
exec_program(${PG_CONFIG} ARGS --includedir
OUTPUT_VARIABLE PGSQL_INCLUDEDIR)
exec_program(${PG_CONFIG} ARGS --includedir-server
OUTPUT_VARIABLE PGSQL_INCLUDEDIR_SERVER)
exec_program(${PG_CONFIG} ARGS --pkglibdir OUTPUT_VARIABLE PGSQL_PKGLIBDIR)
exec_program(${PG_CONFIG} ARGS --sharedir OUTPUT_VARIABLE PGSQL_SHAREDIR)
exec_program(${PG_CONFIG} ARGS --bindir OUTPUT_VARIABLE PGSQL_BINDIR)
#------------------------------------------------------------------------------
# libxml2
find_package (LibXml2 REQUIRED)
mark_as_advanced (CLEAR LIBXML2_INCLUDE_DIR)
mark_as_advanced (CLEAR LIBXML2_LIBRARIES)
include_directories (${LIBXML2_INCLUDE_DIR})
#------------------------------------------------------------------------------
# zlib
find_package (ZLIB REQUIRED)
include_directories (${ZLIB_INCLUDE_DIR})
#------------------------------------------------------------------------------
# cunit and ght
find_package (CUnit)
find_package (LibGHT)
if (LIBGHT_FOUND)
set (HAVE_LIBGHT 1)
endif (LIBGHT_FOUND)
#------------------------------------------------------------------------------
# use default install location if not specified
if (NOT DEFINED LIB_INSTALL_DIR)
set (LIB_INSTALL_DIR lib)
endif()
#------------------------------------------------------------------------------
# generate config include
configure_file (
"${PROJECT_SOURCE_DIR}/lib/pc_config.h.cmake"
"${PROJECT_BINARY_DIR}/lib/pc_config.h"
)
include_directories ("${PROJECT_BINARY_DIR}/lib")
#------------------------------------------------------------------------------
# libpc is required for the database component
add_subdirectory (lib)
add_subdirectory (pgsql)
add_subdirectory (pgsql_postgis)