24 lines
1007 B
CMake
24 lines
1007 B
CMake
# -*- cmake -*-
|
|
|
|
function (build_version _target)
|
|
# Read version components from the header file.
|
|
file(STRINGS ${LIBS_OPEN_DIR}/llcommon/llversion${_target}.h lines
|
|
REGEX " LL_VERSION_")
|
|
foreach(line ${lines})
|
|
string(REGEX REPLACE ".*LL_VERSION_([A-Z]+).*" "\\1" comp "${line}")
|
|
string(REGEX REPLACE ".* = ([0-9]+);.*" "\\1" value "${line}")
|
|
set(v${comp} "${value}")
|
|
endforeach(line)
|
|
|
|
# Compose the version.
|
|
set(${_target}_VERSION "${vMAJOR}.${vMINOR}.${vPATCH}.${vBUILD}")
|
|
if (${_target}_VERSION MATCHES "^[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+$")
|
|
message(STATUS "Version of ${_target} is ${${_target}_VERSION}")
|
|
else (${_target}_VERSION MATCHES "^[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+$")
|
|
message(FATAL_ERROR "Could not determine ${_target} version (${${_target}_VERSION})")
|
|
endif (${_target}_VERSION MATCHES "^[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+$")
|
|
|
|
# Report version to caller.
|
|
set(${_target}_VERSION "${${_target}_VERSION}" PARENT_SCOPE)
|
|
endfunction (build_version)
|