aboutsummaryrefslogtreecommitdiff
path: root/README.adoc
blob: 5cb3faede469af7379b2b1d69d1dcaf5face3d3b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
logdiag
=======

'logdiag' is a simple multiplatform schematic editor written in GTK+.

This software has never really been finished, and is no longer being worked on,
although I strive to keep it building on Windows XP and elsewhere.

image::docs/user-guide/logdiag-en.png[align="center"]

Packages
--------
Regular releases are sporadic.  git master should be stable enough.
You can get a package with the latest development version using Arch Linux's
https://aur.archlinux.org/packages/logdiag-git[AUR],
or as a https://git.janouch.name/p/nixexprs[Nix derivation].

Windows installers can be downloaded from
https://git.janouch.name/p/logdiag/releases[the Releases page on Gitea].

Requirements
------------
Runtime dependencies: GTK+ >= 3.8, json-glib >= 0.10.4, lua >= 5.2 +
Build dependencies: CMake >= 3.10

Build from source on Unix-like systems
--------------------------------------
First check that you have all the required dependencies installed, including
development packages, if your distribution provides them.

Reserve a directory for an out-of-source build:

 $ mkdir build
 $ cd build

Let CMake prepare the build. You may change the directory where you want the
application to be installed. The default is _/usr/local_.

 $ cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr

Now you have two basic choices of installing the application:

1. Using _make install_:
+
 # make install

2. Using _cpack_:
+
You have to choose a package format understood by your system package manager.
CMake offers DEB and RPM.
+
After _cpack_ finishes making the package, install this file.
+
 $ cpack -G DEB
 # dpkg -i logdiag-version-system-arch.deb

Build from source on Windows
----------------------------
_Note that using the current method we're stuck with GTK+ 3.8.2, which works
worse on Windows 10, but better on XP and under WINE._

First, install CMake and MinGW (mingw32-base-bin, mingw32-gettext-dev).
Ensure they're both in your system path.  If you want to build an installation
package, also install NSIS.  If you want to build within a path containing
spaces, https://gitlab.kitware.com/cmake/cmake/-/issues/22396[fix] your CMake's
FindPkgConfig.cmake module to say:

 separate_arguments(_pkgconfig_invoke_result UNIX_COMMAND "${_pkgconfig_invoke_result}")

Run the following command in the directory with source files to automatically
fetch and set up all dependencies:

 > cmake -P Win32Depends.cmake

Note that on Windows XP, CMake will fail to download those files, even with
https://emailarchitect.net/easendmail/sdk/html/object_tls12.htm[updates].
You will have to run the script externally.

Reserve a directory for an out-of-source build and let CMake prepare the build:

 > mkdir build
 > cd build
 > cmake .. -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release

Now you can generate a package with CPack. You may choose between:

1. An NSIS-based installation package:
+
 > cpack -G NSIS

2. A portable ZIP package:
+
 > cpack -G ZIP

By default, that is if you specify no generator, both packages are built.

Cross-compilation for Windows
-----------------------------
The procedure is almost exactly the same as before, including the requirements.
Just install MinGW-w64 and let automation take care of the rest.

 $ cmake -P Win32Depends.cmake
 $ mkdir build
 $ cd build
 $ cmake -DCMAKE_TOOLCHAIN_FILE=../ToolchainCrossMinGWW64.cmake \
   -DCMAKE_BUILD_TYPE=Release ..
 $ cpack

Alternatively, for an unnecessarily bloated MSYS2-based 64-bit build:

 $ sh -e Win64Depends.sh
 $ cmake -DCMAKE_TOOLCHAIN_FILE=ToolchainCrossWin64.cmake \
   -DCMAKE_BUILD_TYPE=Release -B build
 $ cmake --build build -- package

Contributing and Support
------------------------
Use https://git.janouch.name/p/logdiag to report any bugs, request features,
or submit pull requests.  `git send-email` is tolerated.  If you want to discuss
the project, feel free to join me at ircs://irc.janouch.name, channel #dev.

Bitcoin donations are accepted at: 12r5uEWEgcHC46xd64tt3hHt9EUvYYDHe9

License
-------
This software is released under the terms of the 0BSD license, the text of which
is included within the package along with the list of authors.