https://github.com/Kitware/CMake
Revision 8c42cfb2e87c97cbf52eef67f45af0206f0a923e authored by Eicke Herbertz on 29 October 2020, 18:10:08 UTC, committed by Eicke Herbertz on 29 October 2020, 18:52:54 UTC
When building and testing CMake in a container with qemu user mode emulation, the expected termination with std::abort() in testUVProcessChainHelper leads qemu to emit an additional message about an uncaught signal. There appears to be no way to make qemu shut up, so any qemu message will be removed from the output during validation.
1 parent 32d369a
Tip revision: 8c42cfb2e87c97cbf52eef67f45af0206f0a923e authored by Eicke Herbertz on 29 October 2020, 18:10:08 UTC
test/CMakeLib: make testUVProcessChain work with qemu
test/CMakeLib: make testUVProcessChain work with qemu
Tip revision: 8c42cfb
FindLATEX.cmake
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
# file Copyright.txt or https://cmake.org/licensing for details.
#[=======================================================================[.rst:
FindLATEX
---------
Find LaTeX
This module finds an installed LaTeX and determines the location
of the compiler. Additionally the module looks for Latex-related
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
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
BIBER_COMPILER: path to the Biber compiler
MAKEINDEX_COMPILER: path to the MakeIndex compiler
XINDY_COMPILER: path to the xindy compiler
DVIPS_CONVERTER: path to the DVIPS converter
DVIPDF_CONVERTER: path to the DVIPDF converter
PS2PDF_CONVERTER: path to the PS2PDF converter
PDFTOPS_CONVERTER: path to the pdftops 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)
#]=======================================================================]
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"
DOC
"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 ()
# try to find Latex and the related programs
find_program(LATEX_COMPILER
NAMES latex
PATHS ${MIKTEX_BINARY_PATH}
/usr/bin
)
# find pdflatex
find_program(PDFLATEX_COMPILER
NAMES pdflatex
PATHS ${MIKTEX_BINARY_PATH}
/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
NAMES bibtex
PATHS ${MIKTEX_BINARY_PATH}
/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
NAMES makeindex
PATHS ${MIKTEX_BINARY_PATH}
/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
NAMES dvips
PATHS ${MIKTEX_BINARY_PATH}
/usr/bin
)
if (DVIPS_CONVERTER)
set(LATEX_DVIPS_FOUND TRUE)
else()
set(LATEX_DVIPS_FOUND FALSE)
endif()
# find dvipdf
find_program(DVIPDF_CONVERTER
NAMES dvipdfm dvipdft dvipdf
PATHS ${MIKTEX_BINARY_PATH}
/usr/bin
)
if (DVIPDF_CONVERTER)
set(LATEX_DVIPDF_FOUND TRUE)
else()
set(LATEX_DVIPDF_FOUND FALSE)
endif()
# find ps2pdf
if (WIN32)
find_program(PS2PDF_CONVERTER
NAMES ps2pdf14.bat ps2pdf14 ps2pdf
PATHS ${GHOSTSCRIPT_LIBRARY_PATH}
${MIKTEX_BINARY_PATH}
)
else ()
find_program(PS2PDF_CONVERTER
NAMES ps2pdf14 ps2pdf
)
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
NAMES latex2html
PATHS ${MIKTEX_BINARY_PATH}
/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(
LATEX_COMPILER
PDFLATEX_COMPILER
XELATEX_COMPILER
LUALATEX_COMPILER
BIBTEX_COMPILER
BIBER_COMPILER
MAKEINDEX_COMPILER
XINDY_COMPILER
DVIPS_CONVERTER
DVIPDF_CONVERTER
PS2PDF_CONVERTER
PDFTOPS_CONVERTER
LATEX2HTML_CONVERTER
HTLATEX_COMPILER
)
include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
find_package_handle_standard_args(LATEX
REQUIRED_VARS LATEX_COMPILER
HANDLE_COMPONENTS
)
Computing file changes ...