diff options
author | Jeff Morriss <jeff.morriss.ws@gmail.com> | 2012-09-18 21:42:13 +0000 |
---|---|---|
committer | Jeff Morriss <jeff.morriss.ws@gmail.com> | 2012-09-18 21:42:13 +0000 |
commit | 5ee932193f8d420cb1839347769841e82f3d8185 (patch) | |
tree | 6d62fcc8d4d29869405fa838d142664c4a0d5728 /CMakeLists.txt | |
parent | b6e0cc28a56a0547c13d4547328bf827d8a66895 (diff) |
*NIX (autofoo and cmake) part of the fix for
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6134 :
Make VERSION_MAJOR, VERSION_MINOR, and VERSION_MICRO available in config.h so
(e.g.) dissector writers can #if around them as necessary to make a piece of
code compile with different versions of Wireshark. (Hopefully VERSION_MICRO
is not important in this respect!)
Windows also defines VERSION_EXTRA which can be used to help identify custom
builds; this is not done for these build methods (yet?).
svn path=/trunk/; revision=44986
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 71 |
1 files changed, 41 insertions, 30 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 |