From 217d068b6d131247b1fbae1ec901c942b30f7f80 Mon Sep 17 00:00:00 2001 From: Alex Neundorf Date: Thu, 28 Jul 2011 23:14:52 +0200 Subject: More PATH_SUFFIXES for finding Postgresql and also search catalog/pg_type.h Patch from Jaroslaw Staniek, reviewed by Andrew Maclean Alex --- Modules/FindPostgreSQL.cmake | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/Modules/FindPostgreSQL.cmake b/Modules/FindPostgreSQL.cmake index 96b6741..3595b4d 100644 --- a/Modules/FindPostgreSQL.cmake +++ b/Modules/FindPostgreSQL.cmake @@ -113,6 +113,21 @@ 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 + server + pgsql postgresql include # Help the user find it if we cannot. @@ -156,6 +171,13 @@ if(PostgreSQL_FOUND) ) endif(EXISTS "${PostgreSQL_INCLUDE_DIR}") + if(EXISTS "${PostgreSQL_TYPE_INCLUDE_DIR}") + list(APPEND PostgreSQL_INCLUDE_DIRS + ${PostgreSQL_TYPE_INCLUDE_DIR} + ) + endif(EXISTS "${PostgreSQL_TYPE_INCLUDE_DIR}") + + if(EXISTS "${PostgreSQL_LIBRARY_DIR}") set(PostgreSQL_LIBRARY_DIRS ${PostgreSQL_LIBRARY_DIR} -- cgit v0.12 From da1bdaf16a60d3822f15feb1b1a9d624ae357705 Mon Sep 17 00:00:00 2001 From: Alex Neundorf Date: Thu, 28 Jul 2011 23:19:52 +0200 Subject: Use FPHSA(), remove unnecessary stuff and don't recommend link_directories() -don't recommend using link_directories() -don't do the extra if(EXISTS) checks, since the code is already inside a if(PostgreSQL_FOUND) Alex --- Modules/FindPostgreSQL.cmake | 46 ++++++++------------------------------------ 1 file changed, 8 insertions(+), 38 deletions(-) diff --git a/Modules/FindPostgreSQL.cmake b/Modules/FindPostgreSQL.cmake index 3595b4d..3f73001 100644 --- a/Modules/FindPostgreSQL.cmake +++ b/Modules/FindPostgreSQL.cmake @@ -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. @@ -153,49 +152,20 @@ 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_INCLUDE_DIR PostgreSQL_TYPE_INCLUDE_DIR PostgreSQL_LIBRARY) + +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_TYPE_INCLUDE_DIR}") - list(APPEND PostgreSQL_INCLUDE_DIRS - ${PostgreSQL_TYPE_INCLUDE_DIR} - ) - endif(EXISTS "${PostgreSQL_TYPE_INCLUDE_DIR}") - - - if(EXISTS "${PostgreSQL_LIBRARY_DIR}") - set(PostgreSQL_LIBRARY_DIRS - ${PostgreSQL_LIBRARY_DIR} - ) - set(PostgreSQL_LIBRARIES ${PostgreSQL_LIBRARY_TO_FIND}) - endif(EXISTS "${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}) #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) -- cgit v0.12 From e159bb5bf80eba01d2244e2ef1333b145c2375fe Mon Sep 17 00:00:00 2001 From: Alex Neundorf Date: Mon, 1 Aug 2011 22:27:50 +0200 Subject: Mark the results from find() as advanced Alex --- Modules/FindPostgreSQL.cmake | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Modules/FindPostgreSQL.cmake b/Modules/FindPostgreSQL.cmake index 3f73001..0445090 100644 --- a/Modules/FindPostgreSQL.cmake +++ b/Modules/FindPostgreSQL.cmake @@ -169,3 +169,5 @@ if(PostgreSQL_FOUND) #message("Final PostgreSQL library dir: ${PostgreSQL_LIBRARY_DIRS}") #message("Final PostgreSQL libraries: ${PostgreSQL_LIBRARIES}") endif(PostgreSQL_FOUND) + +mark_as_advanced(PostgreSQL_INCLUDE_DIR PostgreSQL_TYPE_INCLUDE_DIR PostgreSQL_LIBRARY ) -- cgit v0.12 From 825c45739d888cd5fe43875a9e0497c7b389ae70 Mon Sep 17 00:00:00 2001 From: Alex Neundorf Date: Fri, 29 Jul 2011 21:13:52 +0200 Subject: FindPostgreSQL: fix PATH_SUFFIXES, better output for FPHSA Alex --- Modules/FindPostgreSQL.cmake | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/Modules/FindPostgreSQL.cmake b/Modules/FindPostgreSQL.cmake index 0445090..55f95c6 100644 --- a/Modules/FindPostgreSQL.cmake +++ b/Modules/FindPostgreSQL.cmake @@ -125,10 +125,9 @@ find_path(PostgreSQL_TYPE_INCLUDE_DIR # Look in other places. ${PostgreSQL_ROOT_DIRECTORIES} PATH_SUFFIXES - server - pgsql - postgresql - include + pgsql/server + postgresql/server + include/server # Help the user find it if we cannot. DOC "The ${PostgreSQL_INCLUDE_DIR_MESSAGE}" ) @@ -154,7 +153,7 @@ get_filename_component(PostgreSQL_LIBRARY_DIR ${PostgreSQL_LIBRARY} PATH) # Did we find anything? include(FindPackageHandleStandardArgs) find_package_handle_standard_args(PostgreSQL DEFAULT_MSG - PostgreSQL_INCLUDE_DIR PostgreSQL_TYPE_INCLUDE_DIR PostgreSQL_LIBRARY) + PostgreSQL_LIBRARY PostgreSQL_INCLUDE_DIR PostgreSQL_TYPE_INCLUDE_DIR) set( PostgreSQL_FOUND ${POSTGRESQL_FOUND}) -- cgit v0.12