aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--host/CMakeLists.txt6
-rw-r--r--host/cmake/Modules/UHDGlobalDefs.cmake30
-rw-r--r--host/include/CMakeLists.txt6
-rw-r--r--host/include/config.h.in24
4 files changed, 65 insertions, 1 deletions
diff --git a/host/CMakeLists.txt b/host/CMakeLists.txt
index 856f1ec70..67a824c8f 100644
--- a/host/CMakeLists.txt
+++ b/host/CMakeLists.txt
@@ -62,6 +62,7 @@ SET(PKG_MAN_DIR share/man/man1)
########################################################################
# Local Include Dir
########################################################################
+INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}/include)
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
########################################################################
@@ -190,6 +191,11 @@ MESSAGE(STATUS "Boost library directories: ${Boost_LIBRARY_DIRS}")
MESSAGE(STATUS "Boost libraries: ${Boost_LIBRARIES}")
########################################################################
+# Additional settings for build environment
+########################################################################
+INCLUDE(UHDGlobalDefs)
+
+########################################################################
# Check Python Modules
########################################################################
INCLUDE(UHDPython)
diff --git a/host/cmake/Modules/UHDGlobalDefs.cmake b/host/cmake/Modules/UHDGlobalDefs.cmake
new file mode 100644
index 000000000..b4c0173ea
--- /dev/null
+++ b/host/cmake/Modules/UHDGlobalDefs.cmake
@@ -0,0 +1,30 @@
+#
+# Copyright 2015 Ettus Research LLC
+#
+# This program 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 of the License, or
+# (at your option) any later version.
+#
+# This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
+#
+
+# This file sets up all the stuff for the config.h file
+
+INCLUDE(CheckCXXSymbolExists)
+
+## Check for std::log2
+CHECK_CXX_SYMBOL_EXISTS("log2" "cmath" HAVE_LOG2)
+
+## Macros for the version number
+MATH(EXPR UHD_VERSION_ADDED "10000 * ${TRIMMED_VERSION_MAJOR} + 100 * ${TRIMMED_VERSION_MINOR} + ${TRIMMED_VERSION_PATCH}")
+ADD_DEFINITIONS(-DUHD_VERSION=${UHD_VERSION_ADDED})
+
+## make sure the code knows about config.h
+ADD_DEFINITIONS(-DHAVE_CONFIG_H)
diff --git a/host/include/CMakeLists.txt b/host/include/CMakeLists.txt
index 3f7ca2cb7..780213918 100644
--- a/host/include/CMakeLists.txt
+++ b/host/include/CMakeLists.txt
@@ -1,5 +1,5 @@
#
-# Copyright 2010 Ettus Research LLC
+# Copyright 2010,2015 Ettus Research LLC
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,5 +15,9 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
+CONFIGURE_FILE(
+ ${CMAKE_CURRENT_SOURCE_DIR}/config.h.in
+ ${CMAKE_CURRENT_BINARY_DIR}/config.h
+)
ADD_SUBDIRECTORY(uhd)
diff --git a/host/include/config.h.in b/host/include/config.h.in
new file mode 100644
index 000000000..bd690299e
--- /dev/null
+++ b/host/include/config.h.in
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2015 Ettus Research LLC
+ *
+ * This program 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 of the License, or
+ * (at your option) any later version.
+ *
+ * This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#cmakedefine HAVE_LOG2
+
+/* Version macros */
+#cmakedefine UHD_VERSION_MAJOR ${TRIMMED_VERSION_MAJOR}
+#cmakedefine UHD_VERSION_MINOR ${TRIMMED_VERSION_MINOR}
+#cmakedefine UHD_VERSION_PATCH ${TRIMMED_VERSION_PATCH}
+#cmakedefine UHD_VERSION @UHD_VERSION_ADDED@