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
|
- zP -
# ABOUT
zp is a library for low-level (and high-level)
algorithms and the querying of system details.
The algorithms are - by default - implemented
in C++, but for some targets they may be
implemented in a platform-dependent manner
(such as in an assembly language) for the sake
of performance. Nevertheless, the library is
still quite early in its development, and these
algorithms may still not be the most efficient.
# CHANGELOG
Read: "CHANGELOG.txt"
The changelog lists the contributors' changes
to the library in the different versions. Each
version is initiated by the version number
followed by the list of changes. Each commit
has its own changes seperated with a blank line.
# COMPILATION
Provided are CMake lists files, which
The provided script "getTarget.sh" detects the
target (if supported - otherwise defaults to
"Any") to be passed to CMake.
## INSTALLATION
The provided script "install.sh" installs the
library and the (public) headers to the
specified directories:
./install.sh [build directory] [library directory] [include directory]
The script automatically builds the project
using pre-defined settings. Note that it does
recursively remove the build directory before
initialising it.
An official package is also provided on the
Arch User Repositoriy as "zp-git":
<https://aur.archlinux.org/packages/zp-git>
# DEVELOPMENT
When developing, all commits must first be
commited to the "development" branch. When a
new version is released, the branch is merged
with the "master" branch and a tag designating
the version number is made.
Currently, I - the maintainer - do not accept
any code submissions (I do, however, accept
suggestions). This may change in the future.
## VERSIONING
The versioning scheme for zP is a major-minor-
patch scheme. The major version is the "API"
version. The minor version is the "EXT"
(extension) version. API version change
(existing) interfaces in the API, whilst the
EXT version only adds to it, meaning programs
targeting a specific API also support all later
EXT versions of the same API.
# LOGO
The logo is a ligarature of the two letters of
the project's name: z and P. For each API
version, the background colour is updated. The
following is a list of the colour values of
current, previous, and planned background:
0: #000000
1: #00A470
2: #8E183B (planned)
# COPYRIGHT AND LICENSE
Copyright 2022-2023 Gabriel Jensen.
The source files of this project are - where
noted - licensed under the second version of
the Mozilla Public License.
|