diff options
| author | Josh Blum <josh@joshknows.com> | 2010-07-16 18:29:16 -0700 | 
|---|---|---|
| committer | Josh Blum <josh@joshknows.com> | 2010-07-16 18:29:16 -0700 | 
| commit | ef0ca3b183c8526d5895ba918abffc9624bb2290 (patch) | |
| tree | 8721d291dffc9dda04374378b47e931119fa4b0b | |
| parent | e1e3ed670ae4a2f8a4157977631ae8eed88f55b8 (diff) | |
| parent | 1f1651ba46e55017bf598f0824b62be5ae2c5fd8 (diff) | |
| download | uhd-ef0ca3b183c8526d5895ba918abffc9624bb2290.tar.gz uhd-ef0ca3b183c8526d5895ba918abffc9624bb2290.tar.bz2 uhd-ef0ca3b183c8526d5895ba918abffc9624bb2290.zip | |
Merge branch 'package'
Also tweaked pkg config file
Conflicts:
	host/CMakeLists.txt
| -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 | 
