diff options
Diffstat (limited to 'cmake/ComputeVersion.cmake')
| -rw-r--r-- | cmake/ComputeVersion.cmake | 105 |
1 files changed, 0 insertions, 105 deletions
diff --git a/cmake/ComputeVersion.cmake b/cmake/ComputeVersion.cmake deleted file mode 100644 index 9ea38aaa..00000000 --- a/cmake/ComputeVersion.cmake +++ /dev/null @@ -1,105 +0,0 @@ -include(CMakeParseArguments) - -function(_compute_version_from_file) - set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${CMAKE_SOURCE_DIR}/VERSION) - if (NOT EXISTS ${CMAKE_SOURCE_DIR}/VERSION) - set(VERSION_FOUND 0 PARENT_SCOPE) - return() - endif () - file(STRINGS ${CMAKE_SOURCE_DIR}/VERSION VERSION_FILE) - string(REPLACE " " ";" VERSION_FILE "${VERSION_FILE}") - cmake_parse_arguments(VERSION_FILE "" "RELEASE;PRERELEASE" "" ${VERSION_FILE}) - if (DEFINED VERSION_FILE_RELEASE) - string(STRIP "${VERSION_FILE_RELEASE}" VERSION_FILE_RELEASE) - set(VERSION_IS_RELEASE 1 PARENT_SCOPE) - set(VERSION_FULL "${VERSION_FILE_RELEASE}" PARENT_SCOPE) - set(VERSION_FOUND 1 PARENT_SCOPE) - elseif (DEFINED VERSION_FILE_PRERELEASE) - string(STRIP "${VERSION_FILE_PRERELEASE}" VERSION_FILE_PRERELEASE) - set(VERSION_IS_RELEASE 0 PARENT_SCOPE) - set(VERSION_FULL "${VERSION_FILE_PRERELEASE}" PARENT_SCOPE) - set(VERSION_FOUND 1 PARENT_SCOPE) - else () - set(VERSION_FOUND 0 PARENT_SCOPE) - endif () -endfunction(_compute_version_from_file) - -function(_compute_version_from_git) - set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${CMAKE_SOURCE_DIR}/.git) - if (NOT GIT_EXECUTABLE) - find_package(Git QUIET) - if (NOT GIT_FOUND) - return() - endif () - endif (NOT GIT_EXECUTABLE) - - # Git tag - execute_process( - COMMAND "${GIT_EXECUTABLE}" describe --tags --abbrev=0 - WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}" - RESULT_VARIABLE git_result - OUTPUT_VARIABLE git_tag - ERROR_VARIABLE git_error - OUTPUT_STRIP_TRAILING_WHITESPACE - ERROR_STRIP_TRAILING_WHITESPACE - ) - if (NOT git_result EQUAL 0) - return() - endif (NOT git_result EQUAL 0) - - if (git_tag MATCHES "^v?([0-9]+[.]?[0-9]*[.]?[0-9]*)(-[.0-9A-Za-z-]+)?([+][.0-9A-Za-z-]+)?$") - set(VERSION_LAST_RELEASE "${CMAKE_MATCH_1}") - else () - return() - endif () - - # Git describe - execute_process( - COMMAND "${GIT_EXECUTABLE}" describe --tags - WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}" - RESULT_VARIABLE git_result - OUTPUT_VARIABLE git_describe - ERROR_VARIABLE git_error - OUTPUT_STRIP_TRAILING_WHITESPACE - ERROR_STRIP_TRAILING_WHITESPACE - ) - if (NOT git_result EQUAL 0) - return() - endif (NOT git_result EQUAL 0) - - if ("${git_tag}" STREQUAL "${git_describe}") - set(VERSION_IS_RELEASE 1) - else () - set(VERSION_IS_RELEASE 0) - if (git_describe MATCHES "-([0-9]+)-g([0-9a-f]+)$") - set(VERSION_TAG_OFFSET "${CMAKE_MATCH_1}") - set(VERSION_COMMIT_HASH "${CMAKE_MATCH_2}") - endif () - execute_process( - COMMAND "${GIT_EXECUTABLE}" show --format=%cd --date=format:%Y%m%d -s - WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}" - RESULT_VARIABLE git_result - OUTPUT_VARIABLE git_time - ERROR_VARIABLE git_error - OUTPUT_STRIP_TRAILING_WHITESPACE - ERROR_STRIP_TRAILING_WHITESPACE - ) - if (NOT git_result EQUAL 0) - return() - endif (NOT git_result EQUAL 0) - set(VERSION_COMMIT_DATE "${git_time}") - endif () - if (NOT VERSION_IS_RELEASE) - set(VERSION_SUFFIX "~git${VERSION_TAG_OFFSET}.${VERSION_COMMIT_DATE}.${VERSION_COMMIT_HASH}") - else (NOT VERSION_IS_RELEASE) - set(VERSION_SUFFIX "") - endif (NOT VERSION_IS_RELEASE) - set(VERSION_IS_RELEASE ${VERSION_IS_RELEASE} PARENT_SCOPE) - set(VERSION_FULL "${VERSION_LAST_RELEASE}${VERSION_SUFFIX}" PARENT_SCOPE) - set(VERSION_FOUND 1 PARENT_SCOPE) -endfunction(_compute_version_from_git) - -_compute_version_from_file() -if (NOT VERSION_FOUND) - _compute_version_from_git() -endif (NOT VERSION_FOUND)
\ No newline at end of file |
