1234567891011121314151617181920212223242526272829303132333435363738 |
- macro(rvc_set_win_dll_ver _prefix _ver)
- string(STRIP ${_ver} ${_prefix}_VERSION_STRING)
- set(VERSION_REGEX "^.?([0-9]+)\\.([0-9]+)\\.([0-9]+)-?(.*)")
- string(REGEX REPLACE "${VERSION_REGEX}" "\\1" ${_prefix}_VERSION_MAJOR "${${_prefix}_VERSION_STRING}")
- string(REGEX REPLACE "${VERSION_REGEX}" "\\2" ${_prefix}_VERSION_MINOR "${${_prefix}_VERSION_STRING}")
- string(REGEX REPLACE "${VERSION_REGEX}" "\\3" ${_prefix}_VERSION_REVISION "${${_prefix}_VERSION_STRING}")
- string(REGEX REPLACE "${VERSION_REGEX}" "\\4" ${_prefix}_VERSION_SUFFIX "${${_prefix}_VERSION_STRING}")
- set(${_prefix}_API_VERSION "${${_prefix}_VERSION_MAJOR}")
- set(${_prefix}_VERSION "${${_prefix}_VERSION_MAJOR}.${${_prefix}_VERSION_MINOR}.${${_prefix}_VERSION_REVISION}")
- if (${_prefix}_VERSION_SUFFIX)
- set(${_prefix}_VERSION_FULL "${${_prefix}_VERSION}-${${_prefix}_VERSION_SUFFIX}")
- else()
- set(${_prefix}_VERSION_FULL "${${_prefix}_VERSION}")
- endif()
- message(STATUS "${_prefix}_VERSION = ${${_prefix}_VERSION_FULL}")
- if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/version.h.in)
- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/version.h.in ${CMAKE_CURRENT_BINARY_DIR}/version.h)
- endif()
- # On windows create dll version information.
- if (WIN32)
- set (RC_VERSION_MAJOR ${RVC_VERSION_MAJOR})
- set (RC_VERSION_MINOR ${${_prefix}_VERSION_MAJOR})
- set (RC_VERSION_BUILD ${${_prefix}_VERSION_MINOR})
- set (RC_VERSION_PATCH ${${_prefix}_VERSION_REVISION})
- configure_file(
- ${CMAKE_SOURCE_DIR}/version.rc.in
- ${CMAKE_CURRENT_BINARY_DIR}/version.rc
- @ONLY)
- set ( ${_prefix}_SRCS ${${_prefix}_SRCS} ${CMAKE_CURRENT_BINARY_DIR}/version.rc)
- endif()
- endmacro(rvc_set_win_dll_ver)
|