diff --git a/AboutThisBuild.cmake b/AboutThisBuild.cmake index 330086838..425bd23de 100644 --- a/AboutThisBuild.cmake +++ b/AboutThisBuild.cmake @@ -1,36 +1,38 @@ # cmakefile executed within a makefile target -# If we find ReleaseInfo.cmake we use the info from there and don't need Mercurial to be installed +# If we find ReleaseInfo.cmake we use the info from there and don't need Git to be installed find_file(REL_INFO_FILE ReleaseInfo.cmake PATHS "${PROJECT_SOURCE_DIR}" NO_DEFAULT_PATH) if (REL_INFO_FILE STREQUAL REL_INFO_FILE-NOTFOUND) - # we look for the hg command in this paths by order of preference + # we look for the git command in this paths by order of preference if (WIN32) - find_file(HG_CMD hg.exe HINTS ENV Path PATH_SUFFIXES ../) + find_file(GIT_CMD git.exe HINTS ENV Path PATH_SUFFIXES ../) elseif (APPLE) - find_file(HG_CMD hg PATHS "/opt/local/bin" "/usr/local/bin" "/usr/bin") - find_file(HG_CMD hg) + find_file(GIT_CMD git PATHS "/opt/local/bin" "/usr/local/bin" "/usr/bin") + find_file(GIT_CMD git) set (SHELL "/bin/bash") else (WIN32) # Linux - find_file(HG_CMD hg) + find_file(GIT_CMD git) set (SHELL "/bin/bash") endif (WIN32) - # Fail if Mercurial is not installed - if (HG_CMD STREQUAL HG_CMD-NOTFOUND) - message(FATAL_ERROR "hg command not found!") + # Fail if Git is not installed + if (GIT_CMD STREQUAL GIT_CMD-NOTFOUND) + message(FATAL_ERROR "git command not found!") else () - message(STATUS "hg command found: ${HG_CMD}") + message(STATUS "git command found: ${GIT_CMD}") endif () - execute_process(COMMAND ${HG_CMD} -R "${PROJECT_SOURCE_DIR}" branch OUTPUT_VARIABLE HG_BRANCH OUTPUT_STRIP_TRAILING_WHITESPACE) - execute_process(COMMAND ${HG_CMD} -R "${PROJECT_SOURCE_DIR}" parents --template={latesttag}.{latesttagdistance} WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}" OUTPUT_VARIABLE HG_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE) - execute_process(COMMAND ${HG_CMD} -R "${PROJECT_SOURCE_DIR}" parents --template={node|short} WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}" OUTPUT_VARIABLE HG_CHANGESET OUTPUT_STRIP_TRAILING_WHITESPACE) - execute_process(COMMAND ${HG_CMD} -R "${PROJECT_SOURCE_DIR}" parents --template={latesttagdistance} WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}" OUTPUT_VARIABLE HG_TAGDISTANCE OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process(COMMAND ${GIT_CMD} -C "${PROJECT_SOURCE_DIR}" symbolic-ref --short -q HEAD OUTPUT_VARIABLE GIT_BRANCH OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process(COMMAND ${GIT_CMD} -C "${PROJECT_SOURCE_DIR}" describe --tags --always OUTPUT_VARIABLE GIT_VERSION_WHOLE OUTPUT_STRIP_TRAILING_WHITESPACE) + string(REGEX REPLACE "-g.*" "" GIT_VERSION ${GIT_VERSION_WHOLE}) + string(REPLACE "-" "." GIT_VERSION ${GIT_VERSION}) + execute_process(COMMAND ${GIT_CMD} -C "${PROJECT_SOURCE_DIR}" rev-parse --verify HEAD OUTPUT_VARIABLE GIT_CHANGESET OUTPUT_STRIP_TRAILING_WHITESPACE) + string(REGEX REPLACE ".*-(.*)-g.*" "\\1" GIT_TAGDISTANCE ${GIT_VERSION_WHOLE}) if (NOT DEFINED CACHE_NAME_SUFFIX) - execute_process(COMMAND ${HG_CMD} -R "${PROJECT_SOURCE_DIR}" parents --template={latesttag} WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}" OUTPUT_VARIABLE CACHE_NAME_SUFFIX OUTPUT_STRIP_TRAILING_WHITESPACE) + string(REGEX REPLACE "-.*" "" CACHE_NAME_SUFFIX ${GIT_VERSION_WHOLE}) message(STATUS "CACHE_NAME_SUFFIX was not defined, it is now \"${CACHE_NAME_SUFFIX}\"") elseif (CACHE_NAME_SUFFIX STREQUAL "latesttag") - execute_process(COMMAND ${HG_CMD} -R "${PROJECT_SOURCE_DIR}" parents --template={latesttag} WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}" OUTPUT_VARIABLE CACHE_NAME_SUFFIX OUTPUT_STRIP_TRAILING_WHITESPACE) + string(REGEX REPLACE "-.*" "" CACHE_NAME_SUFFIX ${GIT_VERSION_WHOLE}) message(STATUS "CACHE_NAME_SUFFIX was \"latesttag\", it is now \"${CACHE_NAME_SUFFIX}\"") else () message(STATUS "CACHE_NAME_SUFFIX is \"${CACHE_NAME_SUFFIX}\"") @@ -40,9 +42,9 @@ else (REL_INFO_FILE STREQUAL REL_INFO_FILE-NOTFOUND) endif (REL_INFO_FILE STREQUAL REL_INFO_FILE-NOTFOUND) if (VERSION_SUFFIX STREQUAL "") - set (HG_VERSION_SUFFIX "${HG_VERSION}") + set (GIT_VERSION_SUFFIX "${GIT_VERSION}") else () - set (HG_VERSION_SUFFIX "${HG_VERSION} ${VERSION_SUFFIX}") + set (GIT_VERSION_SUFFIX "${GIT_VERSION} ${VERSION_SUFFIX}") endif () # build version.h from template diff --git a/AboutThisBuild.txt.in b/AboutThisBuild.txt.in index 2d8cf207e..b8ae4be1a 100644 --- a/AboutThisBuild.txt.in +++ b/AboutThisBuild.txt.in @@ -1,6 +1,6 @@ -Branch: ${HG_BRANCH} -Version: ${HG_VERSION_SUFFIX} -Changeset: ${HG_CHANGESET} +Branch: ${GIT_BRANCH} +Version: ${GIT_VERSION_SUFFIX} +Changeset: ${GIT_CHANGESET} Compiler: ${COMPILER_INFO} Processor: ${PROC_LABEL} System: ${SYSTEM} diff --git a/rtdata/CMakeLists.txt b/rtdata/CMakeLists.txt index 81620221d..d91e43994 100644 --- a/rtdata/CMakeLists.txt +++ b/rtdata/CMakeLists.txt @@ -19,16 +19,6 @@ else (WIN32) endif (WIN32) if (WIN32) - find_file(HG_CMD hg.exe HINTS ENV Path PATH_SUFFIXES ../) - # Fail if Mercurial is not installed - if (HG_CMD STREQUAL HG_CMD-NOTFOUND) - message(FATAL_ERROR "hg command not found!") - else (HG_CMD STREQUAL HG_CMD-NOTFOUND) - message(STATUS "hg command found: ${HG_CMD}") - execute_process(COMMAND ${HG_CMD} -R "${PROJECT_SOURCE_DIR}" parents --template={latesttag} WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}" OUTPUT_VARIABLE HG_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE) - execute_process(COMMAND ${HG_CMD} -R "${PROJECT_SOURCE_DIR}" parents --template={latesttagdistance} WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}" OUTPUT_VARIABLE HG_TAGDISTANCE OUTPUT_STRIP_TRAILING_WHITESPACE) - endif (HG_CMD STREQUAL HG_CMD-NOTFOUND) - if (CMAKE_SIZEOF_VOID_P EQUAL 4) set(BUILD_BIT_DEPTH 32) # 32 bits builds has to be installable on 64 bits system, to support WinXP/64. diff --git a/rtdata/win/InnoSetup/WindowsInnoSetup.iss.in b/rtdata/win/InnoSetup/WindowsInnoSetup.iss.in index 9333bd86a..42f2a0feb 100644 --- a/rtdata/win/InnoSetup/WindowsInnoSetup.iss.in +++ b/rtdata/win/InnoSetup/WindowsInnoSetup.iss.in @@ -23,8 +23,8 @@ #define MyAppName "RawTherapee" -#define MyAppVersion "${HG_VERSION}" -#define MyAppFullVersion "${HG_VERSION}.${HG_TAGDISTANCE}" +#define MyAppVersion "${GIT_VERSION}" +#define MyAppFullVersion "${GIT_VERSION}.${GIT_TAGDISTANCE}" #define MyAppPublisher "rawtherapee.com" #define MyAppURL "http://www.rawtherapee.com/" #define MyAppExeName "rawtherapee.exe" diff --git a/rtgui/version.h.in b/rtgui/version.h.in index 29e7ccbed..03630075b 100644 --- a/rtgui/version.h.in +++ b/rtgui/version.h.in @@ -4,9 +4,9 @@ #ifndef _VERSION_ #define _VERSION_ -#define VERSION "${HG_VERSION}" +#define VERSION "${GIT_VERSION}" #define VERSION_SUFFIX "${VERSION_SUFFIX}" -#define TAGDISTANCE ${HG_TAGDISTANCE} +#define TAGDISTANCE ${GIT_TAGDISTANCE} #define CACHEFOLDERNAME "RawTherapee${CACHE_NAME_SUFFIX}" #endif