OpenCVFindLATEX.cmake 2.82 KB
Newer Older
1 2 3
# - Find Latex
# This module finds if Latex is installed and determines where the
# executables are. This code sets the following variables:
4
#
5 6 7 8 9 10
#  LATEX_COMPILER:       path to the LaTeX compiler
#  PDFLATEX_COMPILER:    path to the PdfLaTeX compiler
#  BIBTEX_COMPILER:      path to the BibTeX compiler
#  MAKEINDEX_COMPILER:   path to the MakeIndex compiler
#  DVIPS_CONVERTER:      path to the DVIPS converter
#  PS2PDF_CONVERTER:     path to the PS2PDF converter
11
#  LATEX2HTML_CONVERTER: path to the LaTeX2Html converter
12 13 14 15 16 17 18 19
#

IF (WIN32)

  # Try to find the MikTex binary path (look for its package manager).

  FIND_PATH(MIKTEX_BINARY_PATH mpm.exe
    "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MiK\\MiKTeX\\CurrentVersion\\MiKTeX;Install Root]/miktex/bin"
20
    DOC
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
    "Path to the MikTex binary directory."
  )
  MARK_AS_ADVANCED(MIKTEX_BINARY_PATH)

  # Try to find the GhostScript binary path (look for gswin32).

  GET_FILENAME_COMPONENT(GHOSTSCRIPT_BINARY_PATH_FROM_REGISTERY_8_00
     "[HKEY_LOCAL_MACHINE\\SOFTWARE\\AFPL Ghostscript\\8.00;GS_DLL]" PATH
  )

  GET_FILENAME_COMPONENT(GHOSTSCRIPT_BINARY_PATH_FROM_REGISTERY_7_04
     "[HKEY_LOCAL_MACHINE\\SOFTWARE\\AFPL Ghostscript\\7.04;GS_DLL]" PATH
  )

  FIND_PATH(GHOSTSCRIPT_BINARY_PATH gswin32.exe
    ${GHOSTSCRIPT_BINARY_PATH_FROM_REGISTERY_8_00}
    ${GHOSTSCRIPT_BINARY_PATH_FROM_REGISTERY_7_04}
    DOC "Path to the GhostScript binary directory."
  )
  MARK_AS_ADVANCED(GHOSTSCRIPT_BINARY_PATH)

  FIND_PATH(GHOSTSCRIPT_LIBRARY_PATH ps2pdf13.bat
    "${GHOSTSCRIPT_BINARY_PATH}/../lib"
    DOC "Path to the GhostScript library directory."
  )
  MARK_AS_ADVANCED(GHOSTSCRIPT_LIBRARY_PATH)

ENDIF (WIN32)

50
FIND_HOST_PROGRAM(LATEX_COMPILER
51 52 53 54 55
  NAMES latex
  PATHS ${MIKTEX_BINARY_PATH}
        /usr/bin /usr/texbin
)

56
FIND_HOST_PROGRAM(PDFLATEX_COMPILER
57 58 59 60 61
  NAMES pdflatex
  PATHS ${MIKTEX_BINARY_PATH}
        /usr/bin /usr/texbin
)

62
FIND_HOST_PROGRAM(BIBTEX_COMPILER
63 64 65 66 67
  NAMES bibtex
  PATHS ${MIKTEX_BINARY_PATH}
        /usr/bin /usr/texbin
)

68
FIND_HOST_PROGRAM(MAKEINDEX_COMPILER
69 70 71 72 73
  NAMES makeindex
  PATHS ${MIKTEX_BINARY_PATH}
        /usr/bin /usr/texbin
)

74
FIND_HOST_PROGRAM(DVIPS_CONVERTER
75 76 77 78 79
  NAMES dvips
  PATHS ${MIKTEX_BINARY_PATH}
        /usr/bin /usr/texbin
)

80
FIND_HOST_PROGRAM(DVIPDF_CONVERTER
81 82 83 84 85 86
  NAMES dvipdfm dvipdft dvipdf
  PATHS ${MIKTEX_BINARY_PATH}
        /usr/bin /usr/texbin
)

IF (WIN32)
87
  FIND_HOST_PROGRAM(PS2PDF_CONVERTER
88 89 90 91
    NAMES ps2pdf14.bat
    PATHS ${GHOSTSCRIPT_LIBRARY_PATH}
  )
ELSE (WIN32)
92
  FIND_HOST_PROGRAM(PS2PDF_CONVERTER
93 94 95 96 97
    NAMES ps2pdf14 ps2pdf
    PATHS /usr/bin /usr/texbin
  )
ENDIF (WIN32)

98
FIND_HOST_PROGRAM(LATEX2HTML_CONVERTER
99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
  NAMES latex2html
  PATHS ${MIKTEX_BINARY_PATH}
        /usr/bin /usr/texbin
)


MARK_AS_ADVANCED(
  LATEX_COMPILER
  PDFLATEX_COMPILER
  BIBTEX_COMPILER
  MAKEINDEX_COMPILER
  DVIPS_CONVERTER
  DVIPDF_CONVERTER
  PS2PDF_CONVERTER
  LATEX2HTML_CONVERTER
)