diff options
author | Brad King <brad.king@kitware.com> | 2019-07-02 11:32:14 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2019-07-02 11:32:14 (GMT) |
commit | d21b890a4c3d6c6d9a7457906fe8b1629eed41b0 (patch) | |
tree | 1b0dcafc35b5b9d503e81dc1dc24d6f81648ce71 /Modules | |
parent | 753373579e3dd8cf19f0fc18f4d9bec43a2d82e8 (diff) | |
download | CMake-d21b890a4c3d6c6d9a7457906fe8b1629eed41b0.zip CMake-d21b890a4c3d6c6d9a7457906fe8b1629eed41b0.tar.gz CMake-d21b890a4c3d6c6d9a7457906fe8b1629eed41b0.tar.bz2 |
FindPostgreSQL: Fix regression in computation of library directory
Since commit 368bcba28a (FindPostgreSQL: Find debug lib, imported
configs, 2019-05-09, v3.15.0-rc1~93^2) the `PostgreSQL_LIBRARY` variable
may contain a list and therefore should not be passed to the
`get_filename_component` command directly. Instead spell out the logic
to compute `PostgreSQL_LIBRARY_DIR` from one of the per-configuration
variables.
Fixes: #19444
Diffstat (limited to 'Modules')
-rw-r--r-- | Modules/FindPostgreSQL.cmake | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/Modules/FindPostgreSQL.cmake b/Modules/FindPostgreSQL.cmake index 433eae7..dfece22 100644 --- a/Modules/FindPostgreSQL.cmake +++ b/Modules/FindPostgreSQL.cmake @@ -172,14 +172,21 @@ endfunction() # any PostgreSQL_LIBRARY that is already specified and skip the search. if(PostgreSQL_LIBRARY) set(PostgreSQL_LIBRARIES "${PostgreSQL_LIBRARY}") + get_filename_component(PostgreSQL_LIBRARY_DIR "${PostgreSQL_LIBRARY}" PATH) else() __postgresql_find_library(PostgreSQL_LIBRARY_RELEASE ${PostgreSQL_LIBRARY_TO_FIND}) __postgresql_find_library(PostgreSQL_LIBRARY_DEBUG ${PostgreSQL_LIBRARY_TO_FIND}d) include(${CMAKE_CURRENT_LIST_DIR}/SelectLibraryConfigurations.cmake) select_library_configurations(PostgreSQL) mark_as_advanced(PostgreSQL_LIBRARY_RELEASE PostgreSQL_LIBRARY_DEBUG) + if(PostgreSQL_LIBRARY_RELEASE) + get_filename_component(PostgreSQL_LIBRARY_DIR "${PostgreSQL_LIBRARY_RELEASE}" PATH) + elseif(PostgreSQL_LIBRARY_DEBUG) + get_filename_component(PostgreSQL_LIBRARY_DIR "${PostgreSQL_LIBRARY_DEBUG}" PATH) + else() + set(PostgreSQL_LIBRARY_DIR "") + endif() endif() -get_filename_component(PostgreSQL_LIBRARY_DIR ${PostgreSQL_LIBRARY} PATH) if (PostgreSQL_INCLUDE_DIR) # Some platforms include multiple pg_config.hs for multi-lib configurations |