# how to use git and the master and develop branches https://nvie.com/posts/a-successful-git-branching-model/ # libtool and libraries We are using libtool to (possibly) generate a shared library for libminc with a three-component version string. CURRENT[:REVISION[:AGE]] # Release procedure * Update NEWS from Changelog, add break mark in Changelog * Update the LIBMINC_SOVERSION in CMakeLists.txt according to the following rules: 0. Each library's version should be updated according to these rules INDEPENDENTLY! 1. If the library source code has changed at all since the last update, then increment REVISION (`C:R:A' becomes `C:r+1:A'). 2. If any interfaces have been added, removed, or changed since the last update, increment CURRENT, and set REVISION to 0. 3. If any interfaces have been added since the last public release, then increment AGE. 4. If any interfaces have been removed since the last public release, then set AGE to 0. * ccmake, build, and install. * Update Documentation (AUTHORS, COPYING, NEWS, README) Authors should be sourced from recent commits * Commit. * Run CPack to make .tar.gz * Test build from .tar.gz on another system. * Copy tar file to distribution site. * Tag the release branch as "libminc-x-y-z" (MINC x.y.z). * Update the version number in CMakeLists.txt for the next release in order to avoid the problem of multiple releases with the same version number * Commit.