# # Copyright 2017 Kai Pastor # # This file is part of OpenOrienteering. # # OpenOrienteering is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # OpenOrienteering is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with OpenOrienteering. If not, see . file(GLOB input_files RELATIVE "@CMAKE_CURRENT_BINARY_DIR@" "@CMAKE_CURRENT_BINARY_DIR@/pdflatex/*.tex") foreach(file ${input_files}) file(READ "@CMAKE_CURRENT_BINARY_DIR@/${file}" input) # Turn internal typewriter-face hrefs into regular PDF hyperlinks string(REGEX REPLACE "\\\\href{#([^}]*)}{\\\\tt ([^}]*)}" "\\\\hyperlink{\\1}{\\2}" output "${input}") # Fix anchors in URLs, cf. https://suchideas.com/articles/computing/latex/errors/ string(REGEX REPLACE "(\\\\href{[^}]*[^\\\\])#" "\\1\\\\#" output "${output}") string(MD5 input_md5 "${input}") string(MD5 output_md5 "${output}") if(NOT "${output_md5}" STREQUAL "${input_md5}") message(STATUS "Updating ${file}") file(WRITE "${file}" "${output}") endif() endforeach()