Merge topic 'FindLATEX-components'
89e08de8
FindLATEX: Add components for XeLaTeX and LuaLaTeXc32f6919
FindLATEX: Add components Biber and xindy222ee2c0
FindLATEX: Add components PDFtoPS and HTLATEX07a3f9ad
FindLATEX: Add components handling
This commit is contained in:
commit
7f5b4940e1
|
@ -0,0 +1,4 @@
|
||||||
|
FindLATEX-components
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
* The :module:`FindLATEX` module learned to support components.
|
|
@ -6,20 +6,52 @@
|
||||||
#
|
#
|
||||||
# This module finds an installed Latex and determines the location
|
# This module finds an installed Latex and determines the location
|
||||||
# of the compiler. Additionally the module looks for Latex-related
|
# of the compiler. Additionally the module looks for Latex-related
|
||||||
# software like BibTeX. This code sets the following variables:
|
# software like BibTeX.
|
||||||
#
|
#
|
||||||
# ::
|
# This module sets the following result variables::
|
||||||
#
|
#
|
||||||
|
# LATEX_FOUND: whether found Latex and requested components
|
||||||
|
# LATEX_<component>_FOUND: whether found <component>
|
||||||
# LATEX_COMPILER: path to the LaTeX compiler
|
# LATEX_COMPILER: path to the LaTeX compiler
|
||||||
# PDFLATEX_COMPILER: path to the PdfLaTeX compiler
|
# PDFLATEX_COMPILER: path to the PdfLaTeX compiler
|
||||||
|
# XELATEX_COMPILER: path to the XeLaTeX compiler
|
||||||
|
# LUALATEX_COMPILER: path to the LuaLaTeX compiler
|
||||||
# BIBTEX_COMPILER: path to the BibTeX compiler
|
# BIBTEX_COMPILER: path to the BibTeX compiler
|
||||||
|
# BIBER_COMPILER: path to the Biber compiler
|
||||||
# MAKEINDEX_COMPILER: path to the MakeIndex compiler
|
# MAKEINDEX_COMPILER: path to the MakeIndex compiler
|
||||||
|
# XINDY_COMPILER: path to the xindy compiler
|
||||||
# DVIPS_CONVERTER: path to the DVIPS converter
|
# DVIPS_CONVERTER: path to the DVIPS converter
|
||||||
|
# DVIPDF_CONVERTER: path to the DVIPDF converter
|
||||||
# PS2PDF_CONVERTER: path to the PS2PDF converter
|
# PS2PDF_CONVERTER: path to the PS2PDF converter
|
||||||
|
# PDFTOPS_CONVERTER: path to the pdftops converter
|
||||||
# LATEX2HTML_CONVERTER: path to the LaTeX2Html converter
|
# LATEX2HTML_CONVERTER: path to the LaTeX2Html converter
|
||||||
|
# HTLATEX_COMPILER: path to the htlatex compiler
|
||||||
|
#
|
||||||
|
# Possible components are::
|
||||||
|
#
|
||||||
|
# PDFLATEX
|
||||||
|
# XELATEX
|
||||||
|
# LUALATEX
|
||||||
|
# BIBTEX
|
||||||
|
# BIBER
|
||||||
|
# MAKEINDEX
|
||||||
|
# XINDY
|
||||||
|
# DVIPS
|
||||||
|
# DVIPDF
|
||||||
|
# PS2PDF
|
||||||
|
# PDFTOPS
|
||||||
|
# LATEX2HTML
|
||||||
|
# HTLATEX
|
||||||
|
#
|
||||||
|
# Example Usages::
|
||||||
|
#
|
||||||
|
# find_package(LATEX)
|
||||||
|
# find_package(LATEX COMPONENTS PDFLATEX)
|
||||||
|
# find_package(LATEX COMPONENTS BIBTEX PS2PDF)
|
||||||
|
|
||||||
#=============================================================================
|
#=============================================================================
|
||||||
# Copyright 2002-2014 Kitware, Inc.
|
# Copyright 2002-2015 Kitware, Inc.
|
||||||
|
# Copyright 2014-2015 Christoph Grüninger <foss@grueninger.de>
|
||||||
#
|
#
|
||||||
# Distributed under the OSI-approved BSD License (the "License");
|
# Distributed under the OSI-approved BSD License (the "License");
|
||||||
# see accompanying file Copyright.txt for details.
|
# see accompanying file Copyright.txt for details.
|
||||||
|
@ -32,9 +64,7 @@
|
||||||
# License text for the above reference.)
|
# License text for the above reference.)
|
||||||
|
|
||||||
if (WIN32)
|
if (WIN32)
|
||||||
|
|
||||||
# Try to find the MikTex binary path (look for its package manager).
|
# Try to find the MikTex binary path (look for its package manager).
|
||||||
|
|
||||||
find_path(MIKTEX_BINARY_PATH mpm.exe
|
find_path(MIKTEX_BINARY_PATH mpm.exe
|
||||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\MiK\\MiKTeX\\CurrentVersion\\MiKTeX;Install Root]/miktex/bin"
|
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\MiK\\MiKTeX\\CurrentVersion\\MiKTeX;Install Root]/miktex/bin"
|
||||||
DOC
|
DOC
|
||||||
|
@ -43,7 +73,6 @@ if (WIN32)
|
||||||
mark_as_advanced(MIKTEX_BINARY_PATH)
|
mark_as_advanced(MIKTEX_BINARY_PATH)
|
||||||
|
|
||||||
# Try to find the GhostScript binary path (look for gswin32).
|
# Try to find the GhostScript binary path (look for gswin32).
|
||||||
|
|
||||||
get_filename_component(GHOSTSCRIPT_BINARY_PATH_FROM_REGISTERY_8_00
|
get_filename_component(GHOSTSCRIPT_BINARY_PATH_FROM_REGISTERY_8_00
|
||||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\AFPL Ghostscript\\8.00;GS_DLL]" PATH
|
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\AFPL Ghostscript\\8.00;GS_DLL]" PATH
|
||||||
)
|
)
|
||||||
|
@ -64,45 +93,124 @@ if (WIN32)
|
||||||
DOC "Path to the GhostScript library directory."
|
DOC "Path to the GhostScript library directory."
|
||||||
)
|
)
|
||||||
mark_as_advanced(GHOSTSCRIPT_LIBRARY_PATH)
|
mark_as_advanced(GHOSTSCRIPT_LIBRARY_PATH)
|
||||||
|
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
|
# try to find Latex and the related programs
|
||||||
find_program(LATEX_COMPILER
|
find_program(LATEX_COMPILER
|
||||||
NAMES latex
|
NAMES latex
|
||||||
PATHS ${MIKTEX_BINARY_PATH}
|
PATHS ${MIKTEX_BINARY_PATH}
|
||||||
/usr/bin
|
/usr/bin
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# find pdflatex
|
||||||
find_program(PDFLATEX_COMPILER
|
find_program(PDFLATEX_COMPILER
|
||||||
NAMES pdflatex
|
NAMES pdflatex
|
||||||
PATHS ${MIKTEX_BINARY_PATH}
|
PATHS ${MIKTEX_BINARY_PATH}
|
||||||
/usr/bin
|
/usr/bin
|
||||||
)
|
)
|
||||||
|
if (PDFLATEX_COMPILER)
|
||||||
|
set(LATEX_PDFLATEX_FOUND TRUE)
|
||||||
|
else()
|
||||||
|
set(LATEX_PDFLATEX_FOUND FALSE)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# find xelatex
|
||||||
|
find_program(XELATEX_COMPILER
|
||||||
|
NAMES xelatex
|
||||||
|
PATHS ${MIKTEX_BINARY_PATH}
|
||||||
|
/usr/bin
|
||||||
|
)
|
||||||
|
if (XELATEX_COMPILER)
|
||||||
|
set(LATEX_XELATEX_FOUND TRUE)
|
||||||
|
else()
|
||||||
|
set(LATEX_XELATEX_FOUND FALSE)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# find lualatex
|
||||||
|
find_program(LUALATEX_COMPILER
|
||||||
|
NAMES lualatex
|
||||||
|
PATHS ${MIKTEX_BINARY_PATH}
|
||||||
|
/usr/bin
|
||||||
|
)
|
||||||
|
if (LUALATEX_COMPILER)
|
||||||
|
set(LATEX_LUALATEX_FOUND TRUE)
|
||||||
|
else()
|
||||||
|
set(LATEX_LUALATEX_FOUND FALSE)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# find bibtex
|
||||||
find_program(BIBTEX_COMPILER
|
find_program(BIBTEX_COMPILER
|
||||||
NAMES bibtex
|
NAMES bibtex
|
||||||
PATHS ${MIKTEX_BINARY_PATH}
|
PATHS ${MIKTEX_BINARY_PATH}
|
||||||
/usr/bin
|
/usr/bin
|
||||||
)
|
)
|
||||||
|
if (BIBTEX_COMPILER)
|
||||||
|
set(LATEX_BIBTEX_FOUND TRUE)
|
||||||
|
else()
|
||||||
|
set(LATEX_BIBTEX_FOUND FALSE)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# find biber
|
||||||
|
find_program(BIBER_COMPILER
|
||||||
|
NAMES biber
|
||||||
|
PATHS ${MIKTEX_BINARY_PATH}
|
||||||
|
/usr/bin
|
||||||
|
)
|
||||||
|
if (BIBER_COMPILER)
|
||||||
|
set(LATEX_BIBER_FOUND TRUE)
|
||||||
|
else()
|
||||||
|
set(LATEX_BIBER_FOUND FALSE)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# find makeindex
|
||||||
find_program(MAKEINDEX_COMPILER
|
find_program(MAKEINDEX_COMPILER
|
||||||
NAMES makeindex
|
NAMES makeindex
|
||||||
PATHS ${MIKTEX_BINARY_PATH}
|
PATHS ${MIKTEX_BINARY_PATH}
|
||||||
/usr/bin
|
/usr/bin
|
||||||
)
|
)
|
||||||
|
if (MAKEINDEX_COMPILER)
|
||||||
|
set(LATEX_MAKEINDEX_FOUND TRUE)
|
||||||
|
else()
|
||||||
|
set(LATEX_MAKEINDEX_FOUND FALSE)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# find xindy
|
||||||
|
find_program(XINDY_COMPILER
|
||||||
|
NAMES xindy
|
||||||
|
PATHS ${MIKTEX_BINARY_PATH}
|
||||||
|
/usr/bin
|
||||||
|
)
|
||||||
|
if (XINDY_COMPILER)
|
||||||
|
set(LATEX_XINDY_FOUND TRUE)
|
||||||
|
else()
|
||||||
|
set(LATEX_XINDY_FOUND FALSE)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# find dvips
|
||||||
find_program(DVIPS_CONVERTER
|
find_program(DVIPS_CONVERTER
|
||||||
NAMES dvips
|
NAMES dvips
|
||||||
PATHS ${MIKTEX_BINARY_PATH}
|
PATHS ${MIKTEX_BINARY_PATH}
|
||||||
/usr/bin
|
/usr/bin
|
||||||
)
|
)
|
||||||
|
if (DVIPS_CONVERTER)
|
||||||
|
set(LATEX_DVIPS_FOUND TRUE)
|
||||||
|
else()
|
||||||
|
set(LATEX_DVIPS_FOUND FALSE)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# find dvipdf
|
||||||
find_program(DVIPDF_CONVERTER
|
find_program(DVIPDF_CONVERTER
|
||||||
NAMES dvipdfm dvipdft dvipdf
|
NAMES dvipdfm dvipdft dvipdf
|
||||||
PATHS ${MIKTEX_BINARY_PATH}
|
PATHS ${MIKTEX_BINARY_PATH}
|
||||||
/usr/bin
|
/usr/bin
|
||||||
)
|
)
|
||||||
|
if (DVIPDF_CONVERTER)
|
||||||
|
set(LATEX_DVIPDF_FOUND TRUE)
|
||||||
|
else()
|
||||||
|
set(LATEX_DVIPDF_FOUND FALSE)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# find ps2pdf
|
||||||
if (WIN32)
|
if (WIN32)
|
||||||
find_program(PS2PDF_CONVERTER
|
find_program(PS2PDF_CONVERTER
|
||||||
NAMES ps2pdf14.bat ps2pdf14 ps2pdf
|
NAMES ps2pdf14.bat ps2pdf14 ps2pdf
|
||||||
|
@ -114,26 +222,69 @@ else ()
|
||||||
NAMES ps2pdf14 ps2pdf
|
NAMES ps2pdf14 ps2pdf
|
||||||
)
|
)
|
||||||
endif ()
|
endif ()
|
||||||
|
if (PS2PDF_CONVERTER)
|
||||||
|
set(LATEX_PS2PDF_FOUND TRUE)
|
||||||
|
else()
|
||||||
|
set(LATEX_PS2PDF_FOUND FALSE)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# find pdftops
|
||||||
|
find_program(PDFTOPS_CONVERTER
|
||||||
|
NAMES pdftops
|
||||||
|
PATHS ${MIKTEX_BINARY_PATH}
|
||||||
|
/usr/bin
|
||||||
|
)
|
||||||
|
if (PDFTOPS_CONVERTER)
|
||||||
|
set(LATEX_PDFTOPS_FOUND TRUE)
|
||||||
|
else()
|
||||||
|
set(LATEX_PDFTOPS_FOUND FALSE)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# find latex2html
|
||||||
find_program(LATEX2HTML_CONVERTER
|
find_program(LATEX2HTML_CONVERTER
|
||||||
NAMES latex2html
|
NAMES latex2html
|
||||||
PATHS ${MIKTEX_BINARY_PATH}
|
PATHS ${MIKTEX_BINARY_PATH}
|
||||||
/usr/bin
|
/usr/bin
|
||||||
)
|
)
|
||||||
|
if (LATEX2HTML_CONVERTER)
|
||||||
|
set(LATEX_LATEX2HTML_FOUND TRUE)
|
||||||
|
else()
|
||||||
|
set(LATEX_LATEX2HTML_FOUND FALSE)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# find htlatex
|
||||||
|
find_program(HTLATEX_COMPILER
|
||||||
|
NAMES htlatex
|
||||||
|
PATHS ${MIKTEX_BINARY_PATH}
|
||||||
|
/usr/bin
|
||||||
|
)
|
||||||
|
if (HTLATEX_COMPILER)
|
||||||
|
set(LATEX_HTLATEX_FOUND TRUE)
|
||||||
|
else()
|
||||||
|
set(LATEX_HTLATEX_FOUND FALSE)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
mark_as_advanced(
|
mark_as_advanced(
|
||||||
LATEX_COMPILER
|
LATEX_COMPILER
|
||||||
PDFLATEX_COMPILER
|
PDFLATEX_COMPILER
|
||||||
|
XELATEX_COMPILER
|
||||||
|
LUALATEX_COMPILER
|
||||||
BIBTEX_COMPILER
|
BIBTEX_COMPILER
|
||||||
|
BIBER_COMPILER
|
||||||
MAKEINDEX_COMPILER
|
MAKEINDEX_COMPILER
|
||||||
|
XINDY_COMPILER
|
||||||
DVIPS_CONVERTER
|
DVIPS_CONVERTER
|
||||||
DVIPDF_CONVERTER
|
DVIPDF_CONVERTER
|
||||||
PS2PDF_CONVERTER
|
PS2PDF_CONVERTER
|
||||||
|
PDFTOPS_CONVERTER
|
||||||
LATEX2HTML_CONVERTER
|
LATEX2HTML_CONVERTER
|
||||||
|
HTLATEX_COMPILER
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# handle variables for found Latex and its components
|
||||||
include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
|
include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
|
||||||
find_package_handle_standard_args(Latex
|
find_package_handle_standard_args(LATEX
|
||||||
REQUIRED_VARS LATEX_COMPILER
|
REQUIRED_VARS LATEX_COMPILER
|
||||||
|
HANDLE_COMPONENTS
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in New Issue