1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
|
# - Find Perl
# This module finds detailed info about how Perl is installed and determines
# where the include files and libraries are. This code sets the following
# variables:
#
# PERL_INCLUDE_PATH = path to where perl.h can be found
if(PERL_INCLUDE_PATH)
# Already in cache, be silent
SET(PERL_HEADERS_FOUND TRUE)
endif (PERL_INCLUDE_PATH)
IF(PERL_EXECUTABLE)
EXECUTE_PROCESS(COMMAND ${PERL_EXECUTABLE} -MConfig -e "print \$Config{archlib}"
OUTPUT_VARIABLE PERL_ARCH_LIB_DIR)
EXECUTE_PROCESS(COMMAND ${PERL_EXECUTABLE} -MConfig -e "print \$Config{sitearch}"
OUTPUT_VARIABLE PERL_SITE_ARCH_DIR)
EXECUTE_PROCESS(COMMAND ${PERL_EXECUTABLE} -MConfig -e "print \$Config{vendorarch}"
OUTPUT_VARIABLE PERL_VENDOR_ARCH_DIR)
EXECUTE_PROCESS(COMMAND ${PERL_EXECUTABLE} -MConfig -e "print \$Config{sitelib}"
OUTPUT_VARIABLE PERL_SITE_LIB_DIR)
EXECUTE_PROCESS(COMMAND ${PERL_EXECUTABLE} -MConfig -e "print \$Config{vendorlib}"
OUTPUT_VARIABLE PERL_VENDOR_LIB_DIR)
EXECUTE_PROCESS(COMMAND ${PERL_EXECUTABLE} -MConfig -e "print \$Config{version}"
OUTPUT_VARIABLE PERL_VERSION)
EXECUTE_PROCESS(COMMAND ${PERL_EXECUTABLE} -MConfig -e "print \$Config{ccflags}"
OUTPUT_VARIABLE PERL_CXX_FLAGS)
EXECUTE_PROCESS(COMMAND ${PERL_EXECUTABLE} -MConfig -e "print \$Config{ccdlflags}"
OUTPUT_VARIABLE PERL_CCDL_FLAGS)
EXECUTE_PROCESS(COMMAND ${PERL_EXECUTABLE} -MConfig -MFile::Spec -e "print '-L' . File::Spec->catdir(\$Config{archlibexp}, 'CORE')"
OUTPUT_VARIABLE PERL_EXTRA_LIB_PATHS)
EXECUTE_PROCESS(COMMAND ${PERL_EXECUTABLE} -MConfig -e "print \$Config{perllibs}"
OUTPUT_VARIABLE PERL_LIBS)
FIND_PATH(PERL_INCLUDE_PATH
NAMES perl.h
PATHS ${PERL_ARCH_LIB_DIR}/CORE
)
if(PERL_INCLUDE_PATH)
SET(PERL_HEADERS_FOUND TRUE)
endif (PERL_INCLUDE_PATH)
MARK_AS_ADVANCED(
PERL_INCLUDE_PATH
)
ENDIF(PERL_EXECUTABLE)
IF(PERL_HEADERS_FOUND)
IF(NOT PERL_FIND_QUIETLY)
MESSAGE(STATUS "Perl headers found: ${PERL_INCLUDE_PATH}")
ENDIF(NOT PERL_FIND_QUIETLY)
ELSE(PERL_HEADERS_FOUND)
IF(PERL_FIND_HEADERS_REQUIRED)
MESSAGE(FATAL_ERROR "Could not find Perl headers")
ENDIF(PERL_FIND_HEADERS_REQUIRED)
ENDIF(PERL_HEADERS_FOUND)
IF ( PERL_LIBRARY MATCHES .*-NOTFOUND )
EXECUTE_PROCESS ( COMMAND ${PERL_EXECUTABLE}
-MConfig -e "print \$Config{libperl}"
OUTPUT_VARIABLE PERL_OUTPUT
RESULT_VARIABLE PERL_RETURN_VALUE )
IF ( NOT PERL_RETURN_VALUE )
FIND_LIBRARY ( PERL_LIBRARY NAMES ${PERL_OUTPUT}
PATHS ${PERL_INCLUDE_PATH} )
ENDIF ( NOT PERL_RETURN_VALUE )
ENDIF ( PERL_LIBRARY MATCHES .*-NOTFOUND )
|