summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJosh Blum <josh@joshknows.com>2010-07-16 18:29:16 -0700
committerJosh Blum <josh@joshknows.com>2010-07-16 18:29:16 -0700
commitef0ca3b183c8526d5895ba918abffc9624bb2290 (patch)
tree8721d291dffc9dda04374378b47e931119fa4b0b
parente1e3ed670ae4a2f8a4157977631ae8eed88f55b8 (diff)
parent1f1651ba46e55017bf598f0824b62be5ae2c5fd8 (diff)
downloaduhd-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/AUTHORS16
-rw-r--r--host/CMakeLists.txt24
-rw-r--r--host/config/CPack.cmake81
-rw-r--r--host/config/Python.cmake49
-rw-r--r--host/config/cmake_uninstall.cmake.in (renamed from host/cmake_uninstall.cmake.in)0
-rw-r--r--host/docs/build.rst6
-rw-r--r--host/lib/CMakeLists.txt26
-rw-r--r--host/uhd.pc.in4
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