From 66616e816bb38d770c77de1daacf385a0ca5693f Mon Sep 17 00:00:00 2001 From: hobbes1069 Date: Fri, 7 Aug 2015 02:29:04 +0000 Subject: [PATCH] Move version control of FreeDV to the cmake config. Also makes versioning of the win32 installer easier and includes suffix tags. git-svn-id: https://svn.code.sf.net/p/freetel/code@2259 01035d8c-6547-0410-b346-abe4f91aad63 --- fdmdv2-dev/CMakeLists.txt | 35 +++++++++++++++++++---------------- fdmdv2-dev/cmake/version.h.in | 11 +++++++++++ fdmdv2-dev/src/CMakeLists.txt | 2 +- fdmdv2-dev/src/version.h | 11 ----------- 4 files changed, 31 insertions(+), 28 deletions(-) create mode 100644 fdmdv2-dev/cmake/version.h.in delete mode 100644 fdmdv2-dev/src/version.h diff --git a/fdmdv2-dev/CMakeLists.txt b/fdmdv2-dev/CMakeLists.txt index 8b17821f..afdd8a3a 100644 --- a/fdmdv2-dev/CMakeLists.txt +++ b/fdmdv2-dev/CMakeLists.txt @@ -25,21 +25,21 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake") project(FreeDV) # -# Parse FreeDV version from src/version.h -# -file(READ "${CMAKE_SOURCE_DIR}/src/version.h" _VERSION_H) -string(REGEX REPLACE ".*FREEDV_VERSION_MAJOR ([0-9]+).*" "\\1" - FREEDV_VERSION_MAJOR "${_VERSION_H}") -string(REGEX REPLACE ".*FREEDV_VERSION_MINOR ([0-9]+).*" "\\1" - FREEDV_VERSION_MINOR "${_VERSION_H}") -string(REGEX REPLACE ".*FREEDV_VERSION_PATCH ([0-9]+).*" "\\1" - FREEDV_VERSION_PATCH "${_VERSION_H}") -set(FREEDV_VERSION "${FREEDV_VERSION_MAJOR}.${FREEDV_VERSION_MINOR}") +# Set FreeDV version and generate src/version.h +# +set(FREEDV_VERSION_MAJOR 0) +set(FREEDV_VERSION_MINOR 99) +set(FREEDV_VERSION_PATCH FALSE) +set(FREEDV_VERSION ${FREEDV_VERSION_MAJOR}.${FREEDV_VERSION_MINOR}) if(FREEDV_VERSION_PATCH) set(FREEDV_VERSION ${FREEDV_VERSION}.${FREEDV_VERSION_PATCH}) -endif(FREEDV_VERSION_PATCH) - -message(STATUS "FreeDV version: ${FREEDV_VERSION}") +endif() +set(FREEDV_VERSION_SUFFIX "Beta") +if(FREEDV_VERSION_SUFFIX) + set(FREEDV_VERSION_STRING "${FREEDV_VERSION} ${FREEDV_VERSION_SUFFIX}") +endif() +message(STATUS "FreeDV version: ${FREEDV_VERSION_STRING}") +configure_file(cmake/version.h.in src/version.h @ONLY) # Set default build type if(NOT CMAKE_BUILD_TYPE) @@ -463,12 +463,15 @@ if(WIN32) set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/COPYING") set(CPACK_PACKAGE_VERSION_MAJOR ${FREEDV_VERSION_MAJOR}) set(CPACK_PACKAGE_VERSION_MINOR ${FREEDV_VERSION_MINOR}) + # CPack expects a patch level version so set it here and override if we + # are actually setting one. + set(CPACK_PACKAGE_VERSION_PATCH 0) if(FREEDV_VERSION_PATCH) set(CPACK_PACKAGE_VERSION_PATCH ${FREEDV_VERSION_PATCH}) - else() - set(CPACK_PACKAGE_VERSION_PATCH "0") endif() - set(CPACK_PACKAGE_EXECUTABLES freedv;FreeDV) + if(FREEDV_VERSION_SUFFIX) + set(CPACK_PACKAGE_VERSION_PATCH "${CPACK_PACKAGE_VERSION_PATCH}-${FREEDV_VERSION_SUFFIX}") + endif() # There is a bug in NSI that does not handle full unix paths properly. Make # sure there is at least one set of four (4) backlasshes. #set(CPACK_PACKAGE_ICON "${CMake_SOURCE_DIR}/Utilities/Release\\\\InstallIcon.bmp") diff --git a/fdmdv2-dev/cmake/version.h.in b/fdmdv2-dev/cmake/version.h.in new file mode 100644 index 00000000..43b3b7a8 --- /dev/null +++ b/fdmdv2-dev/cmake/version.h.in @@ -0,0 +1,11 @@ +#ifndef FREEDV_VER_DOT_H +#define FREEDV_VER_DOT_H 1 + +#define FREEDV_VERSION_MAJOR @FREEDV_VERSION_MAJOR@ +#define FREEDV_VERSION_MINOR @FREEDV_VERSION_MINOR@ +#define FREEDV_VERSION_PATCH @FREEDV_VERSION_PATCH@ +#define FREEDV_VERSION_SUFFIX "@FREEDV_VERSION_SUFFIX@" + +#define FREEDV_VERSION "@FREEDV_VERSION_STRING@" + +#endif //FREEDV_VER_DOT_H diff --git a/fdmdv2-dev/src/CMakeLists.txt b/fdmdv2-dev/src/CMakeLists.txt index ac30ad8b..44ccfe7c 100644 --- a/fdmdv2-dev/src/CMakeLists.txt +++ b/fdmdv2-dev/src/CMakeLists.txt @@ -36,7 +36,7 @@ set(FREEDV_SOURCES # WIN32 is needed for Windows GUI apps and is ignored for UNIX like systems. add_executable(freedv WIN32 ${FREEDV_SOURCES} ${RES_FILES}) target_link_libraries(freedv ${FREEDV_LINK_LIBS}) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}) +include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) if(FREEDV_STATIC_DEPS) add_dependencies(freedv ${FREEDV_STATIC_DEPS}) endif(FREEDV_STATIC_DEPS) diff --git a/fdmdv2-dev/src/version.h b/fdmdv2-dev/src/version.h deleted file mode 100644 index 944dab99..00000000 --- a/fdmdv2-dev/src/version.h +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef FREEDV_VER_DOT_H -#define FREEDV_VER_DOT_H 1 - -#define FREEDV_VERSION_MAJOR 0 -#define FREEDV_VERSION_MINOR 98 -#define FREEDV_VERSION_PATCH 0 -#define FREEDV_VERSION_SUFFIX "Beta" - -#define FREEDV_VERSION "0.98.0 Beta" - -#endif //FREEDV_VER_DOT_H -- 2.25.1