]> granicus.if.org Git - check/commitdiff
cmake: extract check version from configure.ac
authorbrarcher <brarcher@64e312b2-a51f-0410-8e61-82d0ca0eb02a>
Thu, 2 Jan 2014 02:42:47 +0000 (02:42 +0000)
committerbrarcher <brarcher@64e312b2-a51f-0410-8e61-82d0ca0eb02a>
Thu, 2 Jan 2014 02:42:47 +0000 (02:42 +0000)
git-svn-id: svn+ssh://svn.code.sf.net/p/check/code/trunk@991 64e312b2-a51f-0410-8e61-82d0ca0eb02a

CMakeLists.txt

index 6e7571d8bd4a6559d90ea90a4d94b25d6f61eabe..0cde82313b1ee2f4d8d2652f475632f545a44763 100644 (file)
@@ -24,10 +24,15 @@ project(check C)
 cmake_minimum_required(VERSION 2.8 FATAL_ERROR)
 set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
 
-# TODO: extract from configure.ac
-set(CHECK_MAJOR_VERSION 0)
-set(CHECK_MINOR_VERSION 9)
-set(CHECK_MICRO_VERSION 6)
+macro(extract_version file setting_name)
+  file(STRINGS ${file} VERSION_NUMBER REGEX "^${setting_name}")
+  string(REPLACE "=" ";" VERSION_NUMBER_LIST ${VERSION_NUMBER})
+  list(GET VERSION_NUMBER_LIST 1 ${setting_name})
+endmacro(extract_version)
+
+extract_version(configure.ac CHECK_MAJOR_VERSION)
+extract_version(configure.ac CHECK_MINOR_VERSION)
+extract_version(configure.ac CHECK_MICRO_VERSION)
 
 set(CHECK_VERSION
   "${CHECK_MAJOR_VERSION}.${CHECK_MINOR_VERSION}.${CHECK_MICRO_VERSION}")