aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorPiotr Krysik <ptrkrysik@gmail.com>2017-08-24 15:35:42 +0200
committerPiotr Krysik <ptrkrysik@gmail.com>2017-08-24 15:35:42 +0200
commitbb961c17fabea1c3c796131e5c4317cdfb21c9fa (patch)
treee3ae9a4929d3da8be7fd5d7eedc7ba847030eadc /lib
parent77868e4fa677c1b7964a4e948104de2b50d1570d (diff)
Added versioning borrowed fron GNU Radio to gr-gsm
Diffstat (limited to 'lib')
-rw-r--r--lib/CMakeLists.txt24
-rw-r--r--lib/constants.cc.in63
2 files changed, 87 insertions, 0 deletions
diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
index 1686de5..9880e58 100644
--- a/lib/CMakeLists.txt
+++ b/lib/CMakeLists.txt
@@ -21,6 +21,29 @@
# Setup library
########################################################################
include(GrPlatform) #define LIB_SUFFIX
+include(GrMiscUtils)
+
+########################################################################
+# Handle the generated constants
+########################################################################
+execute_process(COMMAND ${PYTHON_EXECUTABLE} -c
+ "import time;print time.strftime('%a, %d %b %Y %H:%M:%S', time.gmtime())"
+ OUTPUT_VARIABLE BUILD_DATE OUTPUT_STRIP_TRAILING_WHITESPACE
+)
+message(STATUS "Loading build date ${BUILD_DATE} into constants...")
+message(STATUS "Loading version ${VERSION} into constants...")
+
+#double escape for windows backslash path separators
+string(REPLACE "\\" "\\\\" prefix "${prefix}")
+
+configure_file(
+ ${CMAKE_CURRENT_SOURCE_DIR}/constants.cc.in
+ ${CMAKE_CURRENT_BINARY_DIR}/constants.cc
+ ESCAPE_QUOTES
+@ONLY)
+
+list(APPEND grgsm_sources ${CMAKE_CURRENT_BINARY_DIR}/constants.cc)
+#########################################################################
include_directories(${Boost_INCLUDE_DIR} receiver)
link_directories(${Boost_LIBRARY_DIRS})
@@ -85,6 +108,7 @@ target_link_libraries(grgsm ${Boost_LIBRARIES} ${GNURADIO_ALL_LIBRARIES} ${VOLK_
# boost_filesystem
)
set_target_properties(grgsm PROPERTIES DEFINE_SYMBOL "grgsm_EXPORTS")
+GR_LIBRARY_FOO(grgsm)
########################################################################
# Install built library files
diff --git a/lib/constants.cc.in b/lib/constants.cc.in
new file mode 100644
index 0000000..d56f45e
--- /dev/null
+++ b/lib/constants.cc.in
@@ -0,0 +1,63 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2006,2009,2013 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * GNU Radio is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3, or (at your option)
+ * any later version.
+ *
+ * GNU Radio is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GNU Radio; see the file COPYING. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#if HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <stdlib.h>
+#include <grgsm/constants.h>
+
+namespace gr {
+ namespace gsm{
+ const std::string
+ build_date()
+ {
+ return "@BUILD_DATE@";
+ }
+
+ const std::string
+ version()
+ {
+ return "@VERSION@";
+ }
+
+ // Return individual parts of the version
+ const std::string
+ major_version()
+ {
+ return "@MAJOR_VERSION@";
+ }
+
+ const std::string
+ api_version()
+ {
+ return "@API_COMPAT@";
+ }
+
+ const std::string
+ minor_version()
+ {
+ return "@MINOR_VERSION@";
+ }
+ } /* namespace gsm */
+} /* namespace gr */