CMAKE_MINIMUM_REQUIRED(VERSION 2.8...3.20) PROJECT(TDengine) IF (DEFINED VERNUMBER) SET(TD_VER_NUMBER ${VERNUMBER}) ELSE () SET(TD_VER_NUMBER "2.1.7.1") ENDIF () IF (DEFINED VERCOMPATIBLE) SET(TD_VER_COMPATIBLE ${VERCOMPATIBLE}) ELSE () SET(TD_VER_COMPATIBLE "2.0.0.0") ENDIF () find_program(HAVE_GIT NAMES git) IF (DEFINED GITINFO) SET(TD_VER_GIT ${GITINFO}) ELSEIF (HAVE_GIT) execute_process(COMMAND git log -1 --format=%H WORKING_DIRECTORY ${TD_COMMUNITY_DIR} OUTPUT_VARIABLE GIT_COMMITID) message(STATUS "git log result:${GIT_COMMITID}") IF (GIT_COMMITID) string (REGEX REPLACE "[\n\t\r]" "" GIT_COMMITID ${GIT_COMMITID}) SET(TD_VER_GIT ${GIT_COMMITID}) ELSE () message(STATUS "not a git repository") SET(TD_VER_GIT "no git commit id") ENDIF () ELSE () message(STATUS "no git cmd") SET(TD_VER_GIT "no git commit id") ENDIF () IF (DEFINED GITINFOI) SET(TD_VER_GIT_INTERNAL ${GITINFOI}) ELSEIF (HAVE_GIT) execute_process(COMMAND git log -1 --format=%H WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} OUTPUT_VARIABLE GIT_COMMITID) message(STATUS "git log result:${GIT_COMMITID}") IF (GIT_COMMITID) string (REGEX REPLACE "[\n\t\r]" "" GIT_COMMITID ${GIT_COMMITID}) SET(TD_VER_GIT_INTERNAL ${GIT_COMMITID}) ELSE () message(STATUS "not a git repository") SET(TD_VER_GIT "no git commit id") ENDIF () ELSE () message(STATUS "no git cmd") SET(TD_VER_GIT_INTERNAL "no git commit id") ENDIF () IF (DEFINED VERDATE) SET(TD_VER_DATE ${VERDATE}) ELSE () STRING(TIMESTAMP TD_VER_DATE "%Y-%m-%d %H:%M:%S") ENDIF () IF (DEFINED VERTYPE) SET(TD_VER_VERTYPE ${VERTYPE}) ELSE () SET(TD_VER_VERTYPE "stable") ENDIF () IF (DEFINED CPUTYPE) SET(TD_VER_CPUTYPE ${CPUTYPE}) ELSE () IF (TD_WINDOWS_32) SET(TD_VER_CPUTYPE "x86") ELSEIF (TD_LINUX_32) SET(TD_VER_CPUTYPE "x86") ELSEIF (TD_ARM_32) SET(TD_VER_CPUTYPE "x86") ELSEIF (TD_MIPS_32) SET(TD_VER_CPUTYPE "x86") ELSE () SET(TD_VER_CPUTYPE "x64") ENDIF () ENDIF () IF (DEFINED OSTYPE) SET(TD_VER_OSTYPE ${OSTYPE}) ELSE () SET(TD_VER_OSTYPE "Linux") ENDIF () MESSAGE(STATUS "============= compile version parameter information start ============= ") MESSAGE(STATUS "ver number:" ${TD_VER_NUMBER}) MESSAGE(STATUS "compatible ver number:" ${TD_VER_COMPATIBLE}) MESSAGE(STATUS "communit commit id:" ${TD_VER_GIT}) MESSAGE(STATUS "internal commit id:" ${TD_VER_GIT_INTERNAL}) MESSAGE(STATUS "build date:" ${TD_VER_DATE}) MESSAGE(STATUS "ver type:" ${TD_VER_VERTYPE}) MESSAGE(STATUS "ver cpu:" ${TD_VER_CPUTYPE}) MESSAGE(STATUS "os type:" ${TD_VER_OSTYPE}) MESSAGE(STATUS "============= compile version parameter information end ============= ") STRING(REPLACE "." "_" TD_LIB_VER_NUMBER ${TD_VER_NUMBER}) CONFIGURE_FILE("${TD_COMMUNITY_DIR}/src/util/src/version.c.in" "${TD_COMMUNITY_DIR}/src/util/src/version.c")