mirror of
https://github.com/bkaradzic/bgfx.cmake.git
synced 2026-02-17 21:12:35 +01:00
Set bgfx PROJECT_VERSION from bgfx versioning scheme. (#80)
This commit is contained in:
37
cmake/version.cmake
Normal file
37
cmake/version.cmake
Normal file
@@ -0,0 +1,37 @@
|
||||
# bgfx versioning scheme:
|
||||
# bgfx 1.104.7082
|
||||
# ^ ^^^ ^^^^
|
||||
# | | +--- Commit number (https://github.com/bkaradzic/bgfx / git rev-list --count HEAD)
|
||||
# | +------- API version (from https://github.com/bkaradzic/bgfx/blob/master/scripts/bgfx.idl#L4)
|
||||
# +--------- Major revision (always 1)
|
||||
|
||||
# BGFX_API_VERSION generated from https://github.com/bkaradzic/bgfx/blob/master/scripts/bgfx.idl#L4
|
||||
# bgfx/src/version.h:
|
||||
# BGFX_REV_NUMBER
|
||||
# BGFX_REV_SHA1
|
||||
|
||||
find_package(Git QUIET)
|
||||
|
||||
execute_process(COMMAND "${GIT_EXECUTABLE}" -C bgfx log --pretty=format:'%h' -n 1
|
||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||
OUTPUT_VARIABLE GIT_REV
|
||||
ERROR_QUIET)
|
||||
|
||||
execute_process(COMMAND "${GIT_EXECUTABLE}" -C bgfx rev-list --count HEAD
|
||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||
OUTPUT_VARIABLE GIT_REV_COUNT
|
||||
ERROR_QUIET)
|
||||
|
||||
# read version(100) from bgfx.idl
|
||||
file(READ "${CMAKE_SOURCE_DIR}/bgfx/scripts/bgfx.idl" BGFX_IDL)
|
||||
string(REGEX MATCH "version\\(([^\)]+)\\)"
|
||||
BGFX_API_VERSION ${BGFX_IDL})
|
||||
set(BGFX_API_VERSION ${CMAKE_MATCH_1})
|
||||
set(BGFX_REV_NUMBER ${GIT_REV_COUNT})
|
||||
set(BGFX_REV ${GIT_REV})
|
||||
|
||||
# set project specific versions
|
||||
set(PROJECT_VERSION 1.${BGFX_API_VERSION}.${BGFX_REV_NUMBER})
|
||||
set(PROJECT_VERSION_MAJOR 1)
|
||||
set(PROJECT_VERSION_MINOR ${BGFX_API_VERSION})
|
||||
set(PROJECT_VERSION_PATCH ${BGFX_REV_NUMBER})
|
||||
Reference in New Issue
Block a user