git-svn-id: svn://db.shs.com.ru/pip@836 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5

This commit is contained in:
2019-08-06 13:52:22 +00:00
parent 0e153f12ca
commit 4a8aef30c4
5 changed files with 37 additions and 27 deletions

View File

@@ -89,26 +89,23 @@ endif()
# Version
file(READ "${PIP_SRC_MAIN}/piversion.h" VERSION_OFFSET LIMIT 4 OFFSET 3)
file(READ "${PIP_SRC_MAIN}/piversion.h" VERSION_MAJOR LIMIT 1 OFFSET ${VERSION_OFFSET})
file(READ "${PIP_SRC_MAIN}/piversion.h" VERSION_OFFSET LIMIT 4 OFFSET 7)
file(READ "${PIP_SRC_MAIN}/piversion.h" VERSION_MINOR LIMIT 1 OFFSET ${VERSION_OFFSET})
file(READ "${PIP_SRC_MAIN}/piversion.h" VERSION_OFFSET LIMIT 4 OFFSET 11)
file(READ "${PIP_SRC_MAIN}/piversion.h" VERSION_REVISION LIMIT 1 OFFSET ${VERSION_OFFSET})
file(STRINGS "${PIP_SRC_MAIN}/piversion.h" VERSION_SUFFIX REGEX "\".*\"")
string(REGEX MATCH "\".*\"" VERSION_SUFFIX ${VERSION_SUFFIX})
string(LENGTH ${VERSION_SUFFIX} SL)
math(EXPR SL "${SL}-2")
string(SUBSTRING ${VERSION_SUFFIX} 1 ${SL} VERSION_SUFFIX)
string(LENGTH ${VERSION_MAJOR} SL)
math(EXPR SL "${SL}-1")
string(SUBSTRING ${VERSION_MAJOR} 0 ${SL} VERSION_MAJOR)
string(LENGTH ${VERSION_MINOR} SL)
math(EXPR SL "${SL}-1")
string(SUBSTRING ${VERSION_MINOR} 0 ${SL} VERSION_MINOR)
string(LENGTH ${VERSION_REVISION} SL)
math(EXPR SL "${SL}-1")
string(SUBSTRING ${VERSION_REVISION} 0 ${SL} VERSION_REVISION)
macro(versionExtract _file _name _out _string)
file(STRINGS "${_file}" line REGEX "#define[ \t]+${_name}.*")
if (${_string})
string(REGEX MATCH "\".*\"" _str "${line}")
string(LENGTH ${_str} _sl)
math(EXPR _sl "${_sl}-2")
string(SUBSTRING "${_str}" 1 ${_sl} ${_out})
else()
string(REGEX MATCH "[0-9]+" ${_out} "${line}")
endif()
#message("found ${_name} = ${${_out}}")
endmacro()
set(SHARED_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/libs/shared")
versionExtract("${PIP_SRC_MAIN}/piversion.h" "PIP_VERSION_MAJOR" VERSION_MAJOR 0)
versionExtract("${PIP_SRC_MAIN}/piversion.h" "PIP_VERSION_MINOR" VERSION_MINOR 0)
versionExtract("${PIP_SRC_MAIN}/piversion.h" "PIP_VERSION_REVISION" VERSION_REVISION 0)
versionExtract("${PIP_SRC_MAIN}/piversion.h" "PIP_VERSION_SUFFIX" VERSION_SUFFIX 1)
set(VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_REVISION}")
set(SOVERSION ${VERSION})
set(_PIP_VERSION_CHANGED 0)