Skip to content

commontk/AppLauncher

Repository files navigation

CTKAppLauncher

Overview

CTK Application launcher is a lightweight open-source utility allowing to set environment before starting a real application.

The launcher is available on Linux, Windows and macOS.

Read the wiki for more details.

Build Status

Linux macOS Windows

contributing

Contributions are welcome, and they are greatly appreciated! Every little bit helps, and credit will always be given.

See CONTRIBUTING.md for more details.

maintainers: how to make a release ?

Follow step below after checking that all tests pass

  1. List all tags sorted by version

    git fetch --tags && \
    git tag -l | sort -V
  2. Choose the next release version number (without

    tag=vX.Y.Z
    
    version_major=$(echo $tag | tr -d v | cut -d. -f1)
    version_minor=$(echo $tag | tr -d v | cut -d. -f2)
    version_patch=$(echo $tag | tr -d v | cut -d. -f3)
    echo "version_major [$version_major] version_minor[$version_minor] version_patch[$version_patch]"
  3. Update CMakeLists.txt setting CTKAppLauncher_VERSION_IS_RELEASE and CTKAppLauncher_*_VERSION variables

    sed -E "s/set\(CTKAppLauncher_VERSION_IS_RELEASE 0\)/set\(CTKAppLauncher_VERSION_IS_RELEASE 1\)/g" -i CMakeLists.txt && \
    sed -E "s/set\(CTKAppLauncher_MAJOR_VERSION [0-9]+\)/set\(CTKAppLauncher_MAJOR_VERSION $version_major\)/g" -i CMakeLists.txt && \
    sed -E "s/set\(CTKAppLauncher_MINOR_VERSION [0-9]+\)/set\(CTKAppLauncher_MINOR_VERSION $version_minor\)/g" -i CMakeLists.txt && \
    sed -E "s/set\(CTKAppLauncher_BUILD_VERSION [0-9]+\)/set\(CTKAppLauncher_BUILD_VERSION $version_patch\)/g" -i CMakeLists.txt && \
    git add CMakeLists.txt && \
    git commit -m "CTKAppLauncher $tag" && \
    git diff HEAD^
  4. Tag the release. Requires a GPG key with signatures:

    git tag -s -m "CTKAppLauncher $tag" $tag main
  5. Publish the tag and main branch to trigger the release build

    git push origin $tag && \
    git push origin main

Important: Until issue scikit-build/scikit-ci-addons/issues/96 is addressed, macOS release package should be manually downloaded from the GitHub Actions artifact and uploaded as a GitHub release asset.

  1. Update CMakeLists.txt setting CTKAppLauncher_VERSION_IS_RELEASE to 0

    sed -E "s/set\(CTKAppLauncher_VERSION_IS_RELEASE 1\)/set\(CTKAppLauncher_VERSION_IS_RELEASE 0\)/g" -i CMakeLists.txt && \
    git add CMakeLists.txt && \
    git commit -m "Begin post-$tag development [ci skip]" && \
    git diff HEAD^
  2. Publish the changes:

    git push origin main

License

It is covered by the Apache License, Version 2.0:

http://www.apache.org/licenses/LICENSE-2.0