From 56081fe4d671c9d58dea2d594f4aa6b35c9d6f3d Mon Sep 17 00:00:00 2001 From: Martin Braun Date: Wed, 7 Jan 2015 23:53:06 +0100 Subject: cmake: Added config.h back to the game --- host/CMakeLists.txt | 6 ++++++ host/cmake/Modules/UHDGlobalDefs.cmake | 30 ++++++++++++++++++++++++++++++ host/include/CMakeLists.txt | 6 +++++- host/include/config.h.in | 24 ++++++++++++++++++++++++ 4 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 host/cmake/Modules/UHDGlobalDefs.cmake create mode 100644 host/include/config.h.in 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) ######################################################################## @@ -189,6 +190,11 @@ MESSAGE(STATUS "Boost include directories: ${Boost_INCLUDE_DIRS}") MESSAGE(STATUS "Boost library directories: ${Boost_LIBRARY_DIRS}") MESSAGE(STATUS "Boost libraries: ${Boost_LIBRARIES}") +######################################################################## +# Additional settings for build environment +######################################################################## +INCLUDE(UHDGlobalDefs) + ######################################################################## # Check Python Modules ######################################################################## 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 . +# + +# 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 . # +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 . + */ + +#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@ -- cgit v1.2.3