[Cmake-commits] CMake branch, next, updated. v3.0.1-5105-gd4de068

Brad King brad.king at kitware.com
Tue Sep 2 10:34:25 EDT 2014


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, next has been updated
       via  d4de068b395120ba3cc6e0eb5bef83efc43543e2 (commit)
       via  741f29cc00beb52ebe45bde8245dae557a72cc10 (commit)
      from  dd3f11088ac3975b294b80ace18b27018d173e7a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d4de068b395120ba3cc6e0eb5bef83efc43543e2
commit d4de068b395120ba3cc6e0eb5bef83efc43543e2
Merge: dd3f110 741f29c
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Tue Sep 2 10:34:25 2014 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Tue Sep 2 10:34:25 2014 -0400

    Merge topic 'fix-findpostgres-for-multilib' into next
    
    741f29cc FindPostgreSQL: Fix for pg_config in multilib configurations.


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=741f29cc00beb52ebe45bde8245dae557a72cc10
commit 741f29cc00beb52ebe45bde8245dae557a72cc10
Author:     Chuck Atkins <chuck.atkins at kitware.com>
AuthorDate: Sun Aug 31 19:52:04 2014 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Tue Sep 2 10:35:37 2014 -0400

    FindPostgreSQL: Fix for pg_config in multilib configurations.
    
    Some platforms, Fedora 20 and RHEL 7 in particular, will have multiple
    pg_config_${arch}.h files all included by the top level pg_config.h.
    This checks all of the available pg_config*.h headers for version
    information.

diff --git a/Modules/FindPostgreSQL.cmake b/Modules/FindPostgreSQL.cmake
index f13dea8..97666c8 100644
--- a/Modules/FindPostgreSQL.cmake
+++ b/Modules/FindPostgreSQL.cmake
@@ -145,12 +145,22 @@ find_library( PostgreSQL_LIBRARY
 )
 get_filename_component(PostgreSQL_LIBRARY_DIR ${PostgreSQL_LIBRARY} PATH)
 
-if (PostgreSQL_INCLUDE_DIR AND EXISTS "${PostgreSQL_INCLUDE_DIR}/pg_config.h")
-  file(STRINGS "${PostgreSQL_INCLUDE_DIR}/pg_config.h" pgsql_version_str
-       REGEX "^#define[\t ]+PG_VERSION[\t ]+\".*\"")
-
-  string(REGEX REPLACE "^#define[\t ]+PG_VERSION[\t ]+\"([^\"]*)\".*" "\\1"
-         PostgreSQL_VERSION_STRING "${pgsql_version_str}")
+if (PostgreSQL_INCLUDE_DIR)
+  # Some platforms include multiple pg_config.hs for multi-lib configurations
+  # This is a temporary workaround.  A better solution would be to compile
+  # a dummy c file and extract the value of the symbol.
+  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()
 

-----------------------------------------------------------------------

Summary of changes:


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list