Update the cmake -DTAG_RELEASE script to work with recent cmake changes.
Change it to not automatically make the release commit and tag, instead
specifying in the instructions that the person making the release must
edit the CHANGELOG.md and then run the commands, given in the
instructions, to make the release commit and tag.
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
* Move toolchain-specific options to their own files.
* Clean up and modernize the use of toolchain options.
* Use modern cmake LTO support.
* Remove dead cmake code and cmake functions available in upstream cmake.
* Update README.md to remove references to removed build options.
Add the -DUPDATE_APPCAST=TRUE option to invoke the UpdateAppcast.cmake
script, which clones the github pages repo and sets the version in the
appcast.xml to the last tag, presumably made with -DTAG_RELEASE.
The script prints out a final set of instructions to actually push the
change to git.
If the option -DUPDATE_APPCAST=UNDO is used, the clone is removed and no
changes are made.
Also use the correct method of splitting the tag list output into
multiple lines.
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
This is a followup on 93f906e2.
Simplify the FileIterator interface by doing the eof check in
fi_get_next_line().
Add rollback instructions to final instructions message.
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
Add a TAG_RELEASE cmake variable which engages a cmake script to
generate a signed release commit with changelog entries from git and
signed tag.
The value can be ON/TRUE/1 or a specific next version number, or UNDO to
rollback changes just made with this script.
The script tries to make sure all the preliminaries are in the right
state to do a release, the source is a git clone, on branch master, with
a clean working tree and gpg is available.
Also add a utility script FileIterator.cmake which is an OO-like line
iterator interface for text files, used by the release commit script.
Signed-off-by: Rafael Kitover <rkitover@gmail.com>