diff options
-rw-r--r-- | host/AUTHORS | 16 | ||||
-rw-r--r-- | host/CMakeLists.txt | 24 | ||||
-rw-r--r-- | host/config/CPack.cmake | 81 | ||||
-rw-r--r-- | host/config/Python.cmake | 49 | ||||
-rw-r--r-- | host/config/cmake_uninstall.cmake.in (renamed from host/cmake_uninstall.cmake.in) | 0 | ||||
-rw-r--r-- | host/docs/build.rst | 6 | ||||
-rw-r--r-- | host/lib/CMakeLists.txt | 26 | ||||
-rw-r--r-- | host/uhd.pc.in | 4 |
8 files changed, 164 insertions, 42 deletions
diff --git a/host/AUTHORS b/host/AUTHORS index d0fe52768..137eba0e6 100644 --- a/host/AUTHORS +++ b/host/AUTHORS @@ -1 +1,17 @@ +Matt Ettus - matt@ettus.com + USRP1/USRP2 FPGA code + Josh Blum - josh@ettus.com + driver framework + USRP2 firmware + USRP2 host code + Basic/LF host code + XCVR2450 host code + RFX Series host code + +Jason Abele - jason@ettus.com + RFX Series host code + WBX host code + +Eric Blossom - eb@comsec.com + USRP2 firmware diff --git a/host/CMakeLists.txt b/host/CMakeLists.txt index 45e18993e..8e28ddb34 100644 --- a/host/CMakeLists.txt +++ b/host/CMakeLists.txt @@ -20,14 +20,10 @@ PROJECT(UHD CXX) ENABLE_TESTING() ######################################################################## -# Setup CPack +# Config Files ######################################################################## -SET(CPACK_PACKAGE_VERSION_MAJOR 0) -SET(CPACK_PACKAGE_VERSION_MINOR 0) -SET(CPACK_PACKAGE_VERSION_PATCH 0) -SET(CPACK_RESOURCE_FILE_README ${CMAKE_CURRENT_SOURCE_DIR}/README) -SET(CPACK_RESOURCE_FILE_LICENSE ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE) -INCLUDE(CPack) #include after setting vars +INCLUDE(${CMAKE_SOURCE_DIR}/config/Python.cmake) +INCLUDE(${CMAKE_SOURCE_DIR}/config/CPack.cmake) ######################################################################## # Install Dirs @@ -42,7 +38,7 @@ MESSAGE(STATUS "Using install prefix: ${CMAKE_INSTALL_PREFIX}") ######################################################################## # Local Include Dir ######################################################################## -INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include) +INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include) ######################################################################## # Optional Compiler Flags @@ -62,10 +58,10 @@ IF(NOT CMAKE_BUILD_TYPE) ENDIF(NOT CMAKE_BUILD_TYPE) IF(CMAKE_COMPILER_IS_GNUCXX) - UHD_ADD_OPTIONAL_CXX_COMPILER_FLAG(-Wall HAVE_WALL) - UHD_ADD_OPTIONAL_CXX_COMPILER_FLAG(-Wextra HAVE_WEXTRA) - UHD_ADD_OPTIONAL_CXX_COMPILER_FLAG(-pedantic HAVE_PEDANTIC) - UHD_ADD_OPTIONAL_CXX_COMPILER_FLAG(-ansi HAVE_ANSI) + ADD_DEFINITIONS(-Wall) + ADD_DEFINITIONS(-Wextra) + ADD_DEFINITIONS(-pedantic) + ADD_DEFINITIONS(-ansi) #only export symbols that are declared to be part of the uhd api: UHD_ADD_OPTIONAL_CXX_COMPILER_FLAG(-fvisibility=hidden HAVE_VISIBILITY_HIDDEN) ENDIF(CMAKE_COMPILER_IS_GNUCXX) @@ -86,7 +82,7 @@ IF(UNIX AND EXISTS "/usr/lib64") ENDIF(UNIX AND EXISTS "/usr/lib64") SET(Boost_ADDITIONAL_VERSIONS "1.42.0" "1.42" "1.43.0" "1.43") -FIND_PACKAGE(Boost 1.36 REQUIRED COMPONENTS +FIND_PACKAGE(Boost ${BOOST_MIN_VERSION} REQUIRED COMPONENTS date_time filesystem program_options @@ -103,7 +99,7 @@ LINK_DIRECTORIES(${Boost_LIBRARY_DIRS}) # Create Uninstall Target ######################################################################## CONFIGURE_FILE( - ${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in + ${CMAKE_SOURCE_DIR}/config/cmake_uninstall.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake @ONLY) diff --git a/host/config/CPack.cmake b/host/config/CPack.cmake new file mode 100644 index 000000000..ed4aeb717 --- /dev/null +++ b/host/config/CPack.cmake @@ -0,0 +1,81 @@ +# +# Copyright 2010 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/>. +# + +######################################################################## +# Setup Version Numbers +######################################################################## +SET(UHD_VERSION_MAJOR 0) +SET(UHD_VERSION_MINOR 0) +SET(UHD_VERSION_PATCH 0) + +######################################################################## +# Get the current YYYYMMDD HHMMSS timestamp +######################################################################## +EXECUTE_PROCESS( + COMMAND ${PYTHON_EXECUTABLE} -c "import time; print time.strftime('%Y%m%d', time.gmtime())" + OUTPUT_VARIABLE UHD_DATE OUTPUT_STRIP_TRAILING_WHITESPACE +) +SET(UHD_VERSION_MAJOR ${UHD_DATE}) + +EXECUTE_PROCESS( + COMMAND ${PYTHON_EXECUTABLE} -c "import time; print time.strftime('%H%M%S', time.gmtime())" + OUTPUT_VARIABLE UHD_TIME OUTPUT_STRIP_TRAILING_WHITESPACE +) +SET(UHD_VERSION_MINOR ${UHD_TIME}) + +######################################################################## +# Find GIT to get repo information +######################################################################## +MESSAGE(STATUS "Checking for git") +FIND_PROGRAM(GIT git) +IF(${GIT} STREQUAL "GIT-NOTFOUND") + MESSAGE(STATUS "Checking for git - not found") + SET(UHD_REV "unknown") +ELSE(${GIT} STREQUAL "GIT-NOTFOUND") + MESSAGE(STATUS "Checking for git - found") + EXECUTE_PROCESS( + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + COMMAND ${GIT} rev-parse --short HEAD + OUTPUT_VARIABLE UHD_REV OUTPUT_STRIP_TRAILING_WHITESPACE + ) +ENDIF(${GIT} STREQUAL "GIT-NOTFOUND") +SET(UHD_VERSION_PATCH ${UHD_REV}) + +######################################################################## +# Setup CPack +######################################################################## +SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Ettus Research - Universal Hardware Driver") +SET(CPACK_PACKAGE_VENDOR "Ettus Research LLC") +SET(CPACK_PACKAGE_CONTACT "support@ettus.com") +SET(CPACK_PACKAGE_VERSION_MAJOR ${UHD_VERSION_MAJOR}) +SET(CPACK_PACKAGE_VERSION_MINOR ${UHD_VERSION_MINOR}) +SET(CPACK_PACKAGE_VERSION_PATCH ${UHD_VERSION_PATCH}) +SET(CPACK_RESOURCE_FILE_README ${CMAKE_SOURCE_DIR}/README) +SET(CPACK_RESOURCE_FILE_LICENSE ${CMAKE_SOURCE_DIR}/LICENSE) +SET(BOOST_MIN_VERSION 1.36) #used in setup for boost +STRING(REPLACE "," ", " CPACK_DEBIAN_PACKAGE_DEPENDS + "libboost-date-time-dev (>= ${BOOST_MIN_VERSION})," + "libboost-filesystem-dev (>= ${BOOST_MIN_VERSION})," + "libboost-program-options-dev (>= ${BOOST_MIN_VERSION})," + "libboost-regex-dev (>= ${BOOST_MIN_VERSION})," + "libboost-system-dev (>= ${BOOST_MIN_VERSION})," + "libboost-test-dev (>= ${BOOST_MIN_VERSION})," + "libboost-thread-dev (>= ${BOOST_MIN_VERSION})" +) +SET(CPACK_DEBIAN_PACKAGE_RECOMMENDS "python, python-tk") +SET(CPACK_RPM_PACKAGE_REQUIRES "boost-devel >= ${BOOST_MIN_VERSION}") +INCLUDE(CPack) #include after setting vars diff --git a/host/config/Python.cmake b/host/config/Python.cmake new file mode 100644 index 000000000..55ef6acca --- /dev/null +++ b/host/config/Python.cmake @@ -0,0 +1,49 @@ +# +# Copyright 2010 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/>. +# + +######################################################################## +# Setup Python +######################################################################## +INCLUDE(FindPythonInterp) + +IF(NOT PYTHONINTERP_FOUND) + MESSAGE(FATAL_ERROR "Error: Python interpretor required by the build system.") +ENDIF(NOT PYTHONINTERP_FOUND) + +MACRO(PYTHON_CHECK_MODULE module have) + MESSAGE(STATUS "Checking for python module ${module}") + EXECUTE_PROCESS( + COMMAND ${PYTHON_EXECUTABLE} -c "import ${module}" + RESULT_VARIABLE ${have} + ) + IF(${have} EQUAL 0) + MESSAGE(STATUS "Checking for python module ${module} - found") + SET(${have} TRUE) + ELSE(${have} EQUAL 0) + MESSAGE(STATUS "Checking for python module ${module} - not found") + SET(${have} FALSE) + ENDIF(${have} EQUAL 0) +ENDMACRO(PYTHON_CHECK_MODULE) + +######################################################################## +# Check Modules +######################################################################## +PYTHON_CHECK_MODULE("Cheetah" HAVE_PYTHON_MODULE_CHEETAH) + +IF(NOT HAVE_PYTHON_MODULE_CHEETAH) + MESSAGE(FATAL_ERROR "Error: Cheetah Templates required by the build system.") +ENDIF(NOT HAVE_PYTHON_MODULE_CHEETAH) diff --git a/host/cmake_uninstall.cmake.in b/host/config/cmake_uninstall.cmake.in index 6031a6ca9..6031a6ca9 100644 --- a/host/cmake_uninstall.cmake.in +++ b/host/config/cmake_uninstall.cmake.in diff --git a/host/docs/build.rst b/host/docs/build.rst index 6f0afdb6e..8f0d0db59 100644 --- a/host/docs/build.rst +++ b/host/docs/build.rst @@ -147,6 +147,12 @@ Build the project in MSVC **Note:** you may not have permission to build the install target. You need to be an administrator or to run MSVC as administrator. +** alternative command line instructions ** + +* Open the Visual Studio Command Prompt Shorcut +* DevEnv <uhd-repo-path>\host\build\ALL_BUILD.vcproj /Build Release +* DevEnv <uhd-repo-path>\host\build\INSTALL.vcproj /Build Release + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Setup the PATH environment variable ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/host/lib/CMakeLists.txt b/host/lib/CMakeLists.txt index d13c43bfb..cc60dfbba 100644 --- a/host/lib/CMakeLists.txt +++ b/host/lib/CMakeLists.txt @@ -16,32 +16,6 @@ # ######################################################################## -# Setup Python -######################################################################## -INCLUDE(FindPythonInterp) - -MACRO(PYTHON_CHECK_MODULE module have) - MESSAGE(STATUS "Checking for python module ${module}") - EXECUTE_PROCESS( - COMMAND ${PYTHON_EXECUTABLE} -c "import ${module}" - RESULT_VARIABLE ${have} - ) - IF(${have} EQUAL 0) - MESSAGE(STATUS "Checking for python module ${module} - found") - SET(${have} TRUE) - ELSE(${have} EQUAL 0) - MESSAGE(STATUS "Checking for python module ${module} - not found") - SET(${have} FALSE) - ENDIF(${have} EQUAL 0) -ENDMACRO(PYTHON_CHECK_MODULE) - -PYTHON_CHECK_MODULE("Cheetah" HAVE_PYTHON_MODULE_CHEETAH) - -IF(NOT HAVE_PYTHON_MODULE_CHEETAH) - MESSAGE(FATAL_ERROR "Error: Cheetah Templates needed for pre-build generation.") -ENDIF(NOT HAVE_PYTHON_MODULE_CHEETAH) - -######################################################################## # Helpful Macros ######################################################################## MACRO(LIBUHD_APPEND_SOURCES) diff --git a/host/uhd.pc.in b/host/uhd.pc.in index 2a34e9cfd..536f254ed 100644 --- a/host/uhd.pc.in +++ b/host/uhd.pc.in @@ -1,10 +1,10 @@ prefix=@CMAKE_INSTALL_PREFIX@ exec_prefix=${prefix} -libdir=${prefix}/@LIBRARY_DIR@ +libdir=${exec_prefix}/@LIBRARY_DIR@ includedir=${prefix}/@INCLUDE_DIR@ Name: @CPACK_PACKAGE_NAME@ -Description: Universal Hardware Driver +Description: @CPACK_PACKAGE_DESCRIPTION_SUMMARY@ Requires: Version: @CPACK_PACKAGE_VERSION@ Libs: -L${libdir} -luhd |