# - 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{libs}"
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 )