diff options
| -rw-r--r-- | host/CMakeLists.txt | 23 | ||||
| -rw-r--r-- | host/Modules/FindUSB1.cmake (renamed from host/lib/transport/FindUSB1.cmake) | 0 | ||||
| -rw-r--r-- | host/Modules/UHDComponent.cmake (renamed from host/config/Component.cmake) | 0 | ||||
| -rw-r--r-- | host/Modules/UHDPackage.cmake (renamed from host/config/CPack.cmake) | 4 | ||||
| -rw-r--r-- | host/Modules/UHDPython.cmake (renamed from host/config/Python.cmake) | 28 | ||||
| -rw-r--r-- | host/Modules/UHDVersion.cmake (renamed from host/config/Version.cmake) | 11 | ||||
| -rw-r--r-- | host/cmake_uninstall.cmake.in (renamed from host/config/cmake_uninstall.cmake.in) | 0 | ||||
| -rw-r--r-- | host/docs/CMakeLists.txt | 14 | ||||
| -rw-r--r-- | host/examples/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | host/lib/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | host/lib/transport/CMakeLists.txt | 3 | ||||
| -rw-r--r-- | host/lib/usrp/usrp_e100/CMakeLists.txt | 6 | ||||
| -rw-r--r-- | images/CMakeLists.txt | 11 | 
13 files changed, 68 insertions, 36 deletions
| diff --git a/host/CMakeLists.txt b/host/CMakeLists.txt index efc439af0..f59cda23f 100644 --- a/host/CMakeLists.txt +++ b/host/CMakeLists.txt @@ -15,21 +15,25 @@  # along with this program.  If not, see <http://www.gnu.org/licenses/>.  # -CMAKE_MINIMUM_REQUIRED(VERSION 2.6) -PROJECT(UHD CXX) -ENABLE_TESTING() +######################################################################## +#IF(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR}) +#    MESSAGE(FATAL_ERROR "Prevented in-tree built. This is bad practice.") +#ENDIF(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})  ######################################################################## -# Config Files (include order is important) +# Project setup  ######################################################################## -INCLUDE(${CMAKE_SOURCE_DIR}/config/Component.cmake) -INCLUDE(${CMAKE_SOURCE_DIR}/config/Python.cmake) -INCLUDE(${CMAKE_SOURCE_DIR}/config/Version.cmake) -INCLUDE(${CMAKE_SOURCE_DIR}/config/CPack.cmake) +CMAKE_MINIMUM_REQUIRED(VERSION 2.6) +PROJECT(UHD CXX) +ENABLE_TESTING() +LIST(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/Modules) +INCLUDE(UHDComponent) #enable components +INCLUDE(UHDPackage)   #setup cpack  ########################################################################  # Install Dirs  ######################################################################## +SET(LIB_SUFFIX ${LIB_SUFFIX} CACHE STRING "lib directory suffix")  SET(RUNTIME_DIR bin)  SET(LIBRARY_DIR lib${LIB_SUFFIX})  SET(INCLUDE_DIR include) @@ -102,7 +106,7 @@ LINK_DIRECTORIES(${Boost_LIBRARY_DIRS})  # Create Uninstall Target  ########################################################################  CONFIGURE_FILE( -    ${CMAKE_SOURCE_DIR}/config/cmake_uninstall.cmake.in +    ${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in      ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake  @ONLY) @@ -168,4 +172,5 @@ ENDIF(ENABLE_UTILS)  # Print Summary  ########################################################################  UHD_PRINT_COMPONENT_SUMMARY() +MESSAGE(STATUS "Building version: ${CPACK_PACKAGE_VERSION}")  MESSAGE(STATUS "Using install prefix: ${CMAKE_INSTALL_PREFIX}") diff --git a/host/lib/transport/FindUSB1.cmake b/host/Modules/FindUSB1.cmake index ebcac99eb..ebcac99eb 100644 --- a/host/lib/transport/FindUSB1.cmake +++ b/host/Modules/FindUSB1.cmake diff --git a/host/config/Component.cmake b/host/Modules/UHDComponent.cmake index 0263b071f..0263b071f 100644 --- a/host/config/Component.cmake +++ b/host/Modules/UHDComponent.cmake diff --git a/host/config/CPack.cmake b/host/Modules/UHDPackage.cmake index a86f452f9..2a11d407b 100644 --- a/host/config/CPack.cmake +++ b/host/Modules/UHDPackage.cmake @@ -16,6 +16,9 @@  #  ######################################################################## +INCLUDE(UHDVersion) #sets version information + +########################################################################  # Setup CPack  ########################################################################  SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Ettus Research - Universal Hardware Driver") @@ -39,4 +42,3 @@ STRING(REPLACE "," ", " CPACK_DEBIAN_PACKAGE_DEPENDS  SET(CPACK_DEBIAN_PACKAGE_RECOMMENDS "python, python-tk")  SET(CPACK_RPM_PACKAGE_REQUIRES "boost-devel >= ${BOOST_MIN_VERSION}")  INCLUDE(CPack) #include after setting vars -MESSAGE(STATUS "Version: ${CPACK_PACKAGE_VERSION}") diff --git a/host/config/Python.cmake b/host/Modules/UHDPython.cmake index 847e7bff3..49f74ae88 100644 --- a/host/config/Python.cmake +++ b/host/Modules/UHDPython.cmake @@ -18,13 +18,33 @@  ########################################################################  # Setup Python  ######################################################################## -IF(NOT DEFINED PYTHON_EXECUTABLE) -    INCLUDE(FindPythonInterp) +#this allows the user to override PYTHON_EXECUTABLE +IF(PYTHON_EXECUTABLE) +    SET(PYTHONINTERP_FOUND TRUE) + +#otherwise if not set, try to automatically find it +ELSE(PYTHON_EXECUTABLE) + +    #use the built-in find script +    FIND_PACKAGE(PythonInterp) + +    #and if that fails use the find program routine      IF(NOT PYTHONINTERP_FOUND) -        MESSAGE(FATAL_ERROR "Error: Python interpretor required by the build system.") +        FIND_PROGRAM(PYTHON_EXECUTABLE python) +        IF(PYTHON_EXECUTABLE) +            SET(PYTHONINTERP_FOUND TRUE) +        ENDIF(PYTHON_EXECUTABLE)      ENDIF(NOT PYTHONINTERP_FOUND) -ENDIF(NOT DEFINED PYTHON_EXECUTABLE) + +ENDIF(PYTHON_EXECUTABLE) + +#make the path to the executable appear in the cmake gui +SET(PYTHON_EXECUTABLE ${PYTHON_EXECUTABLE} CACHE PYTHON_EXECUTABLE "python interpreter") + +IF(NOT PYTHONINTERP_FOUND) +    MESSAGE(FATAL_ERROR "Error: Python interpretor required by the build system.") +ENDIF(NOT PYTHONINTERP_FOUND)  MACRO(PYTHON_CHECK_MODULE desc mod cmd have)      MESSAGE(STATUS "") diff --git a/host/config/Version.cmake b/host/Modules/UHDVersion.cmake index 839db7833..fc2e2bbbd 100644 --- a/host/config/Version.cmake +++ b/host/Modules/UHDVersion.cmake @@ -16,6 +16,9 @@  #  ######################################################################## +INCLUDE(UHDPython) #requires python for parsing + +########################################################################  # Setup Version Numbers  ########################################################################  SET(UHD_VERSION_MAJOR 0001) #API compatibility number @@ -28,9 +31,7 @@ SET(UHD_VERSION_PATCH 0)    #Short hash of git commit  MESSAGE(STATUS "")  MESSAGE(STATUS "Checking for git")  FIND_PROGRAM(GIT git) -IF(${GIT} STREQUAL "GIT-NOTFOUND") -    MESSAGE(STATUS "Checking for git - not found") -ELSE(${GIT} STREQUAL "GIT-NOTFOUND") +IF(GIT)      MESSAGE(STATUS "Checking for git - found")      #grab the git log entry for the current head @@ -62,4 +63,6 @@ ELSE(${GIT} STREQUAL "GIT-NOTFOUND")      )      SET(UHD_VERSION_PATCH ${_git_rev}) -ENDIF(${GIT} STREQUAL "GIT-NOTFOUND") +ELSE(GIT) +    MESSAGE(STATUS "Checking for git - not found") +ENDIF(GIT) diff --git a/host/config/cmake_uninstall.cmake.in b/host/cmake_uninstall.cmake.in index 6031a6ca9..6031a6ca9 100644 --- a/host/config/cmake_uninstall.cmake.in +++ b/host/cmake_uninstall.cmake.in diff --git a/host/docs/CMakeLists.txt b/host/docs/CMakeLists.txt index d6a7801bf..54e0d589c 100644 --- a/host/docs/CMakeLists.txt +++ b/host/docs/CMakeLists.txt @@ -38,17 +38,15 @@ SET(manual_sources  MESSAGE(STATUS "")  MESSAGE(STATUS "Checking for rst2html (docutils)")  FIND_PROGRAM(RST2HTML rst2html) -IF(${RST2HTML} STREQUAL "RST2HTML-NOTFOUND") -    MESSAGE(STATUS "Checking for rst2html (docutils) - not found") -    MESSAGE(STATUS "  Disabled generation of HTML manual.") -    SET(HAVE_RST2HTML FALSE) -ELSE(${RST2HTML} STREQUAL "RST2HTML-NOTFOUND") +IF(RST2HTML)      MESSAGE(STATUS "Checking for rst2html (docutils) - found")      MESSAGE(STATUS "  Enabled generation of HTML manual.") -    SET(HAVE_RST2HTML TRUE) -ENDIF(${RST2HTML} STREQUAL "RST2HTML-NOTFOUND") +ELSE(RST2HTML) +    MESSAGE(STATUS "Checking for rst2html (docutils) - not found") +    MESSAGE(STATUS "  Disabled generation of HTML manual.") +ENDIF(RST2HTML) -LIBUHD_REGISTER_COMPONENT("Manual" ENABLE_MANUAL ON "HAVE_RST2HTML" OFF) +LIBUHD_REGISTER_COMPONENT("Manual" ENABLE_MANUAL ON "RST2HTML" OFF)  IF(ENABLE_MANUAL)      #setup rst2html options diff --git a/host/examples/CMakeLists.txt b/host/examples/CMakeLists.txt index ce2ca9640..ac131b217 100644 --- a/host/examples/CMakeLists.txt +++ b/host/examples/CMakeLists.txt @@ -40,7 +40,7 @@ ENDFOREACH(example_source)  ########################################################################  # ASCII Art DFT - requires curses, so this part is optional  ######################################################################## -INCLUDE(FindCurses) +FIND_PACKAGE(Curses)  IF(CURSES_FOUND)      INCLUDE_DIRECTORIES(${CURSES_INCLUDE_DIR}) diff --git a/host/lib/CMakeLists.txt b/host/lib/CMakeLists.txt index 28e4bcca2..fa5d6b67b 100644 --- a/host/lib/CMakeLists.txt +++ b/host/lib/CMakeLists.txt @@ -18,6 +18,8 @@  ########################################################################  # Check Python Modules  ######################################################################## +INCLUDE(UHDPython) +  PYTHON_CHECK_MODULE(      "Python version 2.6 or greater"      "platform" "platform.python_version() >= '2.6'" diff --git a/host/lib/transport/CMakeLists.txt b/host/lib/transport/CMakeLists.txt index de2f1fdd0..5602e47a7 100644 --- a/host/lib/transport/CMakeLists.txt +++ b/host/lib/transport/CMakeLists.txt @@ -22,8 +22,7 @@  ########################################################################  # Setup libusb  ######################################################################## -LIST(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}) -FIND_PACKAGE(USB1 REQUIRED) +FIND_PACKAGE(USB1)  LIBUHD_REGISTER_COMPONENT("USB" ENABLE_USB ON "ENABLE_LIBUHD;LIBUSB_FOUND" OFF) diff --git a/host/lib/usrp/usrp_e100/CMakeLists.txt b/host/lib/usrp/usrp_e100/CMakeLists.txt index 5d8a9791d..c32dd87f8 100644 --- a/host/lib/usrp/usrp_e100/CMakeLists.txt +++ b/host/lib/usrp/usrp_e100/CMakeLists.txt @@ -22,7 +22,11 @@  ########################################################################  # Conditionally configure the USRP-E100 support  ######################################################################## -LIBUHD_REGISTER_COMPONENT("USRP-E100" ENABLE_USRP_E100 OFF "ENABLE_LIBUHD" ON) +IF(CMAKE_SYSTEM_NAME STREQUAL "Linux") +    SET(LINUX_TARGET TRUE) +ENDIF(CMAKE_SYSTEM_NAME STREQUAL "Linux") + +LIBUHD_REGISTER_COMPONENT("USRP-E100" ENABLE_USRP_E100 OFF "ENABLE_LIBUHD;LINUX_TARGET" OFF)  IF(ENABLE_USRP_E100)      INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include) diff --git a/images/CMakeLists.txt b/images/CMakeLists.txt index 75cb4c9d3..ee8146f3a 100644 --- a/images/CMakeLists.txt +++ b/images/CMakeLists.txt @@ -15,14 +15,13 @@  # along with this program.  If not, see <http://www.gnu.org/licenses/>.  # -CMAKE_MINIMUM_REQUIRED(VERSION 2.6) -PROJECT(UHD-images NONE) -  ######################################################################## -# Config Files (include order is important) +# Setup Project  ######################################################################## -INCLUDE(${CMAKE_SOURCE_DIR}/../host/config/Python.cmake) -INCLUDE(${CMAKE_SOURCE_DIR}/../host/config/Version.cmake) +CMAKE_MINIMUM_REQUIRED(VERSION 2.6) +PROJECT(UHD-images NONE) +LIST(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/../host/Modules) +INCLUDE(UHDVersion) #sets version variables (used below)  ########################################################################  # Setup CPack | 
