Warning, /pim/trojita/cmake/TrojitaVersion.cmake is written in an unsupported language. File is not indexed.
0001 file(READ ${SOURCE_DIR}/src/trojita-version TROJITA_VERSION) 0002 string(REPLACE "\n" "" TROJITA_VERSION ${TROJITA_VERSION}) 0003 0004 if(GIT_EXECUTABLE AND EXISTS ${SOURCE_DIR}/.git) 0005 execute_process(COMMAND ${GIT_EXECUTABLE} describe --dirty --long --always 0006 WORKING_DIRECTORY ${SOURCE_DIR} 0007 OUTPUT_VARIABLE TROJITA_GIT_VERSION) 0008 string(REPLACE "\n" "" TROJITA_GIT_VERSION ${TROJITA_GIT_VERSION}) 0009 endif() 0010 0011 # Windows resources using four 16bit integers as version number, so prepare these numbers in VERNUMX variables from VERSION 0012 macro(set_win_rc_vernum VERSION VERNUM1 VERNUM2 VERNUM3 VERNUM4) 0013 string(REGEX REPLACE "[^0-9-]" "_" VERNUM ${VERSION}) 0014 if(VERNUM MATCHES "^_*([0-9]+)_+([0-9]+)_+([0-9]+)_+([0-9]+)") 0015 set(${VERNUM1} ${CMAKE_MATCH_1}) 0016 set(${VERNUM2} ${CMAKE_MATCH_2}) 0017 set(${VERNUM3} ${CMAKE_MATCH_3}) 0018 set(${VERNUM4} ${CMAKE_MATCH_4}) 0019 elseif(VERNUM MATCHES "^_*([0-9]+)_+([0-9]+)_+([0-9]+)") 0020 set(${VERNUM1} ${CMAKE_MATCH_1}) 0021 set(${VERNUM2} ${CMAKE_MATCH_2}) 0022 set(${VERNUM3} ${CMAKE_MATCH_3}) 0023 set(${VERNUM4} "0") 0024 elseif(VERNUM MATCHES "^_*([0-9]+)_+([0-9]+)") 0025 set(${VERNUM1} ${CMAKE_MATCH_1}) 0026 set(${VERNUM2} ${CMAKE_MATCH_2}) 0027 set(${VERNUM3} "0") 0028 set(${VERNUM4} "0") 0029 elseif(VERNUM MATCHES "^_*([0-9]+)") 0030 set(${VERNUM1} ${CMAKE_MATCH_1}) 0031 set(${VERNUM2} "0") 0032 set(${VERNUM3} "0") 0033 set(${VERNUM4} "0") 0034 else() 0035 set(${VERNUM1} "0") 0036 set(${VERNUM2} "0") 0037 set(${VERNUM3} "0") 0038 set(${VERNUM4} "0") 0039 endif() 0040 endmacro() 0041 0042 set_win_rc_vernum(${TROJITA_VERSION} TROJITA_VERNUM1 TROJITA_VERNUM2 TROJITA_VERNUM3 TROJITA_VERNUM4) 0043 set(TROJITA_VERSION_H 0044 "#define TROJITA_VERSION \"${TROJITA_VERSION}\"\n" 0045 "#define TROJITA_VERNUM1 ${TROJITA_VERNUM1}\n" 0046 "#define TROJITA_VERNUM2 ${TROJITA_VERNUM2}\n" 0047 "#define TROJITA_VERNUM3 ${TROJITA_VERNUM3}\n" 0048 "#define TROJITA_VERNUM4 ${TROJITA_VERNUM4}\n" 0049 ) 0050 0051 if(TROJITA_GIT_VERSION) 0052 set_win_rc_vernum(${TROJITA_GIT_VERSION} TROJITA_GIT_VERNUM1 TROJITA_GIT_VERNUM2 TROJITA_GIT_VERNUM3 TROJITA_GIT_VERNUM4) 0053 set(TROJITA_GIT_VERSION_H 0054 "#define TROJITA_GIT_VERSION \"${TROJITA_GIT_VERSION}\"\n" 0055 "#define TROJITA_GIT_VERNUM1 ${TROJITA_GIT_VERNUM1}\n" 0056 "#define TROJITA_GIT_VERNUM2 ${TROJITA_GIT_VERNUM2}\n" 0057 "#define TROJITA_GIT_VERNUM3 ${TROJITA_GIT_VERNUM3}\n" 0058 "#define TROJITA_GIT_VERNUM4 ${TROJITA_GIT_VERNUM4}\n" 0059 ) 0060 else() 0061 set(TROJITA_GIT_VERSION_H "") 0062 endif() 0063 0064 file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/trojita-version.h.in ${TROJITA_VERSION_H}) 0065 execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different 0066 ${CMAKE_CURRENT_BINARY_DIR}/trojita-version.h.in ${CMAKE_CURRENT_BINARY_DIR}/trojita-version.h) 0067 0068 file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/trojita-git-version.h.in ${TROJITA_GIT_VERSION_H}) 0069 execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different 0070 ${CMAKE_CURRENT_BINARY_DIR}/trojita-git-version.h.in ${CMAKE_CURRENT_BINARY_DIR}/trojita-git-version.h) 0071 0072 if(NSIS) 0073 if(TROJITA_GIT_VERSION) 0074 string(REPLACE "GIT_" "" TROJITA_VERSION_NSI ${TROJITA_GIT_VERSION_H}) 0075 else() 0076 set(TROJITA_VERSION_NSI ${TROJITA_VERSION_H}) 0077 endif() 0078 string(REPLACE "#" "!" TROJITA_VERSION_NSI ${TROJITA_VERSION_NSI}) 0079 file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/trojita-version.nsi.in ${TROJITA_VERSION_NSI}) 0080 execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different 0081 ${CMAKE_CURRENT_BINARY_DIR}/trojita-version.nsi.in ${CMAKE_CURRENT_BINARY_DIR}/trojita-version.nsi) 0082 endif()