[Cmake-commits] CMake branch, next, updated. v2.8.7-2406-g5ceab52

Rolf Eike Beer eike at sf-mail.de
Wed Feb 1 13:31:33 EST 2012


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  5ceab525fcf04600df3e9136274063914859472f (commit)
       via  31826b5166f0921d34625d86e82dd73fb47652d5 (commit)
      from  ea9242399868cc325739ce9e1bea9a0c3f0d85dc (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=5ceab525fcf04600df3e9136274063914859472f
commit 5ceab525fcf04600df3e9136274063914859472f
Merge: ea92423 31826b5
Author:     Rolf Eike Beer <eike at sf-mail.de>
AuthorDate: Wed Feb 1 13:31:30 2012 -0500
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Wed Feb 1 13:31:30 2012 -0500

    Merge topic 'perl-version' into next
    
    31826b5 FindPerl{,Libs}: move version detection into FindPerl


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=31826b5166f0921d34625d86e82dd73fb47652d5
commit 31826b5166f0921d34625d86e82dd73fb47652d5
Author:     Rolf Eike Beer <eike at sf-mail.de>
AuthorDate: Wed Jan 18 18:08:43 2012 +0100
Commit:     Rolf Eike Beer <eike at sf-mail.de>
CommitDate: Wed Feb 1 19:31:17 2012 +0100

    FindPerl{,Libs}: move version detection into FindPerl
    
    If the first attempt of getting the version doesn't succeed, try a second
    approach.

diff --git a/Modules/FindPerl.cmake b/Modules/FindPerl.cmake
index db393e7..ae686df 100644
--- a/Modules/FindPerl.cmake
+++ b/Modules/FindPerl.cmake
@@ -1,8 +1,9 @@
 # - Find perl
 # this module looks for Perl
 #
-#  PERL_EXECUTABLE - the full path to perl
-#  PERL_FOUND      - If false, don't attempt to use perl.
+#  PERL_EXECUTABLE     - the full path to perl
+#  PERL_FOUND          - If false, don't attempt to use perl.
+#  PERL_VERSION_STRING - version of perl found (since CMake 2.8.8)
 
 #=============================================================================
 # Copyright 2001-2009 Kitware, Inc.
@@ -39,12 +40,44 @@ FIND_PROGRAM(PERL_EXECUTABLE
   PATHS ${PERL_POSSIBLE_BIN_PATHS}
   )
 
+IF(PERL_EXECUTABLE)
+  ### PERL_VERSION
+  EXECUTE_PROCESS(
+    COMMAND
+      ${PERL_EXECUTABLE} -V:version
+      OUTPUT_VARIABLE
+        PERL_VERSION_OUTPUT_VARIABLE
+      RESULT_VARIABLE
+        PERL_VERSION_RESULT_VARIABLE
+      ERROR_QUIET
+      OUTPUT_STRIP_TRAILING_WHITESPACE
+  )
+  IF(NOT PERL_VERSION_RESULT_VARIABLE AND NOT PERL_VERSION_OUTPUT_VARIABLE MATCHES "^version='UNKNOWN'")
+    STRING(REGEX REPLACE "version='([^']+)'.*" "\\1" PERL_VERSION_STRING ${PERL_VERSION_OUTPUT_VARIABLE})
+  ELSE()
+    EXECUTE_PROCESS(
+      COMMAND ${PERL_EXECUTABLE} -v
+      OUTPUT_VARIABLE PERL_VERSION_OUTPUT_VARIABLE
+      RESULT_VARIABLE PERL_VERSION_RESULT_VARIABLE
+      ERROR_QUIET
+      OUTPUT_STRIP_TRAILING_WHITESPACE
+    )
+    IF(NOT PERL_VERSION_RESULT_VARIABLE AND PERL_VERSION_OUTPUT_VARIABLE MATCHES "This is perl.*[ \\(]v([0-9\\._]+)[ \\)]")
+      STRING(REGEX REPLACE ".*This is perl.*[ \\(]v([0-9\\._]+)[ \\)].*" "\\1" PERL_VERSION_STRING ${PERL_VERSION_OUTPUT_VARIABLE})
+    ELSEIF(NOT PERL_VERSION_RESULT_VARIABLE AND PERL_VERSION_OUTPUT_VARIABLE MATCHES "This is perl, version ([0-9\\._]+) +")
+      STRING(REGEX REPLACE ".*This is perl, version ([0-9\\._]+) +.*" "\\1" PERL_VERSION_STRING ${PERL_VERSION_OUTPUT_VARIABLE})
+    ENDIF()
+  ENDIF()
+ENDIF(PERL_EXECUTABLE)
+
 # Deprecated settings for compatibility with CMake1.4
 SET(PERL ${PERL_EXECUTABLE})
 
 # handle the QUIETLY and REQUIRED arguments and set PERL_FOUND to TRUE if 
 # all listed variables are TRUE
 INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(Perl DEFAULT_MSG PERL_EXECUTABLE)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Perl
+                                  REQUIRED_VARS PERL_EXECUTABLE
+                                  VERSION_VAR PERL_VERSION_STRING)
 
 MARK_AS_ADVANCED(PERL_EXECUTABLE)
diff --git a/Modules/FindPerlLibs.cmake b/Modules/FindPerlLibs.cmake
index eea55f1..0ac8060 100644
--- a/Modules/FindPerlLibs.cmake
+++ b/Modules/FindPerlLibs.cmake
@@ -55,19 +55,6 @@ if (PERL_EXECUTABLE)
     string(REGEX REPLACE "prefix='([^']+)'.*" "\\1" PERL_PREFIX ${PERL_PREFIX_OUTPUT_VARIABLE})
   endif (NOT PERL_PREFIX_RESULT_VARIABLE)
 
-  ### PERL_VERSION
-  execute_process(
-    COMMAND
-      ${PERL_EXECUTABLE} -V:version
-      OUTPUT_VARIABLE
-        PERL_VERSION_OUTPUT_VARIABLE
-      RESULT_VARIABLE
-        PERL_VERSION_RESULT_VARIABLE
-  )
-  if (NOT PERL_VERSION_RESULT_VARIABLE)
-    string(REGEX REPLACE "version='([^']+)'.*" "\\1" PERL_VERSION ${PERL_VERSION_OUTPUT_VARIABLE})
-  endif (NOT PERL_VERSION_RESULT_VARIABLE)
-
   ### PERL_ARCHNAME
   execute_process(
     COMMAND
@@ -206,19 +193,19 @@ if (PERL_EXECUTABLE)
   ### PERL_POSSIBLE_INCLUDE_PATHS
   set(PERL_POSSIBLE_INCLUDE_PATHS
     ${PERL_ARCHLIB}/CORE
-    /usr/lib/perl5/${PERL_VERSION}/${PERL_ARCHNAME}/CORE
-    /usr/lib/perl/${PERL_VERSION}/${PERL_ARCHNAME}/CORE
-    /usr/lib/perl5/${PERL_VERSION}/CORE
-    /usr/lib/perl/${PERL_VERSION}/CORE
+    /usr/lib/perl5/${PERL_VERSION_STRING}/${PERL_ARCHNAME}/CORE
+    /usr/lib/perl/${PERL_VERSION_STRING}/${PERL_ARCHNAME}/CORE
+    /usr/lib/perl5/${PERL_VERSION_STRING}/CORE
+    /usr/lib/perl/${PERL_VERSION_STRING}/CORE
     )
 
   ### PERL_POSSIBLE_LIB_PATHS
   set(PERL_POSSIBLE_LIB_PATHS
     ${PERL_ARCHLIB}/CORE
-    /usr/lib/perl5/${PERL_VERSION}/${PERL_ARCHNAME}/CORE
-    /usr/lib/perl/${PERL_VERSION}/${PERL_ARCHNAME}/CORE
-    /usr/lib/perl5/${PERL_VERSION}/CORE
-    /usr/lib/perl/${PERL_VERSION}/CORE
+    /usr/lib/perl5/${PERL_VERSION_STRING}/${PERL_ARCHNAME}/CORE
+    /usr/lib/perl/${PERL_VERSION_STRING}/${PERL_ARCHNAME}/CORE
+    /usr/lib/perl5/${PERL_VERSION_STRING}/CORE
+    /usr/lib/perl/${PERL_VERSION_STRING}/CORE
   )
 
   ### PERL_POSSIBLE_LIBRARY_NAME
@@ -249,7 +236,7 @@ if (PERL_EXECUTABLE)
   find_library(PERL_LIBRARY
     NAMES
       ${PERL_POSSIBLE_LIBRARY_NAME}
-      perl${PERL_VERSION}
+      perl${PERL_VERSION_STRING}
       perl
     PATHS
       ${PERL_POSSIBLE_LIB_PATHS}
@@ -261,15 +248,16 @@ endif (PERL_EXECUTABLE)
 # all listed variables are TRUE
 include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
 find_package_handle_standard_args(PerlLibs REQUIRED_VARS PERL_LIBRARY PERL_INCLUDE_PATH
-                                           VERSION_VAR PERL_VERSION)
+                                           VERSION_VAR PERL_VERSION_STRING)
 
 # Introduced after CMake 2.6.4 to bring module into compliance
 set(PERL_INCLUDE_DIR  ${PERL_INCLUDE_PATH})
 set(PERL_INCLUDE_DIRS ${PERL_INCLUDE_PATH})
 set(PERL_LIBRARIES    ${PERL_LIBRARY})
+# For backward compatibility with CMake before 2.8.7
+set(PERL_VERSION ${PERL_VERSION_STRING})
 
 mark_as_advanced(
   PERL_INCLUDE_PATH
-  PERL_EXECUTABLE
   PERL_LIBRARY
 )

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

Summary of changes:


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list