1# 2# Copyright 2017 Kai Pastor 3# 4# This file is part of OpenOrienteering. 5# 6# OpenOrienteering is free software: you can redistribute it and/or modify 7# it under the terms of the GNU General Public License as published by 8# the Free Software Foundation, either version 3 of the License, or 9# (at your option) any later version. 10# 11# OpenOrienteering is distributed in the hope that it will be useful, 12# but WITHOUT ANY WARRANTY; without even the implied warranty of 13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14# GNU General Public License for more details. 15# 16# You should have received a copy of the GNU General Public License 17# along with OpenOrienteering. If not, see <http://www.gnu.org/licenses/>. 18 19file(GLOB input_files RELATIVE "@CMAKE_CURRENT_BINARY_DIR@" "@CMAKE_CURRENT_BINARY_DIR@/pdflatex/*.tex") 20foreach(file ${input_files}) 21 file(READ "@CMAKE_CURRENT_BINARY_DIR@/${file}" input) 22 23 # Turn internal typewriter-face hrefs into regular PDF hyperlinks 24 string(REGEX REPLACE "\\\\href{#([^}]*)}{\\\\tt ([^}]*)}" "\\\\hyperlink{\\1}{\\2}" output "${input}") 25 26 # Fix anchors in URLs, cf. https://suchideas.com/articles/computing/latex/errors/ 27 string(REGEX REPLACE "(\\\\href{[^}]*[^\\\\])#" "\\1\\\\#" output "${output}") 28 29 string(MD5 input_md5 "${input}") 30 string(MD5 output_md5 "${output}") 31 if(NOT "${output_md5}" STREQUAL "${input_md5}") 32 message(STATUS "Updating ${file}") 33 file(WRITE "${file}" "${output}") 34 endif() 35endforeach() 36