| 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()
 
 
  |