FindPerlLibs.cmake 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. # - Find Perl libraries
  2. # This module finds if PERL is installed and determines where the include files
  3. # and libraries are. It also determines what the name of the library is. This
  4. # code sets the following variables:
  5. #
  6. # PERL_INCLUDE_PATH = path to where perl.h is found
  7. # PERL_EXECUTABLE = full path to the perl binary
  8. #
  9. SET(PERL_POSSIBLE_INCLUDE_PATHS
  10. /usr/lib/perl/5.8.3/CORE
  11. /usr/lib/perl/5.8.2/CORE
  12. /usr/lib/perl/5.8.1/CORE
  13. /usr/lib/perl/5.8.0/CORE
  14. /usr/lib/perl/5.8/CORE
  15. )
  16. SET(PERL_POSSIBLE_LIB_PATHS
  17. /usr/lib
  18. )
  19. FIND_PATH(PERL_INCLUDE_PATH perl.h
  20. ${PERL_POSSIBLE_INCLUDE_PATHS})
  21. FIND_PROGRAM(PERL_EXECUTABLE
  22. NAMES perl
  23. PATHS
  24. /usr/bin
  25. /usr/local/bin
  26. )
  27. IF(PERL_EXECUTABLE)
  28. EXEC_PROGRAM(${PERL_EXECUTABLE}
  29. ARGS -e "'use Config; print $Config{libperl}, \"\\n\"'"
  30. OUTPUT_VARIABLE PERL_LIBRARY_OUTPUT_VARIABLE
  31. RETURN_VALUE PERL_LIBRARY_RETURN_VALUE
  32. )
  33. IF(NOT PERL_LIBRARY_RETURN_VALUE)
  34. FOREACH(path ${PERL_POSSIBLE_LIB_PATHS})
  35. SET(PERL_POSSIBLE_LIBRARY_NAME ${PERL_POSSIBLE_LIBRARY_NAME} "${path}/${PERL_LIBRARY_OUTPUT_VARIABLE}")
  36. ENDFOREACH(path ${PERL_POSSIBLE_LIB_PATHS})
  37. ENDIF(NOT PERL_LIBRARY_RETURN_VALUE)
  38. EXEC_PROGRAM(${PERL_EXECUTABLE}
  39. ARGS -e "'use Config; print $Config{cppflags}, \"\\n\"'"
  40. OUTPUT_VARIABLE PERL_CPPFLAGS_OUTPUT_VARIABLE
  41. RETURN_VALUE PERL_CPPFLAGS_RETURN_VALUE
  42. )
  43. IF(NOT PERL_CPPFLAGS_RETURN_VALUE)
  44. SET(PERL_EXTRA_C_FLAGS ${PERL_CPPFLAGS_OUTPUT_VARIABLE})
  45. SEPARATE_ARGUMENTS(PERL_EXTRA_C_FLAGS)
  46. ENDIF(NOT PERL_CPPFLAGS_RETURN_VALUE)
  47. ENDIF(PERL_EXECUTABLE)
  48. FIND_LIBRARY(PERL_LIBRARY
  49. NAMES ${PERL_POSSIBLE_LIBRARY_NAME} perl5.8.0
  50. PATHS ${PERL_POSSIBLE_LIB_PATHS}
  51. )
  52. MARK_AS_ADVANCED(
  53. PERL_INCLUDE_PATH
  54. PERL_EXECUTABLE
  55. PERL_LIBRARY
  56. )