mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-28 15:06:08 +00:00

The old version in the llvm/actions repo stopped working after the version variables were moved out of llvm/CMakeLists.txt. Composite actions are more simple and don't require javascript, which is why I reimplemented it as a composite action. This will fix the failing abi checks on the release branch.
87 lines
2.4 KiB
Bash
Executable File
87 lines
2.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
#===-- get-llvm-version.sh - Get LLVM Version from sources -----------------===#
|
|
#
|
|
# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
# See https://llvm.org/LICENSE.txt for license information.
|
|
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
#
|
|
#===------------------------------------------------------------------------===#
|
|
#
|
|
# Extract the current LLVM version from the CMake files.
|
|
#
|
|
#===------------------------------------------------------------------------===#
|
|
|
|
cmake_file=$(dirname $0)/../../../cmake/Modules/LLVMVersion.cmake
|
|
function usage() {
|
|
echo "usage: `basename $0`"
|
|
echo ""
|
|
echo "Calling this script with now options will output the full version: e.g. 19.1.0"
|
|
echo " --cmake-file Path to cmake file with the version (default: $cmake_file)
|
|
echo " You can use at most one of the following options:
|
|
echo " --major Print the major version."
|
|
echo " --minor Print the minor version."
|
|
echo " --patch Print the patch version."
|
|
}
|
|
|
|
print=""
|
|
|
|
while [ $# -gt 0 ]; do
|
|
case $1 in
|
|
--cmake-file )
|
|
shift
|
|
cmake_file="$1"
|
|
;;
|
|
--major)
|
|
if [ -n "$print" ]; then
|
|
echo "Only one of --major, --minor, --patch is allowed"
|
|
exit 1
|
|
fi
|
|
print="major"
|
|
;;
|
|
--minor)
|
|
if [ -n "$print" ]; then
|
|
echo "Only one of --major, --minor, --patch is allowed"
|
|
exit 1
|
|
fi
|
|
print="minor"
|
|
;;
|
|
--patch)
|
|
if [ -n "$print" ]; then
|
|
echo "Only one of --major, --minor, --patch is allowed"
|
|
exit 1
|
|
fi
|
|
print="patch"
|
|
;;
|
|
--help | -h | -\? )
|
|
usage
|
|
exit 0
|
|
;;
|
|
* )
|
|
echo "unknown option: $1"
|
|
usage
|
|
exit 1
|
|
;;
|
|
esac
|
|
shift
|
|
done
|
|
|
|
major=`grep -o 'LLVM_VERSION_MAJOR[[:space:]]\+\([0-9]\+\)' $cmake_file | grep -o '[0-9]\+'`
|
|
minor=`grep -o 'LLVM_VERSION_MINOR[[:space:]]\+\([0-9]\+\)' $cmake_file | grep -o '[0-9]\+'`
|
|
patch=`grep -o 'LLVM_VERSION_PATCH[[:space:]]\+\([0-9]\+\)' $cmake_file | grep -o '[0-9]\+'`
|
|
|
|
case $print in
|
|
major)
|
|
echo "$major"
|
|
;;
|
|
minor)
|
|
echo "$minor"
|
|
;;
|
|
patch)
|
|
echo "$patch"
|
|
;;
|
|
*)
|
|
echo "$major.$minor.$patch"
|
|
;;
|
|
esac
|
|
|