[texworks] shared library for synctex
Atsuhito Kohda
kohda at pm.tokushima-u.ac.jp
Wed Jul 9 09:00:55 CEST 2014
Hi all,
I got a bug in Debian which claimed texworks should use
the shared library for synctex (Bug #753818).
I'm not sure if this applies to the upstream or not but
I'd like to report it here in case this is an issue of
the upstream too.
I want to remove Debian specific modification as possible as
I can so please consider if this applies also to the upstream.
I attach an patch (I removed Debian specific so irrelevant
parts).
Thanks in advance.
Best regards, 2014-7-9(Wed)
--
Debian Developer - much more I18N of Debian
Atsuhito Kohda <kohda AT debian.org>
Department of Math., Univ. of Tokushima
-------------- next part --------------
--- texworks-0.5~svn1363.orig/CMake/Modules/FindSynctex.cmake
+++ texworks-0.5~svn1363/CMake/Modules/FindSynctex.cmake
@@ -0,0 +1,51 @@
+# - Try to find Synctex
+# Once done this will define
+#
+# SYNCTEX_FOUND - system has Synctex
+# SYNCTEX_INCLUDE_DIR - the Fontconfig include directory
+# SYNCTEX_LIBRARIES - Link these to use Sycntex
+#
+# Redistribution and use of this file is allowed according to the terms of the
+# MIT license. For details see the file COPYING-CMAKE-MODULES.
+
+
+if ( SYNCTEX_INCLUDE_DIR AND SYNCTEX_LIBRARIES )
+ # in cache already
+ SET(Synctex_FIND_QUIETLY TRUE)
+endif ( SYNCTEX_INCLUDE_DIR AND SYNCTEX_LIBRARIES )
+
+# use pkg-config to get the directories and then use these values
+# in the FIND_PATH() and FIND_LIBRARY() calls
+if( NOT WIN32 )
+ find_package(PkgConfig)
+
+ pkg_check_modules(SYNCTEX_PKG QUIET synctex)
+endif( NOT WIN32 )
+
+FIND_PATH(SYNCTEX_INCLUDE_DIR NAMES synctex_parser.h
+ PATHS
+ /usr/local/include/synctex_parser
+ /usr/X11/include/synctex_parser
+ /usr/include/synctex_parser
+ HINTS
+ ${SYNCTEX_PKG_INCLUDE_DIRS} # Generated by pkg-config
+)
+
+FIND_LIBRARY(SYNCTEX_LIBRARIES NAMES synctex ${SYNCTEX_PKG_LIBRARIES}
+ PATHS
+ /usr/local
+ /usr/X11
+ /usr
+ HINTS
+ ${SYNCTEX_PKG_LIBRARY_DIRS} # Generated by pkg-config
+ PATH_SUFFIXES
+ lib64
+ lib
+)
+
+include(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Synctex DEFAULT_MSG SYNCTEX_LIBRARIES SYNCTEX_INCLUDE_DIR)
+
+# show the SYNCTEX_INCLUDE_DIR and SYNCTEX_LIBRARIES variables only in the advanced view
+MARK_AS_ADVANCED(SYNCTEX_INCLUDE_DIR SYNCTEX_LIBRARIES )
+
--- texworks-0.5~svn1363.orig/CMakeLists.txt
+++ texworks-0.5~svn1363/CMakeLists.txt
@@ -221,6 +221,7 @@
FIND_PACKAGE(ZLIB REQUIRED)
FIND_PACKAGE(Hunspell REQUIRED)
FIND_PACKAGE(Poppler REQUIRED)
+FIND_PACKAGE(Synctex)
# The only thing Poppler should need is the location of the include directories
# in order to access header files. The library loader should be able to find
@@ -241,6 +242,10 @@
LIST(APPEND TeXworks_INCLUDE_DIRS ${FONTCONFIG_INCLUDE_DIR})
ENDIF ()
+IF ( SYNCTEX_FOUND )
+ LIST(APPEND TeXworks_INCLUDE_DIRS ${SYNCTEX_INCLUDE_DIR})
+ENDIF ()
+
SET(TeXworks_LIB_DIRS ${QT_LIBRARY_DIR})
set(TEXWORKS_ADDITIONAL_LIBS "" CACHE STRING "Additional libraries not found by CMake")
@@ -255,6 +260,11 @@
${TEXWORKS_ADDITIONAL_LIBS}
)
+IF ( SYNCTEX_FOUND )
+ LIST(APPEND TeXworks_LIBS ${SYNCTEX_LIBRARIES})
+ENDIF ()
+
+
# Configure Optional Dependencies
# -------------------------------
--- texworks-0.5~svn1363.orig/src/CMakeLists.txt
+++ texworks-0.5~svn1363/src/CMakeLists.txt
@@ -21,6 +21,14 @@
LIST(APPEND TEXWORKS_SRCS ${TEXWORKS_WIN_RCS})
ENDIF ( WIN32 )
+IF ( SYNCTEX_FOUND )
+ FILE(GLOB SYNCTEX_SRCS "synctex_*.c")
+ FILE(GLOB SYNCTEX_HDRS "synctex_*.h")
+
+ LIST(REMOVE_ITEM TEXWORKS_SRCS ${SYNCTEX_SRCS})
+ LIST(REMOVE_ITEM TEXWORKS_HDRS ${SYNCTEX_HDRS})
+ENDIF ( SYNCTEX_FOUND )
+
# These source files along with the `.moc` files generated from some headers
# form the TeXworks scripting API. We export them to variables in the
# `PARENT_SCOPE` (top level CMake file) so that they will be available to the
--- texworks-0.5~svn1363.orig/src/PDFDocument.h
+++ texworks-0.5~svn1363/src/PDFDocument.h
@@ -40,7 +40,7 @@
#else
#include "poppler-qt5.h"
#endif
-#include "synctex_parser.h"
+#include <synctex_parser.h>
#include "ui_PDFDocument.h"
More information about the texworks
mailing list