aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--host/CMakeLists.txt23
-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.txt14
-rw-r--r--host/examples/CMakeLists.txt2
-rw-r--r--host/lib/CMakeLists.txt2
-rw-r--r--host/lib/transport/CMakeLists.txt3
-rw-r--r--host/lib/usrp/usrp_e100/CMakeLists.txt6
-rw-r--r--images/CMakeLists.txt11
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