Aleks Kissinger committed Jul 20, 2018 1 2 3  # TikZiT  Aleks Kissinger committed Oct 23, 2018 4 TikZiT is a graphical tool for rapidly creating graphs and string diagrams using PGF/TikZ. It was used, for example, to make all of the 2500+ diagrams in this book.  Aleks Kissinger committed Jul 20, 2018 5 6 7  ## Building on Windows  Aleks Kissinger committed Jan 07, 2019 8 TiKZiT can be built in Windows using Qt Creator (part of Qt for Windows) or from the command line. In either case, it is recommended you compile with mingw32, which is included in the official Qt distribution. There is no reason, in principle, that you couldn't use mingw64 or MSVC, but these haven't been tested.  Aleks Kissinger committed Jul 20, 2018 9   Aleks Kissinger committed Jan 07, 2019 10 In addition to Qt itself, TikZiT needs flex/bison, Poppler (with Qt bindings), and OpenSSL. For flex/bison, the simplest way to install this is to download WinFlexBison, then make sure both are in your %Path% so the build tools can find them. Alternatively, you can install it via Chocolatey, via:  Aleks Kissinger committed Jul 20, 2018 11   Aleks Kissinger committed Jan 07, 2019 12  > choco install winflexbison  Aleks Kissinger committed Jul 20, 2018 13   Aleks Kissinger committed Jan 07, 2019 14 For convenience, I have packaged up some headers and pre-built DLLs to take care of the Poppler and OpenSSL dependencies in a single shot. If you wish to use these, download win32-deps.zip and extract it into the source folder before building. At this point, you should be able to open tikzit.pro in Qt Creator and build the project. If you wish to build from the command line, make sure mingw32-make.exe is in your %Path%. For the version that comes with Qt, this is in C:\Qt\Tools\mingw530_32\bin. Then, from the command prompt, run:  Aleks Kissinger committed Jul 20, 2018 15   Aleks Kissinger committed Jan 07, 2019 16 17 18 19  > C:\Qt\5.XX.X\mingw53_32\bin\qtenv2.bat > cd \path\to\tikzit > qmake -r > mingw32-make  Aleks Kissinger committed Oct 20, 2018 20   Aleks Kissinger committed Jan 07, 2019 21 22 23 To get a portable directory, you can then (optionally) run: > deploy-win.bat  Aleks Kissinger committed Oct 20, 2018 24 25   Aleks Kissinger committed Jul 20, 2018 26 27 28  ## Building on Linux  Aleks Kissinger committed Oct 20, 2018 29 30 This should be buildable in Linux using a "standard" dev setup (gcc, flex, bison, make) as well as Qt. It has been tested with Qt 5.9, which is packaged with Ubuntu 18.04 (Bionic Beaver). The setup on Ubuntu is:  Aleks Kissinger committed Jan 07, 2019 31  $sudo apt -y install flex bison qt5-default libpoppler-dev libpoppler-qt5-dev  Aleks Kissinger committed Oct 20, 2018 32 33  After that, building is:  Aleks Kissinger committed Jul 20, 2018 34   Aleks Kissinger committed Jan 07, 2019 35 $ qmake -r  Aleks Kissinger committed Jul 20, 2018 36 37  $make  Aleks Kissinger committed Jan 07, 2019 38 39 40 41 To get a portable directory, you can then (optionally) run: ./deploy-linux.sh  Aleks Kissinger committed Oct 20, 2018 42 Building on other distributions should be similar. For Qt setup, you can find instructions for openSUSE and Arch Linux on the Qt wiki.  Aleks Kissinger committed Jul 20, 2018 43 44 45 46  ## Building on MacOS  Aleks Kissinger committed Jan 07, 2019 47 You'll need developer tools, Qt5, and Poppler (with Qt bindings) installed. You can install these via Homebrew with the following commands:  Aleks Kissinger committed Jul 20, 2018 48 49 $ brew install qt5  Aleks Kissinger committed Jan 07, 2019 50  $brew install poppler --with-qt  Aleks Kissinger committed Jul 20, 2018 51   Aleks Kissinger committed Jan 07, 2019 52 This doesn't add Qt binaries to the $PATH by default, so you may wish to either run:  Aleks Kissinger committed Jul 20, 2018 53   Aleks Kissinger committed Jan 07, 2019 54  $brew link --force qt5  Aleks Kissinger committed Jul 20, 2018 55   Aleks Kissinger committed Jan 07, 2019 56 or add /usr/local/opt/qt/bin to your $PATH. Once this is done, TikZiT can be built from the command line via:  Aleks Kissinger committed Jul 20, 2018 57   Aleks Kissinger committed Jan 07, 2019 58  $qmake -r  Aleks Kissinger committed Jul 20, 2018 59 60 $ make  Aleks Kissinger committed Jan 07, 2019 61 62 63 64 To bundle the required libraries into tikzit.app and create a .dmg file, you can additionally run: $./deploy-osx.sh  Aleks Kissinger committed Jul 20, 2018 65   Aleks Kissinger committed Oct 20, 2018 66 67 68 69 70 On older systems (pre-10.11), you can build with Qt 5.6, which claims to support Mac OS as far back as Mountain Lion. It is installable via MacPorts:$ sudo port -N -k install qt56 $export PATH=/opt/local/libexec/qt5/bin:$PATH  Aleks Kissinger committed Jan 07, 2019 71 I have only tested this with TikZiT 2.0, so to install Poppler (required by TikZiT >= 2.1), you are on your own.