summaryrefslogtreecommitdiffstats
path: root/host/cmake/Modules/UHDComponent.cmake
diff options
context:
space:
mode:
authorNicholas Corgan <nick.corgan@ettus.com>2013-05-10 14:59:04 -0700
committerNicholas Corgan <nick.corgan@ettus.com>2013-05-10 15:04:00 -0700
commit4b72513a8930ec4147dab76c079afa1186e335cd (patch)
treec83c3323385266fe99f5132dbfc74fb636b9e6ba /host/cmake/Modules/UHDComponent.cmake
parentd63ce4fc3aabc208d97b5ff2a14bf2ba351103e7 (diff)
downloaduhd-4b72513a8930ec4147dab76c079afa1186e335cd.tar.gz
uhd-4b72513a8930ec4147dab76c079afa1186e335cd.tar.bz2
uhd-4b72513a8930ec4147dab76c079afa1186e335cd.zip
Added CMake variables to customize builds to match Debian package configurations
* -DLIBUHD_PKG=ON installs with libuhd003 configuration * -DLIBUHDDEV_PKG=ON installs with libuhd-dev configuration * -DUHDHOST_PKG=ON installs with uhd-host configuration
Diffstat (limited to 'host/cmake/Modules/UHDComponent.cmake')
-rw-r--r--host/cmake/Modules/UHDComponent.cmake56
1 files changed, 55 insertions, 1 deletions
diff --git a/host/cmake/Modules/UHDComponent.cmake b/host/cmake/Modules/UHDComponent.cmake
index 52b7450d5..d0b8442d9 100644
--- a/host/cmake/Modules/UHDComponent.cmake
+++ b/host/cmake/Modules/UHDComponent.cmake
@@ -1,5 +1,5 @@
#
-# Copyright 2010-2011 Ettus Research LLC
+# Copyright 2010-2011,2013 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
@@ -54,6 +54,60 @@ MACRO(LIBUHD_REGISTER_COMPONENT name var enb deps dis)
ENDMACRO(LIBUHD_REGISTER_COMPONENT)
########################################################################
+# Install only if appropriate for package and if component is enabled
+########################################################################
+FUNCTION(UHD_INSTALL)
+ include(CMakeParseArguments)
+ CMAKE_PARSE_ARGUMENTS(UHD_INSTALL "" "DESTINATION;COMPONENT" "TARGETS;FILES;PROGRAMS" ${ARGN})
+
+ IF(UHD_INSTALL_FILES)
+ SET(TO_INSTALL "${UHD_INSTALL_FILES}")
+ ELSEIF(UHD_INSTALL_PROGRAMS)
+ SET(TO_INSTALL "${UHD_INSTALL_PROGRAMS}")
+ ELSEIF(UHD_INSTALL_TARGETS)
+ SET(TO_INSTALL "${UHD_INSTALL_TARGETS}")
+ ENDIF(UHD_INSTALL_FILES)
+
+ IF(UHD_INSTALL_COMPONENT STREQUAL "headers")
+ IF(NOT LIBUHD_PKG AND NOT UHDHOST_PKG)
+ INSTALL(${ARGN})
+ ENDIF(NOT LIBUHD_PKG AND NOT UHDHOST_PKG)
+ ELSEIF(UHD_INSTALL_COMPONENT STREQUAL "examples")
+ IF(NOT LIBUHD_PKG AND NOT LIBUHDDEV_PKG)
+ INSTALL(${ARGN})
+ ENDIF(NOT LIBUHD_PKG AND NOT LIBUHDDEV_PKG)
+ ELSEIF(UHD_INSTALL_COMPONENT STREQUAL "tests")
+ IF(NOT LIBUHD_PKG AND NOT LIBUHDDEV_PKG)
+ INSTALL(${ARGN})
+ ENDIF(NOT LIBUHD_PKG AND NOT LIBUHDDEV_PKG)
+ ELSEIF(UHD_INSTALL_COMPONENT STREQUAL "utilities")
+ IF(NOT LIBUHD_PKG AND NOT LIBUHDDEV_PKG)
+ INSTALL(${ARGN})
+ ENDIF(NOT LIBUHD_PKG AND NOT LIBUHDDEV_PKG)
+ ELSEIF(UHD_INSTALL_COMPONENT STREQUAL "manual")
+ IF(NOT LIBUHD_PKG AND NOT LIBUHDDEV_PKG)
+ INSTALL(${ARGN})
+ ENDIF(NOT LIBUHD_PKG AND NOT LIBUHDDEV_PKG)
+ ELSEIF(UHD_INSTALL_COMPONENT STREQUAL "doxygen")
+ IF(NOT LIBUHD_PKG AND NOT UHDHOST_PKG)
+ INSTALL(${ARGN})
+ ENDIF(NOT LIBUHD_PKG AND NOT UHDHOST_PKG)
+ ELSEIF(UHD_INSTALL_COMPONENT STREQUAL "manpages")
+ IF(NOT LIBUHD_PKG AND NOT LIBUHDDEV_PKG)
+ INSTALL(${ARGN})
+ ENDIF(NOT LIBUHD_PKG AND NOT LIBUHDDEV_PKG)
+ ELSEIF(UHD_INSTALL_COMPONENT STREQUAL "images")
+ IF(NOT LIBUHD_PKG AND NOT LIBUHDDEV_PKG AND NOT UHDHOST_PKG)
+ INSTALL(${ARGN})
+ ENDIF(NOT LIBUHD_PKG AND NOT LIBUHDDEV_PKG AND NOT UHDHOST_PKG)
+ ELSEIF(UHD_INSTALL_COMPONENT STREQUAL "readme")
+ IF(NOT LIBUHD_PKG AND NOT LIBUHDDEV_PKG AND NOT UHDHOST_PKG)
+ INSTALL(${ARGN})
+ ENDIF(NOT LIBUHD_PKG AND NOT LIBUHDDEV_PKG AND NOT UHDHOST_PKG)
+ ENDIF(UHD_INSTALL_COMPONENT STREQUAL "headers")
+ENDFUNCTION(UHD_INSTALL)
+
+########################################################################
# Print the registered component summary
########################################################################
FUNCTION(UHD_PRINT_COMPONENT_SUMMARY)