diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt index ad1c62a0b..bbe7f2930 100644 --- a/src/common/CMakeLists.txt +++ b/src/common/CMakeLists.txt @@ -11,20 +11,24 @@ if (MESHLAB_IS_NIGHTLY_VERSION) WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" OUTPUT_VARIABLE GIT_SHA1 ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE) - if (BUILD_WITH_DOUBLE_SCALAR) - set(MESHLAB_VERSION "${MESHLAB_VERSION}d") - endif() set(MESHLAB_VERSION "${MESHLAB_VERSION}_nightly_${GIT_SHA1}") else() if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/../../ML_VERSION") # YYYY and mm are read from file file(READ "${CMAKE_CURRENT_SOURCE_DIR}/../../ML_VERSION" MESHLAB_VERSION) endif() - # if double precision version, "d" is appended - if (BUILD_WITH_DOUBLE_SCALAR) - set(MESHLAB_VERSION "${MESHLAB_VERSION}d") - endif() endif() + +# if double precision version, "d" is inserted after 7 chars (YYYY.mmd*) +if (BUILD_WITH_DOUBLE_SCALAR) + string(LENGTH ${MESHLAB_VERSION} MLV_LEN) + MATH(EXPR MLV_POSTFIX_LEN "${MLV_LEN}-7") # how many chars there are adter YYYY.mm + string(SUBSTRING ${MESHLAB_VERSION} 0 7 MLV_PREFIX) + string(SUBSTRING ${MESHLAB_VERSION} 7 ${MLV_POSTFIX_LEN} MLV_POSTFIX) + set(MESHLAB_VERSION "${MLV_PREFIX}d${MLV_POSTFIX}") +endif() + + set(MESHLAB_VERSION ${MESHLAB_VERSION} PARENT_SCOPE) message(STATUS "MeshLab version: ${MESHLAB_VERSION}")