Move version control of FreeDV to the cmake config. Also makes versioning of the...
authorhobbes1069 <hobbes1069@01035d8c-6547-0410-b346-abe4f91aad63>
Fri, 7 Aug 2015 02:29:04 +0000 (02:29 +0000)
committerhobbes1069 <hobbes1069@01035d8c-6547-0410-b346-abe4f91aad63>
Fri, 7 Aug 2015 02:29:04 +0000 (02:29 +0000)
git-svn-id: https://svn.code.sf.net/p/freetel/code@2259 01035d8c-6547-0410-b346-abe4f91aad63

fdmdv2-dev/CMakeLists.txt
fdmdv2-dev/cmake/version.h.in [new file with mode: 0644]
fdmdv2-dev/src/CMakeLists.txt
fdmdv2-dev/src/version.h [deleted file]

index 8b17821f9623e0bc52eb7e58e9294d9fd0b3d0df..afdd8a3ae6db0175fd591086eb2887a84d8688b4 100644 (file)
@@ -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 (file)
index 0000000..43b3b7a
--- /dev/null
@@ -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
index ac30ad8b33bd5214f47229ea764bef5e22c33311..44ccfe7c935cdc39affd890236e2dc1e5fddc9fd 100644 (file)
@@ -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 (file)
index 944dab9..0000000
+++ /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