123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187 |
- set(PostgreSQL_INCLUDE_PATH_DESCRIPTION "top-level directory containing the PostgreSQL include directories. E.g /usr/local/include/PostgreSQL/8.4 or C:/Program Files/PostgreSQL/8.4/include")
- set(PostgreSQL_INCLUDE_DIR_MESSAGE "Set the PostgreSQL_INCLUDE_DIR cmake cache entry to the ${PostgreSQL_INCLUDE_PATH_DESCRIPTION}")
- set(PostgreSQL_LIBRARY_PATH_DESCRIPTION "top-level directory containing the PostgreSQL libraries.")
- set(PostgreSQL_LIBRARY_DIR_MESSAGE "Set the PostgreSQL_LIBRARY_DIR cmake cache entry to the ${PostgreSQL_LIBRARY_PATH_DESCRIPTION}")
- set(PostgreSQL_ROOT_DIR_MESSAGE "Set the PostgreSQL_ROOT system variable to where PostgreSQL is found on the machine E.g C:/Program Files/PostgreSQL/8.4")
- set(PostgreSQL_KNOWN_VERSIONS ${PostgreSQL_ADDITIONAL_VERSIONS}
- "10" "9.6" "9.5" "9.4" "9.3" "9.2" "9.1" "9.0" "8.4" "8.3" "8.2" "8.1" "8.0")
- set( PostgreSQL_ROOT_DIRECTORIES
- ENV PostgreSQL_ROOT
- ${PostgreSQL_ROOT}
- )
- foreach(suffix ${PostgreSQL_KNOWN_VERSIONS})
- if(WIN32)
- list(APPEND PostgreSQL_LIBRARY_ADDITIONAL_SEARCH_SUFFIXES
- "PostgreSQL/${suffix}/lib")
- list(APPEND PostgreSQL_INCLUDE_ADDITIONAL_SEARCH_SUFFIXES
- "PostgreSQL/${suffix}/include")
- list(APPEND PostgreSQL_TYPE_ADDITIONAL_SEARCH_SUFFIXES
- "PostgreSQL/${suffix}/include/server")
- endif()
- if(UNIX)
- list(APPEND PostgreSQL_LIBRARY_ADDITIONAL_SEARCH_SUFFIXES
- "pgsql-${suffix}/lib")
- list(APPEND PostgreSQL_INCLUDE_ADDITIONAL_SEARCH_SUFFIXES
- "pgsql-${suffix}/include")
- list(APPEND PostgreSQL_TYPE_ADDITIONAL_SEARCH_SUFFIXES
- "postgresql/${suffix}/server"
- "pgsql-${suffix}/include/server")
- endif()
- endforeach()
- find_path(PostgreSQL_INCLUDE_DIR
- NAMES libpq-fe.h
- PATHS
-
- ${PostgreSQL_ROOT_DIRECTORIES}
- PATH_SUFFIXES
- pgsql
- postgresql
- include
- ${PostgreSQL_INCLUDE_ADDITIONAL_SEARCH_SUFFIXES}
-
- DOC "The ${PostgreSQL_INCLUDE_DIR_MESSAGE}"
- )
- find_path(PostgreSQL_TYPE_INCLUDE_DIR
- NAMES catalog/pg_type.h
- PATHS
-
- ${PostgreSQL_ROOT_DIRECTORIES}
- PATH_SUFFIXES
- postgresql
- pgsql/server
- postgresql/server
- include/server
- ${PostgreSQL_TYPE_ADDITIONAL_SEARCH_SUFFIXES}
-
- DOC "The ${PostgreSQL_INCLUDE_DIR_MESSAGE}"
- )
- set (PostgreSQL_LIBRARY_TO_FIND pq)
- set (PostgreSQL_LIB_PREFIX "")
- if ( WIN32 )
- set (PostgreSQL_LIB_PREFIX ${PostgreSQL_LIB_PREFIX} "lib")
- set (PostgreSQL_LIBRARY_TO_FIND ${PostgreSQL_LIB_PREFIX}${PostgreSQL_LIBRARY_TO_FIND})
- endif()
- find_library(PostgreSQL_LIBRARY
- NAMES ${PostgreSQL_LIBRARY_TO_FIND}
- PATHS
- ${PostgreSQL_ROOT_DIRECTORIES}
- PATH_SUFFIXES
- lib
- ${PostgreSQL_LIBRARY_ADDITIONAL_SEARCH_SUFFIXES}
-
- DOC "The ${PostgreSQL_LIBRARY_DIR_MESSAGE}"
- )
- get_filename_component(PostgreSQL_LIBRARY_DIR ${PostgreSQL_LIBRARY} PATH)
- if (PostgreSQL_INCLUDE_DIR)
-
-
-
- file(GLOB _PG_CONFIG_HEADERS "${PostgreSQL_INCLUDE_DIR}/pg_config*.h")
- foreach(_PG_CONFIG_HEADER ${_PG_CONFIG_HEADERS})
- if(EXISTS "${_PG_CONFIG_HEADER}")
- file(STRINGS "${_PG_CONFIG_HEADER}" pgsql_version_str
- REGEX "^#define[\t ]+PG_VERSION[\t ]+\".*\"")
- if(pgsql_version_str)
- string(REGEX REPLACE "^#define[\t ]+PG_VERSION[\t ]+\"([^\"]*)\".*"
- "\\1" PostgreSQL_VERSION_STRING "${pgsql_version_str}")
- break()
- endif()
- endif()
- endforeach()
- unset(pgsql_version_str)
- endif()
- include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
- find_package_handle_standard_args(PostgreSQL
- REQUIRED_VARS PostgreSQL_LIBRARY PostgreSQL_INCLUDE_DIR PostgreSQL_TYPE_INCLUDE_DIR
- VERSION_VAR PostgreSQL_VERSION_STRING)
- set(PostgreSQL_FOUND ${POSTGRESQL_FOUND})
- if(PostgreSQL_FOUND)
- set(PostgreSQL_INCLUDE_DIRS ${PostgreSQL_INCLUDE_DIR} ${PostgreSQL_TYPE_INCLUDE_DIR} )
- set(PostgreSQL_LIBRARY_DIRS ${PostgreSQL_LIBRARY_DIR} )
- set(PostgreSQL_LIBRARIES ${PostgreSQL_LIBRARY})
- endif()
- mark_as_advanced(PostgreSQL_INCLUDE_DIR PostgreSQL_TYPE_INCLUDE_DIR PostgreSQL_LIBRARY )
|