From d2235fd2538eca934f542ff82f21249c3ff314be Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Wed, 31 Oct 2018 14:36:27 -0400 Subject: FindPostgreSQL: add an imported target --- Help/release/dev/FindPostgreSQL-target.rst | 4 ++++ Modules/FindPostgreSQL.cmake | 14 ++++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 Help/release/dev/FindPostgreSQL-target.rst diff --git a/Help/release/dev/FindPostgreSQL-target.rst b/Help/release/dev/FindPostgreSQL-target.rst new file mode 100644 index 0000000..84f8d1a --- /dev/null +++ b/Help/release/dev/FindPostgreSQL-target.rst @@ -0,0 +1,4 @@ +FindPostgreSQL-target +--------------------- + +* The :module:`FindPostgreSQL` module now provides an imported target. diff --git a/Modules/FindPostgreSQL.cmake b/Modules/FindPostgreSQL.cmake index d59ba50..6832bbe 100644 --- a/Modules/FindPostgreSQL.cmake +++ b/Modules/FindPostgreSQL.cmake @@ -7,6 +7,12 @@ FindPostgreSQL Find the PostgreSQL installation. +IMPORTED Targets +^^^^^^^^^^^^^^^^ + +This module defines :prop_tgt:`IMPORTED` target ``PostgreSQL::PostgreSQL`` +if PostgreSQL has been found. + Result Variables ^^^^^^^^^^^^^^^^ @@ -56,6 +62,8 @@ This module will set the following variables in your project: # PostgreSQL_LIBRARY_DIRS - Link directories for PostgreSQL libraries # PostgreSQL_LIBRARIES - The PostgreSQL libraries. # +# The ``PostgreSQL::PostgreSQL`` imported target is also created. +# # ---------------------------------------------------------------------------- # If you have installed PostgreSQL in a non-standard location. # (Please note that in the following comments, it is assumed that @@ -187,6 +195,12 @@ set(PostgreSQL_FOUND ${POSTGRESQL_FOUND}) # Now try to get the include and library path. if(PostgreSQL_FOUND) + if (NOT TARGET PostgreSQL::PostgreSQL) + add_library(PostgreSQL::PostgreSQL UNKNOWN IMPORTED) + set_target_properties(PostgreSQL::PostgreSQL PROPERTIES + IMPORTED_LOCATION "${PostgreSQL_LIBRARY}" + INTERFACE_INCLUDE_DIRECTORIES "${PostgreSQL_INCLUDE_DIR};${PostgreSQL_TYPE_INCLUDE_DIR}") + endif () set(PostgreSQL_INCLUDE_DIRS ${PostgreSQL_INCLUDE_DIR} ${PostgreSQL_TYPE_INCLUDE_DIR} ) set(PostgreSQL_LIBRARY_DIRS ${PostgreSQL_LIBRARY_DIR} ) set(PostgreSQL_LIBRARIES ${PostgreSQL_LIBRARY}) -- cgit v0.12