[Cmake-commits] CMake branch, next, updated. v2.8.7-2359-g3042233

Rolf Eike Beer eike at sf-mail.de
Mon Jan 30 13:21:56 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  304223392bf862b6d66737da584ebb81bb3ea9ae (commit)
       via  0fe36ee3d16cfa66225cd19916481fc410a1ffc9 (commit)
      from  155a1147cb320d318b2feb5b81b56d52d5234b08 (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=304223392bf862b6d66737da584ebb81bb3ea9ae
commit 304223392bf862b6d66737da584ebb81bb3ea9ae
Merge: 155a114 0fe36ee
Author:     Rolf Eike Beer <eike at sf-mail.de>
AuthorDate: Mon Jan 30 13:21:54 2012 -0500
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Mon Jan 30 13:21:54 2012 -0500

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


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0fe36ee3d16cfa66225cd19916481fc410a1ffc9
commit 0fe36ee3d16cfa66225cd19916481fc410a1ffc9
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: Mon Jan 30 19:20:44 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..d5af175 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,42 @@ 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})
+    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..e1db280 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,7 +248,7 @@ 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})
@@ -270,6 +257,5 @@ set(PERL_LIBRARIES    ${PERL_LIBRARY})
 
 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