| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 | if(__opus_version)  return()endif()set(__opus_version INCLUDED)function(get_package_version PACKAGE_VERSION PROJECT_VERSION)  find_package(Git)  if(GIT_FOUND AND EXISTS "${CMAKE_CURRENT_LIST_DIR}/.git")    execute_process(COMMAND ${GIT_EXECUTABLE}                    --git-dir=${CMAKE_CURRENT_LIST_DIR}/.git describe                    --tags --match "v*" OUTPUT_VARIABLE OPUS_PACKAGE_VERSION)    if(OPUS_PACKAGE_VERSION)      string(STRIP ${OPUS_PACKAGE_VERSION}, OPUS_PACKAGE_VERSION)      string(REPLACE \n                     ""                     OPUS_PACKAGE_VERSION                     ${OPUS_PACKAGE_VERSION})      string(REPLACE ,                     ""                     OPUS_PACKAGE_VERSION                     ${OPUS_PACKAGE_VERSION})      string(SUBSTRING ${OPUS_PACKAGE_VERSION}                       1                       -1                       OPUS_PACKAGE_VERSION)      message(STATUS "Opus package version from git repo: ${OPUS_PACKAGE_VERSION}")    endif()  elseif(EXISTS "${CMAKE_CURRENT_LIST_DIR}/package_version"         AND NOT OPUS_PACKAGE_VERSION)    # Not a git repo, lets' try to parse it from package_version file if exists    file(STRINGS package_version OPUS_PACKAGE_VERSION         LIMIT_COUNT 1         REGEX "PACKAGE_VERSION=")    string(REPLACE "PACKAGE_VERSION="                   ""                   OPUS_PACKAGE_VERSION                   ${OPUS_PACKAGE_VERSION})    string(REPLACE "\""                   ""                   OPUS_PACKAGE_VERSION                   ${OPUS_PACKAGE_VERSION})    # In case we have a unknown dist here we just replace it with 0    string(REPLACE "unknown"                   "0"                   OPUS_PACKAGE_VERSION                   ${OPUS_PACKAGE_VERSION})      message(STATUS "Opus package version from package_version file: ${OPUS_PACKAGE_VERSION}")  endif()  if(OPUS_PACKAGE_VERSION)    string(REGEX      REPLACE "^([0-9]+.[0-9]+\\.?([0-9]+)?).*"               "\\1"               OPUS_PROJECT_VERSION               ${OPUS_PACKAGE_VERSION})  else()    # fail to parse version from git and package version    message(WARNING "Could not get package version.")    set(OPUS_PACKAGE_VERSION 0)    set(OPUS_PROJECT_VERSION 0)  endif()  message(STATUS "Opus project version: ${OPUS_PROJECT_VERSION}")  set(PACKAGE_VERSION ${OPUS_PACKAGE_VERSION} PARENT_SCOPE)  set(PROJECT_VERSION ${OPUS_PROJECT_VERSION} PARENT_SCOPE)endfunction()
 |