Why?
- QT will switch from qmake to cmake sooner or later.
- autotools are good for unix-ish systems, cmake also for
macOS and Xcode as well as Windows and VS-code
- Cross compiling the windows-binaries on linux
is not very helpful to attract windows-centric
developers.
Also drop qmake's xca.pro
Generate man-page and sphinx sources of commandline arguments
during build by executing xca (xcadoc.cpp).
Generating Version-patchlevel and git hash is now also
OS independent.
git.release.something ->
Create any git release with a tag to test package (debian/rpm) build
git.release -> Create required changes and tags for the next release
git.publish -> Finalize the release (github release)
gen-binary-hash / binary-hashes.json -> keep track of release hashes
For an official release XCA_VERSION == PACKAGE_VERSION.
For any additional commit, XCA_VERSION's path-level is increased.
PACKAGE_VERSION cannot be modified after initially set.
Change any occurance of PACKAGE_VERSION by XCA_VERSION
The patchlevel will be increased by the iteration counter,
which is the number of commits since the most recent annotated tag.
Tagged version 1.2.3 in VERSION will be called "1.2.3"
3 commits later it will be 1.2.6
Copy files (database-schema, COPYRIGHT, changelog)
to the destination directory
Name all documentation files and qthelp files explicitly
instead of using wildcards
linuxdoc is pretty outdated, while sphinx is really cool:
- Sphinx is modern with a broad user base
- The generated documentation is themeable
- The sphinx-source is much more readable than the
SGML-tag scattered linuxdoc.
- The different topics can be splitted into different files
- It can be converted to qt-context sensitive help
- It supports syntax highlighting for the SQL database documentation
- It is supported on MacOSX,because it is python-based.
Drop code2html perl-script, which was used to colorize the SQL schema.
Generate "doc/arguments.rst" with XCA_MAN="rst" ./xca