ENH: for CVS CMake have cpack use the version date in the name of the package

This commit is contained in:
Bill Hoffman 2007-09-07 14:20:14 -04:00
parent 30ad13be94
commit de46b1c298
2 changed files with 24 additions and 3 deletions

View File

@ -10,10 +10,15 @@ IF(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake")
SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/Copyright.txt") SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/Copyright.txt")
SET(CPACK_PACKAGE_VERSION_MAJOR "${CMake_VERSION_MAJOR}") SET(CPACK_PACKAGE_VERSION_MAJOR "${CMake_VERSION_MAJOR}")
SET(CPACK_PACKAGE_VERSION_MINOR "${CMake_VERSION_MINOR}") SET(CPACK_PACKAGE_VERSION_MINOR "${CMake_VERSION_MINOR}")
# if version date is set then use that as the patch
IF(CMake_VERSION_DATE)
SET(CPACK_PACKAGE_VERSION_PATCH "${CMake_VERSION_DATE}")
ELSE(CMake_VERSION_DATE)
SET(CPACK_PACKAGE_VERSION_PATCH "${CMake_VERSION_PATCH}") SET(CPACK_PACKAGE_VERSION_PATCH "${CMake_VERSION_PATCH}")
ENDIF(CMake_VERSION_DATE)
SET(CPACK_PACKAGE_INSTALL_DIRECTORY "CMake ${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}") SET(CPACK_PACKAGE_INSTALL_DIRECTORY "CMake ${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}")
SET(CPACK_SOURCE_PACKAGE_FILE_NAME SET(CPACK_SOURCE_PACKAGE_FILE_NAME
"cmake-${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}.${CMake_VERSION_PATCH}") "cmake-${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
IF(CMake_VERSION_RC) IF(CMake_VERSION_RC)
SET(CPACK_SOURCE_PACKAGE_FILE_NAME SET(CPACK_SOURCE_PACKAGE_FILE_NAME
"${CPACK_SOURCE_PACKAGE_FILE_NAME}-RC-${CMake_VERSION_RC}") "${CPACK_SOURCE_PACKAGE_FILE_NAME}-RC-${CMake_VERSION_RC}")
@ -53,7 +58,7 @@ IF(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake")
SET(CPACK_PACKAGE_NAME cmake) SET(CPACK_PACKAGE_NAME cmake)
# setup the name of the package for cygwin cmake-2.4.3 # setup the name of the package for cygwin cmake-2.4.3
SET(CPACK_PACKAGE_FILE_NAME SET(CPACK_PACKAGE_FILE_NAME
"${CPACK_PACKAGE_NAME}-${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}.${CMake_VERSION_PATCH}") "${CPACK_PACKAGE_NAME}-${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
# the source has the same name as the binary # the source has the same name as the binary
SET(CPACK_SOURCE_PACKAGE_FILE_NAME ${CPACK_PACKAGE_FILE_NAME}) SET(CPACK_SOURCE_PACKAGE_FILE_NAME ${CPACK_PACKAGE_FILE_NAME})
# Create a cygwin version number in case there are changes for cygwin # Create a cygwin version number in case there are changes for cygwin

View File

@ -345,6 +345,22 @@ ENDMACRO (CMAKE_BUILD_UTILITIES)
SET(CMake_VERSION_MAJOR 2) SET(CMake_VERSION_MAJOR 2)
SET(CMake_VERSION_MINOR 5) SET(CMake_VERSION_MINOR 5)
SET(CMake_VERSION_PATCH 0) SET(CMake_VERSION_PATCH 0)
# CVS versions are odd, if this is an odd minor version
# then set the CMake_VERSION_DATE variable
MATH(EXPR OUT "${CMake_VERSION_MINOR} & 1")
IF(OUT EQUAL 1)
# extract the version Date from the cmVersion.cxx file
FILE(READ "${CMake_SOURCE_DIR}/Source/cmVersion.cxx"
CMAKE_VERSION_FILE_CONTENT)
STRING(REGEX MATCH "\\$Date: ([^ ]*) "
CMake_VERSION_DATE "${CMAKE_VERSION_FILE_CONTENT}")
STRING(REGEX REPLACE "\\$Date: ([^ ]*) " "\\1"
CMake_VERSION_DATE "${CMake_VERSION_DATE}")
STRING(REPLACE "/" "" CMake_VERSION_DATE
"${CMake_VERSION_DATE}")
ENDIF(OUT EQUAL 1)
SET(CMake_VERSION "${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}") SET(CMake_VERSION "${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}")
SET(CMake_VERSION_FULL "${CMake_VERSION}.${CMake_VERSION_PATCH}") SET(CMake_VERSION_FULL "${CMake_VERSION}.${CMake_VERSION_PATCH}")