[Cmake-commits] [cmake-commits] lowman committed FindPerlLibs.cmake 1.9 1.10
cmake-commits at cmake.org
cmake-commits at cmake.org
Fri Jul 17 23:31:19 EDT 2009
Update of /cvsroot/CMake/CMake/Modules
In directory public:/mounts/ram/cvs-serv27555
Modified Files:
FindPerlLibs.cmake
Log Message:
ENH: Improve detection of perl.h/libperl, issue #7898
Index: FindPerlLibs.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/FindPerlLibs.cmake,v
retrieving revision 1.9
retrieving revision 1.10
diff -C 2 -d -r1.9 -r1.10
*** FindPerlLibs.cmake 1 Oct 2008 20:10:45 -0000 1.9
--- FindPerlLibs.cmake 18 Jul 2009 03:31:17 -0000 1.10
***************
*** 4,56 ****
# code sets the following variables:
#
# PERL_INCLUDE_PATH = path to where perl.h is found
# PERL_EXECUTABLE = full path to the perl binary
#
! SET(PERL_POSSIBLE_INCLUDE_PATHS
! /usr/lib/perl/5.8.3/CORE
! /usr/lib/perl/5.8.2/CORE
! /usr/lib/perl/5.8.1/CORE
! /usr/lib/perl/5.8.0/CORE
! /usr/lib/perl/5.8/CORE
)
! SET(PERL_POSSIBLE_LIB_PATHS
! /usr/lib
)
! FIND_PATH(PERL_INCLUDE_PATH perl.h
! ${PERL_POSSIBLE_INCLUDE_PATHS})
- # find the perl executable
- INCLUDE(FindPerl)
! IF(PERL_EXECUTABLE)
! EXEC_PROGRAM(${PERL_EXECUTABLE}
! ARGS -e "'use Config; print \$Config{libperl}, \"\\n\"'"
! OUTPUT_VARIABLE PERL_LIBRARY_OUTPUT_VARIABLE
! RETURN_VALUE PERL_LIBRARY_RETURN_VALUE
)
! IF(NOT PERL_LIBRARY_RETURN_VALUE)
! FOREACH(path ${PERL_POSSIBLE_LIB_PATHS})
! SET(PERL_POSSIBLE_LIBRARY_NAME ${PERL_POSSIBLE_LIBRARY_NAME} "${path}/${PERL_LIBRARY_OUTPUT_VARIABLE}")
! ENDFOREACH(path ${PERL_POSSIBLE_LIB_PATHS})
! ENDIF(NOT PERL_LIBRARY_RETURN_VALUE)
! EXEC_PROGRAM(${PERL_EXECUTABLE}
! ARGS -e "'use Config; print \$Config{cppflags}, \"\\n\"'"
! OUTPUT_VARIABLE PERL_CPPFLAGS_OUTPUT_VARIABLE
! RETURN_VALUE PERL_CPPFLAGS_RETURN_VALUE
)
! IF(NOT PERL_CPPFLAGS_RETURN_VALUE)
! SET(PERL_EXTRA_C_FLAGS ${PERL_CPPFLAGS_OUTPUT_VARIABLE})
! ENDIF(NOT PERL_CPPFLAGS_RETURN_VALUE)
! ENDIF(PERL_EXECUTABLE)
! FIND_LIBRARY(PERL_LIBRARY
! NAMES ${PERL_POSSIBLE_LIBRARY_NAME} perl5.8.0
! PATHS ${PERL_POSSIBLE_LIB_PATHS}
)
# handle the QUIETLY and REQUIRED arguments and set PERLLIBS_FOUND to TRUE if
# all listed variables are TRUE
--- 4,215 ----
# code sets the following variables:
#
+ # PERLLIBS_FOUND = True if perl.h & libperl were found
# PERL_INCLUDE_PATH = path to where perl.h is found
+ # PERL_LIBRARY = path to libperl
# PERL_EXECUTABLE = full path to the perl binary
#
+ # The following variables are also available if needed
+ # (introduced after CMake 2.6.4)
+ #
+ # PERL_SITESEARCH = path to the sitesearch install dir
+ # PERL_SITELIB = path to the sitelib install directory
+ # PERL_VENDORARCH = path to the vendor arch install directory
+ # PERL_VENDORLIB = path to the vendor lib install directory
+ # PERL_ARCHLIB = path to the arch lib install directory
+ # PERL_PRIVLIB = path to the priv lib install directory
+ # PERL_EXTRA_C_FLAGS = Compilation flags used to build perl
+ #
! # find the perl executable
! include(FindPerl)
!
! if (PERL_EXECUTABLE)
! ### PERL_PREFIX
! execute_process(
! COMMAND
! ${PERL_EXECUTABLE} -V:prefix
! OUTPUT_VARIABLE
! PERL_PREFIX_OUTPUT_VARIABLE
! RESULT_VARIABLE
! PERL_PREFIX_RESULT_VARIABLE
)
! if (NOT PERL_PREFIX_RESULT_VARIABLE)
! 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
! ${PERL_EXECUTABLE} -V:archname
! OUTPUT_VARIABLE
! PERL_ARCHNAME_OUTPUT_VARIABLE
! RESULT_VARIABLE
! PERL_ARCHNAME_RESULT_VARIABLE
! )
! if (NOT PERL_ARCHNAME_RESULT_VARIABLE)
! string(REGEX REPLACE "archname='([^']+)'.*" "\\1" PERL_ARCHNAME ${PERL_ARCHNAME_OUTPUT_VARIABLE})
! endif (NOT PERL_ARCHNAME_RESULT_VARIABLE)
! ### PERL_EXTRA_C_FLAGS
! execute_process(
! COMMAND
! ${PERL_EXECUTABLE} -V:cppflags
! OUTPUT_VARIABLE
! PERL_CPPFLAGS_OUTPUT_VARIABLE
! RESULT_VARIABLE
! PERL_CPPFLAGS_RESULT_VARIABLE
)
! if (NOT PERL_CPPFLAGS_RESULT_VARIABLE)
! string(REGEX REPLACE "cppflags='([^']+)'.*" "\\1" PERL_EXTRA_C_FLAGS ${PERL_CPPFLAGS_OUTPUT_VARIABLE})
! endif (NOT PERL_CPPFLAGS_RESULT_VARIABLE)
!
! ### PERL_SITESEARCH
! execute_process(
! COMMAND
! ${PERL_EXECUTABLE} -V:installsitesearch
! OUTPUT_VARIABLE
! PERL_SITESEARCH_OUTPUT_VARIABLE
! RESULT_VARIABLE
! PERL_SITESEARCH_RESULT_VARIABLE
! )
! if (NOT PERL_SITESEARCH_RESULT_VARIABLE)
! string(REGEX REPLACE "install[a-z]+='([^']+)'.*" "\\1" PERL_SITESEARCH ${PERL_SITESEARCH_OUTPUT_VARIABLE})
! endif (NOT PERL_SITESEARCH_RESULT_VARIABLE)
!
! ### PERL_SITELIB
! execute_process(
! COMMAND
! ${PERL_EXECUTABLE} -V:installsitelib
! OUTPUT_VARIABLE
! PERL_SITELIB_OUTPUT_VARIABLE
! RESULT_VARIABLE
! PERL_SITELIB_RESULT_VARIABLE
! )
! if (NOT PERL_SITELIB_RESULT_VARIABLE)
! string(REGEX REPLACE "install[a-z]+='([^']+)'.*" "\\1" PERL_SITELIB ${PERL_SITELIB_OUTPUT_VARIABLE})
! endif (NOT PERL_SITELIB_RESULT_VARIABLE)
!
! ### PERL_VENDORARCH
! execute_process(
! COMMAND
! ${PERL_EXECUTABLE} -V:installvendorarch
! OUTPUT_VARIABLE
! PERL_VENDORARCH_OUTPUT_VARIABLE
! RESULT_VARIABLE
! PERL_VENDORARCH_RESULT_VARIABLE
)
! if (NOT PERL_VENDORARCH_RESULT_VARIABLE)
! string(REGEX REPLACE "install[a-z]+='([^']+)'.*" "\\1" PERL_VENDORARCH ${PERL_VENDORARCH_OUTPUT_VARIABLE})
! endif (NOT PERL_VENDORARCH_RESULT_VARIABLE)
! ### PERL_VENDORLIB
! execute_process(
! COMMAND
! ${PERL_EXECUTABLE} -V:installvendorlib
! OUTPUT_VARIABLE
! PERL_VENDORLIB_OUTPUT_VARIABLE
! RESULT_VARIABLE
! PERL_VENDORLIB_RESULT_VARIABLE
! )
! if (NOT PERL_VENDORLIB_RESULT_VARIABLE)
! string(REGEX REPLACE "install[a-z]+='([^']+)'.*" "\\1" PERL_VENDORLIB ${PERL_VENDORLIB_OUTPUT_VARIABLE})
! endif (NOT PERL_VENDORLIB_RESULT_VARIABLE)
!
! ### PERL_ARCHLIB
! execute_process(
! COMMAND
! ${PERL_EXECUTABLE} -V:installarchlib
! OUTPUT_VARIABLE
! PERL_ARCHLIB_OUTPUT_VARIABLE
! RESULT_VARIABLE
! PERL_ARCHLIB_RESULT_VARIABLE
! )
! if (NOT PERL_ARCHLIB_RESULT_VARIABLE)
! string(REGEX REPLACE "install[a-z]+='([^']+)'.*" "\\1" PERL_ARCHLIB ${PERL_ARCHLIB_OUTPUT_VARIABLE})
! endif (NOT PERL_ARCHLIB_RESULT_VARIABLE)
!
! ### PERL_PRIVLIB
! execute_process(
! COMMAND
! ${PERL_EXECUTABLE} -V:installprivlib
! OUTPUT_VARIABLE
! PERL_PRIVLIB_OUTPUT_VARIABLE
! RESULT_VARIABLE
! PERL_PRIVLIB_RESULT_VARIABLE
! )
! if (NOT PERL_PRIVLIB_RESULT_VARIABLE)
! string(REGEX REPLACE "install[a-z]+='([^']+)'.*" "\\1" PERL_PRIVLIB ${PERL_PRIVLIB_OUTPUT_VARIABLE})
! endif (NOT PERL_PRIVLIB_RESULT_VARIABLE)
!
!
! ### PERL_POSSIBLE_INCLUDE_PATHS
! set(PERL_POSSIBLE_INCLUDE_PATHS
! /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
! )
!
! ### 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
! )
!
! ### PERL_POSSIBLE_LIBRARY_NAME
! execute_process(
! COMMAND
! ${PERL_EXECUTABLE} -V:libperl
! OUTPUT_VARIABLE
! PERL_LIBRARY_OUTPUT_VARIABLE
! RESULT_VARIABLE
! PERL_LIBRARY_RESULT_VARIABLE
! )
! if (NOT PERL_LIBRARY_RESULT_VARIABLE)
! foreach(_perl_lib_path ${PERL_POSSIBLE_LIB_PATHS})
! string(REGEX REPLACE "libperl='([^']+)'" "\\1" PERL_LIBRARY_OUTPUT_VARIABLE ${PERL_LIBRARY_OUTPUT_VARIABLE})
! set(PERL_POSSIBLE_LIBRARY_NAME ${PERL_POSSIBLE_LIBRARY_NAME} "${_perl_lib_path}/${PERL_LIBRARY_OUTPUT_VARIABLE}")
! endforeach(_perl_lib_path ${PERL_POSSIBLE_LIB_PATHS})
! endif (NOT PERL_LIBRARY_RESULT_VARIABLE)
!
! ### PERL_INCLUDE_PATH
! find_path(PERL_INCLUDE_PATH
! NAMES
! perl.h
! PATHS
! ${PERL_POSSIBLE_INCLUDE_PATHS}
! )
!
! ### PERL_LIBRARY
! find_library(PERL_LIBRARY
! NAMES
! ${PERL_POSSIBLE_LIBRARY_NAME}
! perl${PERL_VERSION}
! perl
! PATHS
! ${PERL_POSSIBLE_LIB_PATHS}
)
+ endif (PERL_EXECUTABLE)
+
# handle the QUIETLY and REQUIRED arguments and set PERLLIBS_FOUND to TRUE if
# all listed variables are TRUE
***************
*** 58,65 ****
FIND_PACKAGE_HANDLE_STANDARD_ARGS(PerlLibs DEFAULT_MSG PERL_LIBRARY PERL_INCLUDE_PATH)
! MARK_AS_ADVANCED(
PERL_INCLUDE_PATH
PERL_EXECUTABLE
PERL_LIBRARY
! )
--- 217,228 ----
FIND_PACKAGE_HANDLE_STANDARD_ARGS(PerlLibs DEFAULT_MSG PERL_LIBRARY PERL_INCLUDE_PATH)
+ # 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})
! mark_as_advanced(
PERL_INCLUDE_PATH
PERL_EXECUTABLE
PERL_LIBRARY
! )
More information about the Cmake-commits
mailing list