summaryrefslogtreecommitdiffstats
path: root/Source/CMakeVersionCompute.cmake
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2013-09-19 19:45:41 (GMT)
committerBrad King <brad.king@kitware.com>2013-10-15 14:46:53 (GMT)
commitc72f8513f7adc764aafd94f2deb9071ee1f261d9 (patch)
treea28ce45606ca096a5484ed7f88a3f5cab0459799 /Source/CMakeVersionCompute.cmake
parent82578d995ac6a9c0e669aaf3911e3589631dc337 (diff)
downloadCMake-c72f8513f7adc764aafd94f2deb9071ee1f261d9.zip
CMake-c72f8513f7adc764aafd94f2deb9071ee1f261d9.tar.gz
CMake-c72f8513f7adc764aafd94f2deb9071ee1f261d9.tar.bz2
Factor CMake version logic into dedicated module
Move logic to compute CMake_VERSION out of the top-level CMakeLists.txt file to a dedicated Source/CMakeVersionCompute.cmake module and include it from the original location. This will allow it to be re-used.
Diffstat (limited to 'Source/CMakeVersionCompute.cmake')
-rw-r--r--Source/CMakeVersionCompute.cmake23
1 files changed, 23 insertions, 0 deletions
diff --git a/Source/CMakeVersionCompute.cmake b/Source/CMakeVersionCompute.cmake
new file mode 100644
index 0000000..a166334
--- /dev/null
+++ b/Source/CMakeVersionCompute.cmake
@@ -0,0 +1,23 @@
+# Load version number components.
+include(${CMake_SOURCE_DIR}/Source/CMakeVersion.cmake)
+
+# Releases define a small tweak level.
+if("${CMake_VERSION_TWEAK}" VERSION_LESS 20000000)
+ set(CMake_VERSION_IS_RELEASE 1)
+ set(CMake_VERSION_SOURCE "")
+else()
+ set(CMake_VERSION_IS_RELEASE 0)
+ include(${CMake_SOURCE_DIR}/Source/CMakeVersionSource.cmake)
+endif()
+
+# Compute the full version string.
+set(CMake_VERSION ${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}.${CMake_VERSION_PATCH})
+if(${CMake_VERSION_TWEAK} GREATER 0)
+ set(CMake_VERSION ${CMake_VERSION}.${CMake_VERSION_TWEAK})
+endif()
+if(CMake_VERSION_RC)
+ set(CMake_VERSION ${CMake_VERSION}-rc${CMake_VERSION_RC})
+endif()
+if(CMake_VERSION_SOURCE)
+ set(CMake_VERSION ${CMake_VERSION}-${CMake_VERSION_SOURCE})
+endif()