summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBill Hoffman <bill.hoffman@kitware.com>2007-09-07 14:20:14 -0400
committerBill Hoffman <bill.hoffman@kitware.com>2007-09-07 14:20:14 -0400
commitde46b1c29833330d0c0f704e1af842a0c51618be (patch)
tree7466be0778c8dc3054e20d3e2c16afe08280bc5d
parent30ad13be942dae768d6c3e8f1ab21e9e9568f966 (diff)
downloadcmake-de46b1c29833330d0c0f704e1af842a0c51618be.tar.gz
ENH: for CVS CMake have cpack use the version date in the name of the package
-rw-r--r--CMakeCPack.cmake11
-rw-r--r--CMakeLists.txt16
2 files changed, 24 insertions, 3 deletions
diff --git a/CMakeCPack.cmake b/CMakeCPack.cmake
index f676349792..9e6d831e6a 100644
--- a/CMakeCPack.cmake
+++ b/CMakeCPack.cmake
@@ -10,10 +10,15 @@ IF(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake")
SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/Copyright.txt")
SET(CPACK_PACKAGE_VERSION_MAJOR "${CMake_VERSION_MAJOR}")
SET(CPACK_PACKAGE_VERSION_MINOR "${CMake_VERSION_MINOR}")
- SET(CPACK_PACKAGE_VERSION_PATCH "${CMake_VERSION_PATCH}")
+# 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}")
+ ENDIF(CMake_VERSION_DATE)
SET(CPACK_PACKAGE_INSTALL_DIRECTORY "CMake ${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}")
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)
SET(CPACK_SOURCE_PACKAGE_FILE_NAME
"${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)
# setup the name of the package for cygwin cmake-2.4.3
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
SET(CPACK_SOURCE_PACKAGE_FILE_NAME ${CPACK_PACKAGE_FILE_NAME})
# Create a cygwin version number in case there are changes for cygwin
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 89bbc546f0..a5030e39fe 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -345,6 +345,22 @@ ENDMACRO (CMAKE_BUILD_UTILITIES)
SET(CMake_VERSION_MAJOR 2)
SET(CMake_VERSION_MINOR 5)
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_FULL "${CMake_VERSION}.${CMake_VERSION_PATCH}")