diff options
-rw-r--r-- | CMakeLists.txt | 71 | ||||
-rw-r--r-- | cmakeconfig.h.in | 3 | ||||
-rw-r--r-- | configure.ac | 12 |
3 files changed, 55 insertions, 31 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 379286843d..78fecd3340 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -33,42 +33,53 @@ if(COMMAND cmake_policy) # cmake_policy(SET CMP0015 NEW) endif(COMMAND cmake_policy) -# set(PROJECT_VERSION "1.3.4-rc5") -# set(PROJECT_VERSION "1.3.4rc5") -# set(PROJECT_VERSION "1.3.4") -# If not set, copy over Wireshark version from configure.ac AC_INIT -if(NOT PROJECT_VERSION) +# set(PROJECT_MAJOR_VERSION 1) +# set(PROJECT_MINOR_VERSION 9) +# set(PROJECT_PATCH_VERSION 0) +# set(PROJECT_VERSION_EXTENSION "-rc5") +# If not set, copy over Wireshark version from configure.ac +if(NOT PROJECT_MAJOR_VERSION) file(STRINGS ${CMAKE_SOURCE_DIR}/configure.ac - VERSIONLINE - REGEX "\\(wireshark, .*\\)" + PROJECT_MAJOR_VERSION_TMP + REGEX "^m4_define\\(version_major, [0-9]+\\)" ) - string(REGEX REPLACE ".*\\(wireshark, ([^,)]*).*" + file(STRINGS + ${CMAKE_SOURCE_DIR}/configure.ac + PROJECT_MINOR_VERSION_TMP + REGEX "^m4_define\\(version_minor, [0-9]+\\)" + ) + file(STRINGS + ${CMAKE_SOURCE_DIR}/configure.ac + PROJECT_PATCH_VERSION_TMP + REGEX "^m4_define\\(version_micro, [0-9]+\\)" + ) + # XXX pull VERSION_EXTENSION out of configure.ac ? + + string(REGEX REPLACE "m4_define\\(version_major, ([0-9]+)\\)" + "\\1" + PROJECT_MAJOR_VERSION + ${PROJECT_MAJOR_VERSION_TMP} + ) + string(REGEX REPLACE "m4_define\\(version_minor, ([0-9]+)\\)" + "\\1" + PROJECT_MINOR_VERSION + ${PROJECT_MINOR_VERSION_TMP} + ) + string(REGEX REPLACE "m4_define\\(version_micro, ([0-9]+)\\)" "\\1" - PROJECT_VERSION - ${VERSIONLINE} + PROJECT_PATCH_VERSION + ${PROJECT_PATCH_VERSION_TMP} ) endif() -string(REGEX REPLACE "([0-9]+)\\..*" - "\\1" - PROJECT_MAJOR_VERSION - ${PROJECT_VERSION} -) -string(REGEX REPLACE ".*\\.([0-9]+)\\..*" - "\\1" - PROJECT_MINOR_VERSION - ${PROJECT_VERSION} -) -string(REGEX REPLACE ".*\\..*\\.([0-9]+).*" - "\\1" - PROJECT_PATCH_VERSION - ${PROJECT_VERSION} -) -string(REGEX REPLACE ".*\\..*\\.[0-9]+(.*)" - "\\1" - PROJECT_VERSION_EXTENSION - ${PROJECT_VERSION} -) + + +if(PROJECT_VERSION_EXTENSION) + set(PROJECT_VERSION ${PROJECT_MAJOR_VERSION}.${PROJECT_MINOR_VERSION}.${PROJECT_PATCH_VERSION}${PROJECT_VERSION_EXTENSION}) +else() + set(PROJECT_VERSION ${PROJECT_MAJOR_VERSION}.${PROJECT_MINOR_VERSION}.${PROJECT_PATCH_VERSION}) +endif() + message(STATUS "V: ${PROJECT_VERSION}, MaV: ${PROJECT_MAJOR_VERSION}, MiV: ${PROJECT_MINOR_VERSION}, PL: ${PROJECT_PATCH_VERSION}, EV: ${PROJECT_VERSION_EXTENSION}.") #Where to find local cmake scripts diff --git a/cmakeconfig.h.in b/cmakeconfig.h.in index 52777aef49..f8cd1cd0c5 100644 --- a/cmakeconfig.h.in +++ b/cmakeconfig.h.in @@ -7,6 +7,9 @@ /* Version number of package */ #define VERSION "${CPACK_PACKAGE_VERSION}" +#define VERSION_MAJOR "${PROJECT_MAJOR_VERSION}" +#define VERSION_MINOR "${PROJECT_MINOR_VERSION}" +#define VERSION_MICRO "${PROJECT_PATCH_VERSION}" /* FIXME: Move the path stuff to the CMakeInstallDirs.cmake file */ /* Directory for data */ diff --git a/configure.ac b/configure.ac index 978c376bf5..fe9ab80566 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,12 @@ # AC_PREREQ(2.60) -AC_INIT(wireshark, 1.9.0, http://bugs.wireshark.org/, , http://www.wireshark.org/) +m4_define(version_major, 1) +m4_define(version_minor, 9) +m4_define(version_micro, 0) +# XXX version_extra ? + +AC_INIT(wireshark, [version_major.version_minor.version_micro], http://bugs.wireshark.org/, , http://www.wireshark.org/) dnl Check for CPU / vendor / OS dnl The user is encouraged to use either `AC_CANONICAL_BUILD', or @@ -26,6 +31,11 @@ AC_CANONICAL_TARGET AM_INIT_AUTOMAKE([1.9 tar-ustar dist-bzip2 no-dist-gzip]) +# Make Wireshark's version available in config.h +AC_DEFINE(VERSION_MAJOR, version_major, [Wireshark's major version]) +AC_DEFINE(VERSION_MINOR, version_minor, [Wireshark's minor version]) +AC_DEFINE(VERSION_MICRO, version_micro, [Wireshark's micro version]) + AM_DISABLE_STATIC dnl Checks for programs. |