From a4b1c4485ac6394c3d67d11d844fc4cff56307d8 Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Sun, 27 Jun 2010 22:10:31 -0700 Subject: uhd: support for deb and rpm packages, added dependency requirements --- host/CMakeLists.txt | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) (limited to 'host') diff --git a/host/CMakeLists.txt b/host/CMakeLists.txt index c60372fb9..3b887bd19 100644 --- a/host/CMakeLists.txt +++ b/host/CMakeLists.txt @@ -27,6 +27,19 @@ 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) +SET(CPACK_PACKAGE_CONTACT "support@ettus.com") +SET(BOOST_MIN_VERSION 1.36) #used in setup boost below +SET(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 ######################################################################## @@ -62,10 +75,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) @@ -82,7 +95,7 @@ ENDIF(MSVC) # Setup Boost ######################################################################## SET(Boost_ADDITIONAL_VERSIONS "1.42.0" "1.42") -FIND_PACKAGE(Boost 1.36 REQUIRED COMPONENTS +FIND_PACKAGE(Boost ${BOOST_MIN_VERSION} REQUIRED COMPONENTS date_time filesystem program_options -- cgit v1.2.3 From 3f1d313c9ffd30c70c609748696b746633e47a8a Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Tue, 13 Jul 2010 18:15:47 -0700 Subject: uhd: moved cpack stuff into config dir (work on cpack) --- host/AUTHORS | 16 ++++++++ host/CMakeLists.txt | 27 +++---------- host/cmake_uninstall.cmake.in | 23 ----------- host/config/CPack.cmake | 75 ++++++++++++++++++++++++++++++++++++ host/config/Python.cmake | 49 +++++++++++++++++++++++ host/config/cmake_uninstall.cmake.in | 23 +++++++++++ host/lib/CMakeLists.txt | 26 ------------- 7 files changed, 168 insertions(+), 71 deletions(-) delete mode 100644 host/cmake_uninstall.cmake.in create mode 100644 host/config/CPack.cmake create mode 100644 host/config/Python.cmake create mode 100644 host/config/cmake_uninstall.cmake.in (limited to 'host') 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 3b887bd19..8ae651eca 100644 --- a/host/CMakeLists.txt +++ b/host/CMakeLists.txt @@ -20,27 +20,10 @@ PROJECT(UHD CXX) ENABLE_TESTING() ######################################################################## -# Setup CPack -######################################################################## -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) -SET(CPACK_PACKAGE_CONTACT "support@ettus.com") -SET(BOOST_MIN_VERSION 1.36) #used in setup boost below -SET(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 +# Config Files +######################################################################## +INCLUDE(${CMAKE_SOURCE_DIR}/config/Python.cmake) +INCLUDE(${CMAKE_SOURCE_DIR}/config/CPack.cmake) ######################################################################## # Install Dirs @@ -112,7 +95,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/cmake_uninstall.cmake.in b/host/cmake_uninstall.cmake.in deleted file mode 100644 index 6031a6ca9..000000000 --- a/host/cmake_uninstall.cmake.in +++ /dev/null @@ -1,23 +0,0 @@ -# http://www.vtk.org/Wiki/CMake_FAQ#Can_I_do_.22make_uninstall.22_with_CMake.3F - -IF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt") - MESSAGE(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"") -ENDIF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt") - -FILE(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files) -STRING(REGEX REPLACE "\n" ";" files "${files}") -FOREACH(file ${files}) - MESSAGE(STATUS "Uninstalling \"$ENV{DESTDIR}${file}\"") - IF(EXISTS "$ENV{DESTDIR}${file}") - EXEC_PROGRAM( - "@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\"" - OUTPUT_VARIABLE rm_out - RETURN_VALUE rm_retval - ) - IF(NOT "${rm_retval}" STREQUAL 0) - MESSAGE(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"") - ENDIF(NOT "${rm_retval}" STREQUAL 0) - ELSE(EXISTS "$ENV{DESTDIR}${file}") - MESSAGE(STATUS "File \"$ENV{DESTDIR}${file}\" does not exist.") - ENDIF(EXISTS "$ENV{DESTDIR}${file}") -ENDFOREACH(file) diff --git a/host/config/CPack.cmake b/host/config/CPack.cmake new file mode 100644 index 000000000..a73a00923 --- /dev/null +++ b/host/config/CPack.cmake @@ -0,0 +1,75 @@ +# +# 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 . +# + +######################################################################## +# Setup Version Numbers +######################################################################## +SET(UHD_VERSION_MAJOR 0) +SET(UHD_VERSION_MINOR 0) +SET(UHD_VERSION_PATCH 0) + +######################################################################## +# Get the current YYYYMMDD 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}) + +######################################################################## +# 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_MINOR ${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_CURRENT_SOURCE_DIR}/README) +SET(CPACK_RESOURCE_FILE_LICENSE ${CMAKE_CURRENT_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 . +# + +######################################################################## +# 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/config/cmake_uninstall.cmake.in b/host/config/cmake_uninstall.cmake.in new file mode 100644 index 000000000..6031a6ca9 --- /dev/null +++ b/host/config/cmake_uninstall.cmake.in @@ -0,0 +1,23 @@ +# http://www.vtk.org/Wiki/CMake_FAQ#Can_I_do_.22make_uninstall.22_with_CMake.3F + +IF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt") + MESSAGE(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"") +ENDIF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt") + +FILE(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files) +STRING(REGEX REPLACE "\n" ";" files "${files}") +FOREACH(file ${files}) + MESSAGE(STATUS "Uninstalling \"$ENV{DESTDIR}${file}\"") + IF(EXISTS "$ENV{DESTDIR}${file}") + EXEC_PROGRAM( + "@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\"" + OUTPUT_VARIABLE rm_out + RETURN_VALUE rm_retval + ) + IF(NOT "${rm_retval}" STREQUAL 0) + MESSAGE(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"") + ENDIF(NOT "${rm_retval}" STREQUAL 0) + ELSE(EXISTS "$ENV{DESTDIR}${file}") + MESSAGE(STATUS "File \"$ENV{DESTDIR}${file}\" does not exist.") + ENDIF(EXISTS "$ENV{DESTDIR}${file}") +ENDFOREACH(file) 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 @@ -15,32 +15,6 @@ # along with this program. If not, see . # -######################################################################## -# 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 ######################################################################## -- cgit v1.2.3 From 1f1651ba46e55017bf598f0824b62be5ae2c5fd8 Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Tue, 13 Jul 2010 20:27:00 -0700 Subject: uhd: time for version minor, path tweaks, notes on windows command line compilation --- host/CMakeLists.txt | 2 +- host/config/CPack.cmake | 14 ++++++++++---- host/docs/build.rst | 6 ++++++ 3 files changed, 17 insertions(+), 5 deletions(-) (limited to 'host') diff --git a/host/CMakeLists.txt b/host/CMakeLists.txt index 8ae651eca..086e63a2f 100644 --- a/host/CMakeLists.txt +++ b/host/CMakeLists.txt @@ -38,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 diff --git a/host/config/CPack.cmake b/host/config/CPack.cmake index a73a00923..ed4aeb717 100644 --- a/host/config/CPack.cmake +++ b/host/config/CPack.cmake @@ -23,7 +23,7 @@ SET(UHD_VERSION_MINOR 0) SET(UHD_VERSION_PATCH 0) ######################################################################## -# Get the current YYYYMMDD timestamp +# Get the current YYYYMMDD HHMMSS timestamp ######################################################################## EXECUTE_PROCESS( COMMAND ${PYTHON_EXECUTABLE} -c "import time; print time.strftime('%Y%m%d', time.gmtime())" @@ -31,6 +31,12 @@ EXECUTE_PROCESS( ) 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 ######################################################################## @@ -47,7 +53,7 @@ ELSE(${GIT} STREQUAL "GIT-NOTFOUND") OUTPUT_VARIABLE UHD_REV OUTPUT_STRIP_TRAILING_WHITESPACE ) ENDIF(${GIT} STREQUAL "GIT-NOTFOUND") -SET(UHD_VERSION_MINOR ${UHD_REV}) +SET(UHD_VERSION_PATCH ${UHD_REV}) ######################################################################## # Setup CPack @@ -58,8 +64,8 @@ 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_CURRENT_SOURCE_DIR}/README) -SET(CPACK_RESOURCE_FILE_LICENSE ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE) +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})," diff --git a/host/docs/build.rst b/host/docs/build.rst index 108d8dc8b..5944a6ebe 100644 --- a/host/docs/build.rst +++ b/host/docs/build.rst @@ -148,6 +148,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 \host\build\ALL_BUILD.vcproj /Build Release +* DevEnv \host\build\INSTALL.vcproj /Build Release + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Setup the PATH environment variable ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -- cgit v1.2.3