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  cb44094bc5b30993d00e5bea055a02323b6dbee5 (commit)
       via  70d052f71ddbf15754073f0d3ba5621f5dc06524 (commit)
      from  45c6d45ad795580eb861ca13b4d81f8f6d35943b (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 -----------------------------------------------------------------
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=cb44094bc5b30993d00e5bea055a02323b6dbee5
commit cb44094bc5b30993d00e5bea055a02323b6dbee5
Merge: 45c6d45 70d052f
Author:     Roger Leigh <rle...@codelibre.net>
AuthorDate: Tue Sep 6 17:04:39 2016 -0400
Commit:     CMake Topic Stage <kwro...@kitware.com>
CommitDate: Tue Sep 6 17:04:39 2016 -0400

    Merge topic 'gid-func' into next
    
    70d052f7 GNUInstallDirs: Add set_full_install_dir macro


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=70d052f71ddbf15754073f0d3ba5621f5dc06524
commit 70d052f71ddbf15754073f0d3ba5621f5dc06524
Author:     Roger Leigh <rle...@codelibre.net>
AuthorDate: Sun Aug 28 18:19:02 2016 +0100
Commit:     Roger Leigh <rle...@codelibre.net>
CommitDate: Tue Sep 6 21:54:16 2016 +0100

    GNUInstallDirs: Add set_full_install_dir macro

diff --git a/Modules/GNUInstallDirs.cmake b/Modules/GNUInstallDirs.cmake
index b42084e..eec9cb0 100644
--- a/Modules/GNUInstallDirs.cmake
+++ b/Modules/GNUInstallDirs.cmake
@@ -99,6 +99,22 @@
 #   `Filesystem Hierarchy Standard`_.
 #
 # .. _`Filesystem Hierarchy Standard`: 
https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html
+#
+# Macros
+# ^^^^^^
+#
+# ::
+#
+#    GNUInstallDirs_get_absolute_install_dir(absvar var)
+#
+# Set the given variable ``absvar`` to the absolute path contained
+# within the variable ``var``.  This is to allow the computation of an
+# absolute path, accounting for all the special cases documented
+# above.  While this macro is used to compute the various
+# ``CMAKE_INSTALL_FULL_<dir>`` variables, it is exposed publicly to
+# allow users who create additional path variables to also compute
+# absolute paths where necessary, using the same logic.
+#
 
 #=============================================================================
 # Copyright 2015 Alex Turbov <i.za...@gmail.com>
@@ -300,55 +316,59 @@ mark_as_advanced(
   CMAKE_INSTALL_DOCDIR
   )
 
-# Result directories
-#
-foreach(dir
-    BINDIR
-    SBINDIR
-    LIBEXECDIR
-    SYSCONFDIR
-    SHAREDSTATEDIR
-    LOCALSTATEDIR
-    LIBDIR
-    INCLUDEDIR
-    OLDINCLUDEDIR
-    DATAROOTDIR
-    DATADIR
-    INFODIR
-    LOCALEDIR
-    MANDIR
-    DOCDIR
-    )
-  if(NOT IS_ABSOLUTE "${CMAKE_INSTALL_${dir}}")
+macro(GNUInstallDirs_get_absolute_install_dir absvar var)
+  if(NOT IS_ABSOLUTE "${${var}}")
     # Handle special cases:
     # - CMAKE_INSTALL_PREFIX == /
     # - CMAKE_INSTALL_PREFIX == /usr
     # - CMAKE_INSTALL_PREFIX == /opt/...
     if("${CMAKE_INSTALL_PREFIX}" STREQUAL "/")
       if("${dir}" STREQUAL "SYSCONFDIR" OR "${dir}" STREQUAL "LOCALSTATEDIR")
-        set(CMAKE_INSTALL_FULL_${dir} "/${CMAKE_INSTALL_${dir}}")
+        set(${absvar} "/${${var}}")
       else()
-        if (NOT "${CMAKE_INSTALL_${dir}}" MATCHES "^usr/")
-          set(CMAKE_INSTALL_${dir} "usr/${CMAKE_INSTALL_${dir}}")
+        if (NOT "${${var}}" MATCHES "^usr/")
+          set(${var} "usr/${${var}}")
         endif()
-        set(CMAKE_INSTALL_FULL_${dir} "/${CMAKE_INSTALL_${dir}}")
+        set(${absvar} "/${${var}}")
       endif()
     elseif("${CMAKE_INSTALL_PREFIX}" MATCHES "^/usr/?$")
       if("${dir}" STREQUAL "SYSCONFDIR" OR "${dir}" STREQUAL "LOCALSTATEDIR")
-        set(CMAKE_INSTALL_FULL_${dir} "/${CMAKE_INSTALL_${dir}}")
+        set(${absvar} "/${${var}}")
       else()
-        set(CMAKE_INSTALL_FULL_${dir} 
"${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_${dir}}")
+        set(${absvar} "${CMAKE_INSTALL_PREFIX}/${${var}}")
       endif()
     elseif("${CMAKE_INSTALL_PREFIX}" MATCHES "^/opt/.*")
       if("${dir}" STREQUAL "SYSCONFDIR" OR "${dir}" STREQUAL "LOCALSTATEDIR")
-        set(CMAKE_INSTALL_FULL_${dir} 
"/${CMAKE_INSTALL_${dir}}${CMAKE_INSTALL_PREFIX}")
+        set(${absvar} "/${${var}}${CMAKE_INSTALL_PREFIX}")
       else()
-        set(CMAKE_INSTALL_FULL_${dir} 
"${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_${dir}}")
+        set(${absvar} "${CMAKE_INSTALL_PREFIX}/${${var}}")
       endif()
     else()
-      set(CMAKE_INSTALL_FULL_${dir} 
"${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_${dir}}")
+      set(${absvar} "${CMAKE_INSTALL_PREFIX}/${${var}}")
     endif()
   else()
-    set(CMAKE_INSTALL_FULL_${dir} "${CMAKE_INSTALL_${dir}}")
+    set(${absvar} "${${var}}")
   endif()
+endmacro()
+
+# Result directories
+#
+foreach(dir
+    BINDIR
+    SBINDIR
+    LIBEXECDIR
+    SYSCONFDIR
+    SHAREDSTATEDIR
+    LOCALSTATEDIR
+    LIBDIR
+    INCLUDEDIR
+    OLDINCLUDEDIR
+    DATAROOTDIR
+    DATADIR
+    INFODIR
+    LOCALEDIR
+    MANDIR
+    DOCDIR
+    )
+  GNUInstallDirs_get_absolute_install_dir(CMAKE_INSTALL_FULL_${dir} 
CMAKE_INSTALL_${dir})
 endforeach()

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

Summary of changes:
 Modules/GNUInstallDirs.cmake |   80 ++++++++++++++++++++++++++----------------
 1 file changed, 50 insertions(+), 30 deletions(-)


hooks/post-receive
-- 
CMake
_______________________________________________
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/mailman/listinfo/cmake-commits

Reply via email to