[texworks] New build system

Stefan Löffler st.loeffler at gmail.com
Mon Apr 21 19:21:24 CEST 2014


first of all, if you don't intend to compile TeXworks yourself, you can
safely ignore this message. Otherwise, please read on.

TeXworks has been using Qt's qmake build system for a long time.
However, qmake has several limitations. Among them are, for instance,
the need to hard-code libraries, library versions, and/or library paths
for some systems (most notably Windows). In addition, configuring the
build was not very user-friendly (as it involved either tampering with
the project file or endless command lines). Most problematic of all,
however, is the lack of support for modular builds (e.g., you
essentially had to use different project files for different plugins).
Until now, this was mostly annoying, but for the planned future of
TeXworks, it's a real problem.

To cut the long story short: qmake has been replaced by CMake. CMake is
a very powerful tool, allows modular builds, picks up (most) libraries
automatically, and is fairly easy to configure for the user. However,
the build procedure has changed slightly. The instructions for *nix
systems have already been updated
(http://code.google.com/p/texworks/wiki/Building); those for Windows
will follow once I've written up all the steps in a nice guide; for the
Mac, nothing changes
(http://code.google.com/p/texworks/wiki/BuildingOnMacOSXHomebrew used
CMake all along).

For the time being, building using qmake should still work, but the
corresponding project file will no longer be maintained, so please don't
use it anymore.

I hope this won't cause too much trouble,

PS @ package maintainers: the most notable CMake settings are
TW_BUILD_ID (should be set to a distribution-specific identifier, such
as "texlive" or "debian") and BUILD_SHARED_LIBS (whether to build using
.dll/.so files (including compiling the plugins into shared libraries),
or to build one large monolithic binary).

More information about the texworks mailing list