Merge branch 'package'

Also tweaked pkg config file

Conflicts:
	host/CMakeLists.txt
This commit is contained in:
Josh Blum 2010-07-16 18:29:16 -07:00
commit ef0ca3b183
8 changed files with 164 additions and 42 deletions

View File

@ -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

View File

@ -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)

81
host/config/CPack.cmake Normal file
View File

@ -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

49
host/config/Python.cmake Normal file
View File

@ -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)

View File

@ -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
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

View File

@ -15,32 +15,6 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
########################################################################
# 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
########################################################################

View File

@ -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