3 execute_process(COMMAND "${REACTOS_SOURCE_DIR}/tools/getdate.exe" OUTPUT_VARIABLE ${RESULT})
4 string(STRIP ${${RESULT}} ${RESULT})
6 execute_process(COMMAND "date" "+%Y%m%d" OUTPUT_VARIABLE ${${RESULT}})
8 message(SEND_ERROR "date not implemented")
9 set(${RESULT} 00000000)
13 macro(inttohex INTVALUE OUTPUT_VARIABLE)
14 list(APPEND HEXLIST 0 1 2 3 4 5 6 7 8 9 a b c d e f)
15 list(GET HEXLIST ${INTVALUE} ${OUTPUT_VARIABLE})
18 macro(converttohex INTVALUE OUTPUT_VARIABLE)
19 set(REMAINING ${INTVALUE})
21 math(EXPR REMAINDER "${REMAINING}%16")
22 inttohex(${REMAINDER} HEXCHAR)
23 math(EXPR REMAINING "${REMAINING}/16")
24 set(${OUTPUT_VARIABLE} "${HEXCHAR}${${OUTPUT_VARIABLE}}")
28 today(KERNEL_VERSION_BUILD)
30 set(KERNEL_VERSION_MAJOR "0")
31 set(KERNEL_VERSION_MINOR "4")
32 set(KERNEL_VERSION_PATCH_LEVEL "0")
33 set(COPYRIGHT_YEAR "2011")
34 # KERNEL_VERSION_BUILD_TYPE is "SVN", "RC1", "RC2" or "" (for the release)
35 set(KERNEL_VERSION_BUILD_TYPE "SVN")
38 set(KERNEL_VERSION "${KERNEL_VERSION_MAJOR}.${KERNEL_VERSION_MINOR}")
39 if(KERNEL_VERSION_PATCH_LEVEL)
40 set(KERNEL_VERSION "${KERNEL_VERSION}.${KERNEL_VERSION_PATCH_LEVEL}-${KERNEL_VERSION_BUILD_TYPE}")
42 set(KERNEL_VERSION "${KERNEL_VERSION}-${KERNEL_VERSION_BUILD_TYPE}")
45 math(EXPR REACTOS_DLL_VERSION_MAJOR "${KERNEL_VERSION_MAJOR}+42")
46 set(DLL_VERSION_STR "${REACTOS_DLL_VERSION_MAJOR}.${KERNEL_VERSION_MINOR}-${KERNEL_VERSION_BUILD_TYPE}")
48 # get svn revision number
49 set(REVISION "-rUNKNOWN")
50 set(KERNEL_VERSION_BUILD_HEX "0")
51 if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.svn")
52 find_package(Subversion)
54 subversion_wc_info(${CMAKE_CURRENT_SOURCE_DIR} SVNINFO)
55 if(SVNINFO_WC_REVISION)
56 set(REVISION "-r${SVNINFO_WC_REVISION}")
57 converttohex(${SVNINFO_WC_REVISION} KERNEL_VERSION_BUILD_HEX)
62 configure_file(include/reactos/version.h.cmake ${REACTOS_BINARY_DIR}/include/reactos/version.h)
63 configure_file(include/reactos/buildno.h.cmake ${REACTOS_BINARY_DIR}/include/reactos/buildno.h)