Merge topic 'FindPostgresqlImprovements'

825c457 FindPostgreSQL: fix PATH_SUFFIXES, better output for FPHSA
e159bb5 Mark the results from find() as advanced
da1bdaf Use FPHSA(), remove unnecessary stuff and don't recommend link_directories()
217d068 More PATH_SUFFIXES for finding Postgresql and also search catalog/pg_type.h
This commit is contained in:
David Cole 2011-08-02 15:11:45 -04:00 committed by CMake Topic Stage
commit 737be8f6f6
1 changed files with 23 additions and 30 deletions

View File

@ -7,7 +7,6 @@
# ...
# if( PostgreSQL_FOUND )
# include_directories(${PostgreSQL_INCLUDE_DIRS})
# link_directories(${PostgreSQL_LIBRARY_DIRS})
# endif( PostgreSQL_FOUND )
# ...
# Remember to include ${PostgreSQL_LIBRARIES} in the target_link_libraries() statement.
@ -113,12 +112,26 @@ find_path(PostgreSQL_INCLUDE_DIR
# Look in other places.
${PostgreSQL_ROOT_DIRECTORIES}
PATH_SUFFIXES
pgsql
postgresql
include
# Help the user find it if we cannot.
DOC "The ${PostgreSQL_INCLUDE_DIR_MESSAGE}"
)
find_path(PostgreSQL_TYPE_INCLUDE_DIR
NAMES catalog/pg_type.h
PATHS
# Look in other places.
${PostgreSQL_ROOT_DIRECTORIES}
PATH_SUFFIXES
pgsql/server
postgresql/server
include/server
# Help the user find it if we cannot.
DOC "The ${PostgreSQL_INCLUDE_DIR_MESSAGE}"
)
# The PostgreSQL library.
set (PostgreSQL_LIBRARY_TO_FIND pq)
# Setting some more prefixes for the library
@ -138,42 +151,22 @@ find_library( PostgreSQL_LIBRARY
get_filename_component(PostgreSQL_LIBRARY_DIR ${PostgreSQL_LIBRARY} PATH)
# Did we find anything?
set( PostgreSQL_FOUND 0 )
if ( EXISTS "${PostgreSQL_INCLUDE_DIR}" AND EXISTS "${PostgreSQL_LIBRARY_DIR}" )
set( PostgreSQL_FOUND 1 )
else ( EXISTS "${PostgreSQL_INCLUDE_DIR}" AND EXISTS "${PostgreSQL_LIBRARY_DIR}" )
if ( POSTGRES_REQUIRED )
message( FATAL_ERROR "PostgreSQL is required. ${PostgreSQL_ROOT_DIR_MESSAGE}" )
endif ( POSTGRES_REQUIRED )
endif (EXISTS "${PostgreSQL_INCLUDE_DIR}" AND EXISTS "${PostgreSQL_LIBRARY_DIR}" )
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(PostgreSQL DEFAULT_MSG
PostgreSQL_LIBRARY PostgreSQL_INCLUDE_DIR PostgreSQL_TYPE_INCLUDE_DIR)
set( PostgreSQL_FOUND ${POSTGRESQL_FOUND})
# Now try to get the include and library path.
if(PostgreSQL_FOUND)
if(EXISTS "${PostgreSQL_INCLUDE_DIR}")
set(PostgreSQL_INCLUDE_DIRS
${PostgreSQL_INCLUDE_DIR}
)
endif(EXISTS "${PostgreSQL_INCLUDE_DIR}")
if(EXISTS "${PostgreSQL_LIBRARY_DIR}")
set(PostgreSQL_LIBRARY_DIRS
${PostgreSQL_LIBRARY_DIR}
)
set(PostgreSQL_INCLUDE_DIRS ${PostgreSQL_INCLUDE_DIR} ${PostgreSQL_TYPE_INCLUDE_DIR} )
set(PostgreSQL_LIBRARY_DIRS ${PostgreSQL_LIBRARY_DIR} )
set(PostgreSQL_LIBRARIES ${PostgreSQL_LIBRARY_TO_FIND})
endif(EXISTS "${PostgreSQL_LIBRARY_DIR}")
#message("Final PostgreSQL include dir: ${PostgreSQL_INCLUDE_DIRS}")
#message("Final PostgreSQL library dir: ${PostgreSQL_LIBRARY_DIRS}")
#message("Final PostgreSQL libraries: ${PostgreSQL_LIBRARIES}")
endif(PostgreSQL_FOUND)
if(NOT PostgreSQL_FOUND)
if(NOT PostgreSQL_FIND_QUIETLY)
message(STATUS "PostgreSQL was not found. ${PostgreSQL_DIR_MESSAGE}")
else(NOT PostgreSQL_FIND_QUIETLY)
if(PostgreSQL_FIND_REQUIRED)
message(FATAL_ERROR "PostgreSQL was not found. ${PostgreSQL_DIR_MESSAGE}")
endif(PostgreSQL_FIND_REQUIRED)
endif(NOT PostgreSQL_FIND_QUIETLY)
endif(NOT PostgreSQL_FOUND)
mark_as_advanced(PostgreSQL_INCLUDE_DIR PostgreSQL_TYPE_INCLUDE_DIR PostgreSQL_LIBRARY )