version.cmake 1005 B

12345678910111213141516171819
  1. # This script reads version from vcpkg.json and sets it to ${MSDFGEN_VERSION} etc.
  2. cmake_minimum_required(VERSION 3.15)
  3. file(STRINGS "${CMAKE_CURRENT_LIST_DIR}/../vcpkg.json" MSDFGEN_VCPKG_JSON)
  4. string(REGEX MATCH "\"version\"[ \t\n\r]*:[ \t\n\r]*\"[^\"]*\"" MSDFGEN_TMP_VERSION_PAIR ${MSDFGEN_VCPKG_JSON})
  5. string(REGEX REPLACE "\"version\"[ \t\n\r]*:[ \t\n\r]*\"([^\"]*)\"" "\\1" MSDFGEN_VERSION ${MSDFGEN_TMP_VERSION_PAIR})
  6. string(REGEX REPLACE "^([0-9]*)\\.([0-9]*)\\.([0-9]*)" "\\1" MSDFGEN_VERSION_MAJOR ${MSDFGEN_VERSION})
  7. string(REGEX REPLACE "^([0-9]*)\\.([0-9]*)\\.([0-9]*)" "\\2" MSDFGEN_VERSION_MINOR ${MSDFGEN_VERSION})
  8. string(REGEX REPLACE "^([0-9]*)\\.([0-9]*)\\.([0-9]*)" "\\3" MSDFGEN_VERSION_REVISION ${MSDFGEN_VERSION})
  9. string(LENGTH ${MSDFGEN_VERSION} MSDFGEN_VERSION_LENGTH)
  10. string(REPEAT "-" ${MSDFGEN_VERSION_LENGTH} MSDFGEN_VERSION_UNDERLINE)
  11. string(TIMESTAMP MSDFGEN_COPYRIGHT_YEAR "%Y")
  12. unset(MSDFGEN_TMP_VERSION_PAIR)
  13. unset(MSDFGEN_VERSION_LENGTH)
  14. unset(MSDFGEN_VCPKG_JSON)