FindLATEX.cmake 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. # - Find Latex
  2. # This module finds if Latex is installed and determines where the
  3. # executables are. This code sets the following variables:
  4. #
  5. # LATEX_COMPILER: path to the LaTeX compiler
  6. # PDFLATEX_COMPILER: path to the PdfLaTeX compiler
  7. # BIBTEX_COMPILER: path to the BibTeX compiler
  8. # MAKEINDEX_COMPILER: path to the MakeIndex compiler
  9. # DVIPS_CONVERTER: path to the DVIPS converter
  10. # PS2PDF_CONVERTER: path to the PS2PDF converter
  11. # LATEX2HTML_CONVERTER: path to the LaTeX2Html converter
  12. #
  13. #=============================================================================
  14. # Copyright 2002-2009 Kitware, Inc.
  15. #
  16. # Distributed under the OSI-approved BSD License (the "License");
  17. # see accompanying file Copyright.txt for details.
  18. #
  19. # This software is distributed WITHOUT ANY WARRANTY; without even the
  20. # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  21. # See the License for more information.
  22. #=============================================================================
  23. # (To distribute this file outside of CMake, substitute the full
  24. # License text for the above reference.)
  25. if (WIN32)
  26. # Try to find the MikTex binary path (look for its package manager).
  27. find_path(MIKTEX_BINARY_PATH mpm.exe
  28. "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MiK\\MiKTeX\\CurrentVersion\\MiKTeX;Install Root]/miktex/bin"
  29. DOC
  30. "Path to the MikTex binary directory."
  31. )
  32. mark_as_advanced(MIKTEX_BINARY_PATH)
  33. # Try to find the GhostScript binary path (look for gswin32).
  34. get_filename_component(GHOSTSCRIPT_BINARY_PATH_FROM_REGISTERY_8_00
  35. "[HKEY_LOCAL_MACHINE\\SOFTWARE\\AFPL Ghostscript\\8.00;GS_DLL]" PATH
  36. )
  37. get_filename_component(GHOSTSCRIPT_BINARY_PATH_FROM_REGISTERY_7_04
  38. "[HKEY_LOCAL_MACHINE\\SOFTWARE\\AFPL Ghostscript\\7.04;GS_DLL]" PATH
  39. )
  40. find_path(GHOSTSCRIPT_BINARY_PATH gswin32.exe
  41. ${GHOSTSCRIPT_BINARY_PATH_FROM_REGISTERY_8_00}
  42. ${GHOSTSCRIPT_BINARY_PATH_FROM_REGISTERY_7_04}
  43. DOC "Path to the GhostScript binary directory."
  44. )
  45. mark_as_advanced(GHOSTSCRIPT_BINARY_PATH)
  46. find_path(GHOSTSCRIPT_LIBRARY_PATH ps2pdf13.bat
  47. "${GHOSTSCRIPT_BINARY_PATH}/../lib"
  48. DOC "Path to the GhostScript library directory."
  49. )
  50. mark_as_advanced(GHOSTSCRIPT_LIBRARY_PATH)
  51. endif ()
  52. find_program(LATEX_COMPILER
  53. NAMES latex
  54. PATHS ${MIKTEX_BINARY_PATH}
  55. /usr/bin
  56. )
  57. find_program(PDFLATEX_COMPILER
  58. NAMES pdflatex
  59. PATHS ${MIKTEX_BINARY_PATH}
  60. /usr/bin
  61. )
  62. find_program(BIBTEX_COMPILER
  63. NAMES bibtex
  64. PATHS ${MIKTEX_BINARY_PATH}
  65. /usr/bin
  66. )
  67. find_program(MAKEINDEX_COMPILER
  68. NAMES makeindex
  69. PATHS ${MIKTEX_BINARY_PATH}
  70. /usr/bin
  71. )
  72. find_program(DVIPS_CONVERTER
  73. NAMES dvips
  74. PATHS ${MIKTEX_BINARY_PATH}
  75. /usr/bin
  76. )
  77. find_program(DVIPDF_CONVERTER
  78. NAMES dvipdfm dvipdft dvipdf
  79. PATHS ${MIKTEX_BINARY_PATH}
  80. /usr/bin
  81. )
  82. if (WIN32)
  83. find_program(PS2PDF_CONVERTER
  84. NAMES ps2pdf14.bat
  85. PATHS ${GHOSTSCRIPT_LIBRARY_PATH}
  86. )
  87. else ()
  88. find_program(PS2PDF_CONVERTER
  89. NAMES ps2pdf14 ps2pdf
  90. )
  91. endif ()
  92. find_program(LATEX2HTML_CONVERTER
  93. NAMES latex2html
  94. PATHS ${MIKTEX_BINARY_PATH}
  95. /usr/bin
  96. )
  97. mark_as_advanced(
  98. LATEX_COMPILER
  99. PDFLATEX_COMPILER
  100. BIBTEX_COMPILER
  101. MAKEINDEX_COMPILER
  102. DVIPS_CONVERTER
  103. DVIPDF_CONVERTER
  104. PS2PDF_CONVERTER
  105. LATEX2HTML_CONVERTER
  106. )