<pre style='margin:0'>
Michael Dickens (michaelld) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/1788b87dd741e77d73939a7809e534504217ca13">https://github.com/macports/macports-ports/commit/1788b87dd741e77d73939a7809e534504217ca13</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new 1788b87  uhd-devel: update to 20191107-eb448043
</span>1788b87 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 1788b87dd741e77d73939a7809e534504217ca13
</span>Author: Michael Dickens <michaelld@macports.org>
AuthorDate: Mon Nov 18 10:20:15 2019 -0500

<span style='display:block; white-space:pre;color:#404040;'>    uhd-devel: update to 20191107-eb448043
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    + Remove integrated patch
</span>---
 science/uhd/Portfile                               |  17 +-
 .../files/patch-fix-Boost_1.70.0_find.devel.diff   | 724 ---------------------
 2 files changed, 6 insertions(+), 735 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/uhd/Portfile b/science/uhd/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index b3e9d60..7237b9b 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/science/uhd/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/science/uhd/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -123,11 +123,11 @@ subport uhd-devel {
</span>     long_description ${description}: \
 Provides the UHD GIT maint or master branch, depending on which is more advanced, and is typically updated every few days to week.
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    github.setup EttusResearch uhd 0408f47b23a834192a31d8000bd5e2536704728e
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    version   20191014-[string range ${github.version} 0 7]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    checksums rmd160 1a0e1ab162de913a31fcce5a7384a98b50f37ed2 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-              sha256 84324c59329d84c44e15440c252441fdd2a494e58bddfecf8d0526528d286e44 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-              size   12881027
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    github.setup EttusResearch uhd eb448043a9d958fd87bc6494f67004a7c33851fb
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    version   20191107-[string range ${github.version} 0 7]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    checksums rmd160 6e2e2e072d1930557586016b6e87503f031212dd \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+              sha256 ac258ba78722bc097832d49d5ec6041c996ae8d223b7b0078f462902bdcfe348 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+              size   12879254
</span>     revision  0
 
     conflicts uhd uhd-39lts
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -136,15 +136,10 @@ Provides the UHD GIT maint or master branch, depending on which is more advanced
</span> 
     set UHD_VERSION_INFO "${version}"
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    # temporary patch to fix working with various Boost versions,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # including 1.70.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    patchfiles-append patch-fix-Boost_1.70.0_find.devel.diff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    patch.pre_args -p1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span>     # temporary patch to disable Boost DIRS before internal DIRS
 
     patchfiles-append patch-host_CMakeLists.txt.devel.diff
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    patch.pre_args -p1
</span> 
     # set the variable UHD_VERSION_DEVEL to TRUE, no matter its current setting
     post-patch {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/uhd/files/patch-fix-Boost_1.70.0_find.devel.diff b/science/uhd/files/patch-fix-Boost_1.70.0_find.devel.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index c0c34bf..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/science/uhd/files/patch-fix-Boost_1.70.0_find.devel.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,724 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/host/cmake/Modules/UHDBoost.cmake b/host/cmake/Modules/UHDBoost.cmake
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-new file mode 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 0000000..5ebb4ac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- /dev/null
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/host/cmake/Modules/UHDBoost.cmake
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -0,0 +1,324 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Copyright 2019 Ettus Research, a National Instruments Brand
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# SPDX-License-Identifier: GPL-3.0-or-later
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# The following variables can be defined external to this script.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# ENABLE_STATIC_LIBS : whether to enable static libraries, which will
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# require static Boost libraries too. If not using static libraries,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# shared libraries will be used. The default is to use shared
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# libraries, and this default will be used if this variable is not
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# defined or if is it NO/OFF/FALSE.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# UHD_BOOST_REQUIRED_COMPONENTS : Boost components that are required
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# for Boost_FOUND to be true. The linkage (shared or static) must be
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# correct and the library must also be found.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# UHD_BOOST_OPTIONAL_COMPONENTS : Boost components that are
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# optional. They do not impact Boost_FOUND. The linkage will still be
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# honored, and the library must still be found for the return
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# variables to be set.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# NOTE: If neither UHD_BOOST_REQUIRED_COMPONENTS and
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# UHD_BOOST_OPTIONAL_COMPONENTS are defined and/or are empty, then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# this script just checked to see if the minimum required version of
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Boost can be found, and sets Boost_FOUND accordingly; all of the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# other return variables will be unset / undefined.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# UHD_BOOST_REQUIRED : Whether to set Boost required components as
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# "required" during finding. If not specified, then defaults to
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# TRUE. If REQUIRED is TRUE and Boost is not found, then this script
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# will error out. Otherwise this script will not error out, and the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# variable Boost_FOUND will indicate whether a compatible version
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Boost was found or not.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Upon find returning, the following variables will be set upon return
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# of this script:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Boost_FOUND : will be TRUE if all of the required Boost components
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# are found with the correct linkage (static or shared); otherwise
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# this variable will be FALSE unless there are no components specified
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# in which case this variable will be unset.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Boost_INCLUDE_DIRS : directories to use with 'include_directories',
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# where the top-level "boost" directory is located for headers.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Boost_LIBRARY_DIRS : directories for use in finding libraries; this
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# variable is generally not used in favor of either (1) defining
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# library names with the full path; or (2) using targets where the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# full path is defined already. This variable is probably deprecated.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Boost_LIBRARIES : a list of found Boost libraries, each of which can
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# be either (1) or (2) above; either will work with modern CMake.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+########################################################################
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+message(STATUS "")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+message(STATUS "Checking for Boost version ${BOOST_MIN_VERSION} or greater")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# unset return variables
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+unset(Boost_FOUND)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+unset(Boost_INCLUDE_DIRS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+unset(Boost_LIBRARY_DIRS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+unset(Boost_LIBRARIES)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# check whether to set REQUIRED or not
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# if not set, default is to require Boost
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if(NOT UHD_BOOST_REQUIRED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    # UHD_BOOST_REQUIRED is not set; use the default
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    set(UHD_BOOST_REQUIRED "REQUIRED")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+elseif(UHD_BOOST_REQUIRED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    # UHD_BOOST_REQUIRED is set to TRUE/ON/1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    set(UHD_BOOST_REQUIRED "REQUIRED")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    # UHD_BOOST_REQUIRED is not set to TRUE/ON/1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    unset(UHD_BOOST_REQUIRED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# set this for verbosity during 'find'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# set(Boost_DEBUG TRUE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# verify we're looking for something
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+list(LENGTH UHD_BOOST_OPTIONAL_COMPONENTS UHD_BOOST_OPTIONAL_COMPONENTS_LEN)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+list(LENGTH UHD_BOOST_REQUIRED_COMPONENTS UHD_BOOST_REQUIRED_COMPONENTS_LEN)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if(UHD_BOOST_OPTIONAL_COMPONENTS_LEN EQUAL 0 AND
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+   UHD_BOOST_REQUIRED_COMPONENTS_LEN EQUAL 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    # just see if Boost can be found
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    find_package(Boost ${BOOST_MIN_VERSION} QUIET ${UHD_BOOST_REQUIRED})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if(Boost_FOUND)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        message(STATUS "Boost version ${BOOST_MIN_VERSION} or greater - found")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    else()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        message(STATUS "Boost version ${BOOST_MIN_VERSION} or greater - not found")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    return()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# if the OS is MINGW and if 'thread' is in the list, change its name
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if(MINGW)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    list(FIND UHD_BOOST_REQUIRED_COMPONENTS "thread" THREAD_NDX)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if(NOT ${THREAD_NDX} EQUAL -1)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        list(REMOVE_AT UHD_BOOST_REQUIRED_COMPONENTS ${THREAD_NDX})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        list(INSERT UHD_BOOST_REQUIRED_COMPONENTS ${THREAD_NDX} thread_win32)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# if 'system' is in the list, make sure it comes last; sometimes this
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# linkage makes a difference
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+list(FIND UHD_BOOST_REQUIRED_COMPONENTS "system" SYSTEM_NDX)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if(NOT ${SYSTEM_NDX} EQUAL -1)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    list(REMOVE_AT UHD_BOOST_REQUIRED_COMPONENTS ${SYSTEM_NDX})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    list(APPEND UHD_BOOST_REQUIRED_COMPONENTS "system")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# special library directory that's used by some Linux
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if(UNIX AND NOT BOOST_ROOT AND EXISTS "/usr/lib64")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    list(APPEND BOOST_LIBRARYDIR "/usr/lib64") #fedora 64-bit fix
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+endif(UNIX AND NOT BOOST_ROOT AND EXISTS "/usr/lib64")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# special Microsoft Visual C handling
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if(MSVC)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    set(BOOST_ALL_DYN_LINK "${BOOST_ALL_DYN_LINK}" CACHE BOOL "boost enable dynamic linking")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if(BOOST_ALL_DYN_LINK)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        add_definitions(-DBOOST_ALL_DYN_LINK) #setup boost auto-linking in msvc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    else(BOOST_ALL_DYN_LINK)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        set(UHD_BOOST_REQUIRED_COMPONENTS) #empty components list for static link
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    endif(BOOST_ALL_DYN_LINK)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+endif(MSVC)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Starting in CMake 3.15.0, if policy 'CMP0093' is available and set
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# to 'NEW', then the Boost_VERSION will be returned as X.Y.Z (e.g.,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# 1.70.0) instead of XXYYZZ (107000). The OLD policy is the default
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# for now, but is deprecated and relevant code should be updated to
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# the NEW policy format. This change matches the version format
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# returned by Boost's CMake scripts. See also:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# https://cmake.org/cmake/help/v3.15/policy/CMP0093.html#policy:CMP0093
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Tell FindBoost, if used, to report Boost_VERSION in X.Y.Z format.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# NOTE: This must be set -before- calling "find_package(Boost ...)".
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# NOTE: This setting is for CMake scripts only; each language (e.g.,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# C++) that uses Boost maintains its current format for the Boost
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# version variable.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if(POLICY CMP0093)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    cmake_policy(SET CMP0093 NEW)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# if no CXX STANDARD is set, default to that required by UHD: c++14
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if(NOT CMAKE_CXX_STANDARD)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  set(CMAKE_CXX_STANDARD 14)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  message(WARNING "\nC++ standard not yet set; setting to C++14.\n")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# tell boost the linkage required
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+set(Boost_USE_STATIC_LIBS ${ENABLE_STATIC_LIBS})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# temporarily explicitly enable or disable shared libraries,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# build-wise; this can be disabled on a case by case basis for each
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# library built.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if(BUILD_SHARED_LIBS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    set(BUILD_SHARED_LIBS_SET TRUE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    set(OLD_BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    set(BUILD_SHARED_LIBS_SET FALSE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if(ENABLE_STATIC_LIBS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    set(BUILD_SHARED_LIBS FALSE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    set(BUILD_SHARED_LIBS TRUE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if(${UHD_BOOST_OPTIONAL_COMPONENTS_LEN} GREATER 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    message(STATUS "  Looking for optional Boost components...")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    find_package(Boost ${BOOST_MIN_VERSION} QUIET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        OPTIONAL_COMPONENTS ${UHD_BOOST_OPTIONAL_COMPONENTS})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if(${UHD_BOOST_REQUIRED_COMPONENTS_LEN} GREATER 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    message(STATUS "  Looking for required Boost components...")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    find_package(Boost ${BOOST_MIN_VERSION} QUIET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        COMPONENTS ${UHD_BOOST_REQUIRED_COMPONENTS} ${UHD_BOOST_REQUIRED})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# restore BUILD_SHARED_LIBS, if set
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if(BUILD_SHARED_LIBS_SET)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    set(BUILD_SHARED_LIBS ${OLD_BUILD_SHARED_LIBS})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    unset(OLD_BUILD_SHARED_LIBS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    unset(BUILD_SHARED_LIBS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if(NOT Boost_FOUND)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    # Boost was not found
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    # clear out return variables, just in case
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    unset(Boost_VERSION)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    unset(Boost_INCLUDE_DIRS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    unset(Boost_LIBRARY_DIRS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    unset(Boost_LIBRARIES)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    # Boost was found; do fixups and related tests / checks
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    # fix the Boost_VERSION to be X.Y.Z if CMake version < 3.15
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if(CMAKE_VERSION VERSION_LESS 3.15)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        set(Boost_VERSION "${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION}")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    # generic fix for some linking issues with Boost 1.68.0 or newer.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if(NOT ${Boost_VERSION} VERSION_LESS 1.68.0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        message(STATUS "  Enabling Boost Error Code Header Only")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        add_definitions(-DBOOST_ERROR_CODE_HEADER_ONLY)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    # test for std::string_view in boost::asio only if we're using
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    # c++17 or later and Boost 1.68.0 or later. The default is to not
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    # use this feature. Boost 1.67.0 and earlier at best checked for
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    # and used std::experimental::string_view, which causes issues for
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    # some Boost & C++ versions ... so, just don't use it!
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    set(USE_STD_STRING_VIEW_IN_BOOST_ASIO FALSE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if((NOT ${CMAKE_CXX_STANDARD} VERSION_LESS 17) AND
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+       (NOT ${Boost_VERSION} VERSION_LESS 1.68.0))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        # boost::asio::string_view can fail in compiling or linking simple
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        # c++. This situation generally happens on for Boost 1.66 - 1.68
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        # and macOS using Clang and -std=c++14 ... but it can occur in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        # other situations, so just do a generic check. This issue seems
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        # to be fixed in Boost 1.70.0.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        message(STATUS "  Checking whether std::string_view works in boost::asio")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        # unset the return variable, otherwise the compile doesn't take place!
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        unset(USE_STD_STRING_VIEW_IN_BOOST_ASIO)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        # set various CheckCXXSourceCompiles variables
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        include(CheckCXXSourceCompiles)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        # FindBoost compatibility variables: Boost_INCLUDE_DIRS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        if(NOT Boost_INCLUDE_DIRS OR "${Boost_INCLUDE_DIRS}" STREQUAL "")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            get_target_property(Boost_INCLUDE_DIRS Boost::headers INTERFACE_INCLUDE_DIRECTORIES)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        # set the c++ standard to test using
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        set(CMAKE_REQUIRED_FLAGS "-std=c++${CMAKE_CXX_STANDARD} -I${Boost_INCLUDE_DIRS}")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        # make this compile quite
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        set(CMAKE_REQUIRED_QUIET TRUE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        # disable Boost's use of std::experimental::string_view
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        set(CMAKE_REQUIRED_DEFINITIONS -DBOOST_ASIO_DISABLE_STD_EXPERIMENTAL_STRING_VIEW)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        # Check if std::string_view works in boost::asio
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        check_cxx_source_compiles(
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            "#include <boost/asio/detail/string_view.hpp>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            int main()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            { boost::asio::string_view sv; }"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            USE_STD_STRING_VIEW_IN_BOOST_ASIO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        # clear the various CheckCXXSourceCompiles variables
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        unset(CMAKE_REQUIRED_FLAGS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        unset(CMAKE_REQUIRED_QUIET)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        unset(CMAKE_REQUIRED_DEFINITIONS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    # use std::string_view in boost::asio?
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if(USE_STD_STRING_VIEW_IN_BOOST_ASIO)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        message(STATUS "    Enabling boost::asio use of std::string_view")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        add_definitions(-DBOOST_ASIO_HAS_STD_STRING_VIEW)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    else()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        message(STATUS "    Disabling boost::asio use of std::string_view")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        add_definitions(-DBOOST_ASIO_DISABLE_STD_STRING_VIEW)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    unset(USE_STD_STRING_VIEW_IN_BOOST_ASIO)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    # disable Boost's use of std::experimental::string_view
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    # works for Boost 1.67.0 and newer & doesn't hurt older
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    add_definitions(-DBOOST_ASIO_DISABLE_STD_EXPERIMENTAL_STRING_VIEW)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    # Boost 1.70.0's find cmake scripts don't always set the expected
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    # return variables. Replicate the commit that fixes that issue here:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    # https://github.com/boostorg/boost_install/commit/cfa8d55250dfc2635e907e42da423e4eb540dee5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if(Boost_FOUND AND (${Boost_VERSION} VERSION_EQUAL 1.70.0))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        message(STATUS "  Enabling possible Boost 1.70.0 Fixes")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        # FindBoost compatibility variables: Boost_LIBRARIES, Boost_<C>_LIBRARY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        if(NOT Boost_LIBRARIES OR "${Boost_LIBRARIES}" STREQUAL "")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            set(Boost_LIBRARIES "")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            foreach(dep IN LISTS UHD_BOOST_REQUIRED_COMPONENTS UHD_BOOST_OPTIONAL_COMPONENTS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                string(TOUPPER ${dep} _BOOST_DEP)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                if(NOT Boost_${_BOOST_DEP}_FOUND)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                    status(WARNING "  Boost component '${dep}' should have been found but somehow isn't listed as found. Ignoring and hoping for the best!")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                list(APPEND Boost_LIBRARIES Boost::${dep})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                set(Boost_${_BOOST_DEP}_LIBRARY Boost::${dep})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            endforeach()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        # FindBoost compatibility variables: Boost_INCLUDE_DIRS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        if(NOT Boost_INCLUDE_DIRS OR "${Boost_INCLUDE_DIRS}" STREQUAL "")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            get_target_property(Boost_INCLUDE_DIRS Boost::headers INTERFACE_INCLUDE_DIRECTORIES)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        # FindBoost compatibility variables: Boost_LIBRARY_DIRS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        if(NOT Boost_LIBRARY_DIRS OR "${Boost_LIBRARY_DIRS}" STREQUAL "")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            set(Boost_LIBRARY_DIRS "")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            foreach(dep IN LISTS UHD_BOOST_REQUIRED_COMPONENTS UHD_BOOST_OPTIONAL_COMPONENTS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                string(TOUPPER ${dep} _BOOST_DEP)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                if(NOT Boost_${_BOOST_DEP}_FOUND)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                    status(WARNING "  Boost component '${dep}' should have been found but somehow isn't listed as found. Ignoring and hoping for the best!")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                if(Boost_USE_DEBUG_LIBS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                    get_target_property(Boost_${dep}_LIBRARY Boost::${dep} IMPORTED_LOCATION_DEBUG)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                else()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                    get_target_property(Boost_${dep}_LIBRARY Boost::${dep} IMPORTED_LOCATION_RELEASE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                get_filename_component(Boost_${dep}_LIBRARY_DIR ${Boost_${dep}_LIBRARY} DIRECTORY ABSOLUTE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                list(FIND Boost_LIBRARY_DIRS ${Boost_${dep}_LIBRARY_DIR} Boost_${dep}_LIBRARY_DIR_FOUND)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                if(${Boost_${dep}_LIBRARY_DIR_FOUND} EQUAL -1)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                    list(APPEND Boost_LIBRARY_DIRS ${Boost_${dep}_LIBRARY_DIR})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            endforeach()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        list(SORT Boost_LIBRARY_DIRS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    message(STATUS "  Boost version: ${Boost_VERSION}")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    message(STATUS "  Boost include directories: ${Boost_INCLUDE_DIRS}")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    message(STATUS "  Boost library directories: ${Boost_LIBRARY_DIRS}")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    message(STATUS "  Boost libraries: ${Boost_LIBRARIES}")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if(Boost_FOUND)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    message(STATUS "Looking for Boost version ${BOOST_MIN_VERSION} or greater - found")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    message(STATUS "Looking for Boost version ${BOOST_MIN_VERSION} or greater - not found")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# unset some internal variables, if set
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+unset(Boost_LIBRARY_DIR)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+unset(Boost_INCLUDE_DIR)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/host/CMakeLists.txt b/host/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 916138e..97fe9a3 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/host/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/host/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -40,7 +40,6 @@ set(NUMPY_MIN_VERSION "1.7")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set(PY_MAKO_MIN_VERSION "0.4.2")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set(PY_REQUESTS_MIN_VERSION "2.0")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ########################################################################
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Check Compiler Version
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ########################################################################
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -281,7 +280,9 @@ endif(WIN32)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ########################################################################
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- message(STATUS "")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- message(STATUS "Configuring Boost C++ Libraries...")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--set(BOOST_REQUIRED_COMPONENTS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# NO optional Boost components!
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# ALL required Boost components!
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+set(UHD_BOOST_REQUIRED_COMPONENTS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     chrono
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     date_time
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     filesystem
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -290,45 +291,13 @@ set(BOOST_REQUIRED_COMPONENTS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     system
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     unit_test_framework
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     serialization
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    thread
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--if(MINGW)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    list(APPEND BOOST_REQUIRED_COMPONENTS thread_win32)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--else()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    list(APPEND BOOST_REQUIRED_COMPONENTS thread)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--if(UNIX AND NOT BOOST_ROOT AND EXISTS "/usr/lib64")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    list(APPEND BOOST_LIBRARYDIR "/usr/lib64") #fedora 64-bit fix
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--endif(UNIX AND NOT BOOST_ROOT AND EXISTS "/usr/lib64")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--if(MSVC)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    set(BOOST_ALL_DYN_LINK "${BOOST_ALL_DYN_LINK}" CACHE BOOL "boost enable dynamic linking")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    if(BOOST_ALL_DYN_LINK)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        add_definitions(-DBOOST_ALL_DYN_LINK) #setup boost auto-linking in msvc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    else(BOOST_ALL_DYN_LINK)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        set(BOOST_REQUIRED_COMPONENTS) #empty components list for static link
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    endif(BOOST_ALL_DYN_LINK)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--endif(MSVC)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--set(Boost_ADDITIONAL_VERSIONS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    "1.56.0" "1.56" "1.57" "1.57" "1.58" "1.59" "1.60" "1.61" "1.62" "1.63"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    "1.64" "1.65" "1.66" "1.67" "1.68" "1.69"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--message(STATUS "Looking for optional Boost components...")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--find_package(Boost ${BOOST_MIN_VERSION} OPTIONAL_COMPONENTS ${BOOST_OPTIONAL_COMPONENTS})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--message(STATUS "Looking for required Boost components...")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--find_package(Boost ${BOOST_MIN_VERSION} COMPONENTS ${BOOST_REQUIRED_COMPONENTS})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+include(UHDBoost)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- include_directories(${Boost_INCLUDE_DIRS})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- link_directories(${Boost_LIBRARY_DIRS})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--message(STATUS "Boost include directories: ${Boost_INCLUDE_DIRS}")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--message(STATUS "Boost library directories: ${Boost_LIBRARY_DIRS}")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--message(STATUS "Boost libraries: ${Boost_LIBRARIES}")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ########################################################################
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Additional settings for build environment
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ########################################################################
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -402,7 +371,6 @@ LIBUHD_REGISTER_COMPONENT("Examples" ENABLE_EXAMPLES ON "ENABLE_LIBUHD" OFF OFF)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIBUHD_REGISTER_COMPONENT("Utils" ENABLE_UTILS ON "ENABLE_LIBUHD" OFF OFF)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- LIBUHD_REGISTER_COMPONENT("Tests" ENABLE_TESTS ON "ENABLE_LIBUHD" OFF OFF)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ########################################################################
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Check for fpga-src submodule
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ########################################################################
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -488,7 +456,7 @@ endif(NOT CMAKE_MODULES_DIR)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # UHDConfig.cmake needs UHD_LINK_LIST_STATIC set:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- list(APPEND UHD_LINK_LIST_STATIC "dl")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- list(APPEND UHD_LINK_LIST_STATIC "pthread")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--foreach(Boost_Comp ${BOOST_REQUIRED_COMPONENTS})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+foreach(Boost_Comp ${UHD_BOOST_REQUIRED_COMPONENTS})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     if(NOT ${Boost_Comp} STREQUAL "unit_test_framework")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         list(APPEND UHD_LINK_LIST_STATIC "boost_${Boost_Comp}")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     endif(NOT ${Boost_Comp} STREQUAL "unit_test_framework")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -514,13 +482,14 @@ configure_file(
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     @ONLY
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--set(cmake_configs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+set(uhd_cmake_scripts
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     ${CMAKE_BINARY_DIR}/cmake/Modules/UHDConfig.cmake
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     ${CMAKE_BINARY_DIR}/cmake/Modules/UHDConfigVersion.cmake
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    ${CMAKE_SOURCE_DIR}/cmake/Modules/UHDBoost.cmake
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- UHD_INSTALL(
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    FILES ${cmake_configs}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    FILES ${uhd_cmake_scripts}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     DESTINATION ${CMAKE_MODULES_DIR}/uhd
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     COMPONENT "devel"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/host/cmake/Modules/UHDConfig.cmake.in b/host/cmake/Modules/UHDConfig.cmake.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 30b0d92..299a8ef 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/host/cmake/Modules/UHDConfig.cmake.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/host/cmake/Modules/UHDConfig.cmake.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -18,6 +18,9 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ########################################################################
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Allows us to use all .cmake files in this directory
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+list(INSERT CMAKE_MODULE_PATH 0 "${CMAKE_CURRENT_LIST_DIR}")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # set that this file was found, for use in GNU Radio's FindUHD.cmake.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Have to use the ENV, since this file might not allow CACHE changes.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -51,7 +54,6 @@ endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- list(APPEND UHD_INCLUDE_HINTS ${CMAKE_INSTALL_PREFIX}/include)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- list(APPEND UHD_LIBDIR_HINTS ${CMAKE_INSTALL_PREFIX}/lib)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Search for static libs if so required
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if( UHD_USE_STATIC_LIBS )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     set( _UHD_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/host/examples/init_usrp/CMakeLists.txt b/host/examples/init_usrp/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 3260ce5..e58a113 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/host/examples/init_usrp/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/host/examples/init_usrp/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -5,7 +5,16 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # SPDX-License-Identifier: GPL-3.0-or-later
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--cmake_minimum_required(VERSION 2.8)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+cmake_minimum_required(VERSION 3.5.1)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+project(INIT_USRP CXX)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+### Configure Compiler ########################################################
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+set(CMAKE_CXX_STANDARD 11)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" AND ${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    set(CMAKE_EXE_LINKER_FLAGS "-lthr ${CMAKE_EXE_LINKER_FLAGS}")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    set(CMAKE_CXX_FLAGS "-stdlib=libc++ ${CMAKE_CXX_FLAGS}")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ### Set up build environment ##################################################
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Choose a static or shared-library build (shared is default, and static will
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -13,48 +22,23 @@ cmake_minimum_required(VERSION 2.8)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Set this to ON in order to link a static build of UHD:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- option(UHD_USE_STATIC_LIBS OFF)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# This example also requires Boost:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--set(BOOST_REQUIRED_COMPONENTS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    program_options
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    system
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    thread
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--if(MSVC)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    set(BOOST_ALL_DYN_LINK "${BOOST_ALL_DYN_LINK}" CACHE BOOL "boost enable dynamic linking")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    if(BOOST_ALL_DYN_LINK)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        add_definitions(-DBOOST_ALL_DYN_LINK) #setup boost auto-linking in msvc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    else(BOOST_ALL_DYN_LINK)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        set(BOOST_REQUIRED_COMPONENTS) #empty components list for static link
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    endif(BOOST_ALL_DYN_LINK)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--endif(MSVC)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--find_package(Boost "1.46" REQUIRED ${BOOST_REQUIRED_COMPONENTS})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # To add UHD as a dependency to this project, add a line such as this:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--find_package(UHD "3.8.0" REQUIRED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+find_package(UHD 3.8.0 REQUIRED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # The version in  ^^^^^  here is a minimum version.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # To specify an exact version:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #find_package(UHD 3.8.1 EXACT REQUIRED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--### Configure Compiler ########################################################
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--if(CMAKE_VERSION VERSION_LESS "3.1")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    if(${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        set(CMAKE_CXX_FLAGS "--std=gnu++11 ${CMAKE_CXX_FLAGS}")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    elseif(${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        if("${IS_APPLE}" STREQUAL "")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--            set(CMAKE_CXX_FLAGS "-std=c++11 ${CMAKE_CXX_FLAGS}")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        else()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--            set(CMAKE_CXX_FLAGS "-std=c++11 -stdlib=libc++ ${CMAKE_CXX_FLAGS}")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--else()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    set(CMAKE_CXX_STANDARD 11)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--if(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" AND ${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    set(CMAKE_EXE_LINKER_FLAGS "-lthr ${CMAKE_EXE_LINKER_FLAGS}")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    set(CMAKE_CXX_FLAGS "-stdlib=libc++ ${CMAKE_CXX_FLAGS}")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# This example also requires Boost.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Set components here, then include UHDBoost to do the actual finding
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+set(UHD_BOOST_REQUIRED_COMPONENTS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    program_options
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    system
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    thread
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+set(BOOST_MIN_VERSION 1.58)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+include(UHDBoost)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# need these include and link directories for the build
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- include_directories(
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     ${Boost_INCLUDE_DIRS}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     ${UHD_INCLUDE_DIRS}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/mpm/CMakeLists.txt b/mpm/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 78759cc..6875130 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/mpm/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/mpm/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -5,7 +5,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # SPDX-License-Identifier: GPL-3.0-or-later
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--cmake_minimum_required(VERSION 3.1)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+cmake_minimum_required(VERSION 3.5.1)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- project(MPM C CXX) # Also has Python, but CMake can take care of that later
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Set the default value for CMAKE_INSTALL_PREFIX to /usr
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -19,6 +19,12 @@ endif(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- list(INSERT CMAKE_MODULE_PATH 0 ${CMAKE_SOURCE_DIR}/cmake/Modules)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set(UHD_HOST_ROOT ${CMAKE_SOURCE_DIR}/../host)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+########################################################################
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Set C++ Standard
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+########################################################################
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+set(CMAKE_CXX_STANDARD 14)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ########################################################################
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Setup Python API
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ########################################################################
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -36,7 +42,6 @@ find_package(PythonLibs ${MPM_PYTHON_VERSION} REQUIRED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Now, we can also include CMake modules from UHD:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- list(INSERT CMAKE_MODULE_PATH 0 ${UHD_HOST_ROOT}/cmake/Modules)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ########################################################################
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Version Information
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ########################################################################
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -74,28 +79,18 @@ endmacro(USRP_PERIPHS_ADD_OBJECT)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # other platforms.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- message(STATUS "")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- message(STATUS "Configuring Boost C++ Libraries...")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--set(BOOST_REQUIRED_COMPONENTS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+set(UHD_BOOST_REQUIRED_COMPONENTS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     system
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     thread
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Same as with Python version: MPM might work with other versions of Boost,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # but we don't make any guarantees.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--set(MPM_BOOST_VERSION "1.66")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# This variable is a helper for the find_package() command below, and only
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# takes effect if the build is happening on a system where the FindBoost.cmake
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# file is older than ${MPM_BOOST_VERSION}, which is usually not the case.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--set(Boost_ADDITIONAL_VERSIONS ${MPM_BOOST_VERSION})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--find_package(Boost ${MPM_BOOST_VERSION} COMPONENTS ${BOOST_REQUIRED_COMPONENTS})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+set(BOOST_MIN_VERSION "1.66")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+include(UHDBoost)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- include_directories(${Boost_INCLUDE_DIRS})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- link_directories(${Boost_LIBRARY_DIRS})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--message(STATUS "Boost include directories: ${Boost_INCLUDE_DIRS}")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--message(STATUS "Boost library directories: ${Boost_LIBRARY_DIRS}")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--message(STATUS "Boost libraries: ${Boost_LIBRARIES}")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ########################################################################
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Install Dirs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ########################################################################
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -113,7 +108,6 @@ set(PKG_MAN_DIR share/man/man1)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ########################################################################
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Setup library configuration
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ########################################################################
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--set(CMAKE_CXX_STANDARD 14)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- include(CheckCXXCompilerFlag)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CHECK_CXX_COMPILER_FLAG("-Wno-psabi" _has_no_psabi)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # -Wno-psabi lets us know if the gcc ABI changed and would cause binaries
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/tools/kitchen_sink/CMakeLists.txt b/tools/kitchen_sink/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index dc7f5c6..cd425af 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/tools/kitchen_sink/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/tools/kitchen_sink/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -15,7 +15,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # along with this program.  If not, see <http://www.gnu.org/licenses/>.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--cmake_minimum_required(VERSION 2.8)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+cmake_minimum_required(VERSION 3.5.1)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- project(kitchen_sink CXX)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ###############################################################################
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -28,8 +28,11 @@ endif(NOT CMAKE_BUILD_TYPE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set(CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE} CACHE STRING "")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ### Set up build environment ##################################################
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#### Set up UHD:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+find_package(UHD "3.7.3" REQUIRED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #### Set up Boost:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--set(BOOST_REQUIRED_COMPONENTS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+set(UHD_BOOST_REQUIRED_COMPONENTS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     date_time
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     filesystem
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     program_options
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -38,30 +41,8 @@ set(BOOST_REQUIRED_COMPONENTS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     thread
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     unit_test_framework
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--if(UNIX AND EXISTS "/usr/lib64")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    list(APPEND BOOST_LIBRARYDIR "/usr/lib64") #fedora 64-bit fix
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--endif(UNIX AND EXISTS "/usr/lib64")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--if(MSVC)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    set(BOOST_ALL_DYN_LINK "${BOOST_ALL_DYN_LINK}" CACHE BOOL "boost enable dynamic linking")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    if(BOOST_ALL_DYN_LINK)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        add_definitions(-DBOOST_ALL_DYN_LINK) #setup boost auto-linking in msvc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    else(BOOST_ALL_DYN_LINK)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        unset(BOOST_REQUIRED_COMPONENTS) #empty components list for static link
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    endif(BOOST_ALL_DYN_LINK)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--endif(MSVC)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--set(Boost_ADDITIONAL_VERSIONS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    "1.45.0" "1.45" "1.46.0" "1.46" "1.47.0" "1.47" "1.48.0" "1.48" "1.49.0" "1.49"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    "1.50.0" "1.50" "1.51.0" "1.51" "1.52.0" "1.52" "1.53.0" "1.53" "1.54.0" "1.54"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    "1.55.0" "1.55" "1.56.0" "1.56" "1.57.0" "1.57" "1.58.0" "1.58" "1.59.0" "1.59"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    "1.60.0" "1.60" "1.61.0" "1.61" "1.62.0" "1.62" "1.63.0" "1.63" "1.64.0" "1.64"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    "1.65.0" "1.65" "1.66.0" "1.66" "1.67.0" "1.67" "1.68.0" "1.68" "1.69.0" "1.69"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--find_package(Boost 1.46 COMPONENTS ${BOOST_REQUIRED_COMPONENTS})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#### Set up UHD:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--find_package(UHD "3.7.3" REQUIRED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+set(BOOST_MIN_VERSION "1.58")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+include(UHDBoost)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ### Configure Compiler ########################################################
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- include_directories(
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/tools/nirio_programmer/CMakeLists.txt b/tools/nirio_programmer/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 9d38848..ba18a3b 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/tools/nirio_programmer/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/tools/nirio_programmer/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -15,7 +15,8 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # along with this program.  If not, see <http://www.gnu.org/licenses/>.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--cmake_minimum_required(VERSION 2.8)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+cmake_minimum_required(VERSION 3.5.1)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+project(NIRIO_PROGRAMMER CXX)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ### Set up build environment ##################################################
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Choose a static or shared-library build (shared is default, and static will
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -23,28 +24,21 @@ cmake_minimum_required(VERSION 2.8)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Set this to ON in order to link a static build of UHD:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- option(UHD_USE_STATIC_LIBS OFF)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# To add UHD as a dependency to this project, add a line such as this:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+find_package(UHD "3.8.0" REQUIRED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# The version in  ^^^^^  here is a minimum version.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# To specify an exact version:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#find_package(UHD 3.8.1 EXACT REQUIRED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # This example also requires Boost:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--set(BOOST_REQUIRED_COMPONENTS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+set(UHD_BOOST_REQUIRED_COMPONENTS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     program_options
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     system
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     thread
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     regex
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--if(MSVC)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    set(BOOST_ALL_DYN_LINK "${BOOST_ALL_DYN_LINK}" CACHE BOOL "boost enable dynamic linking")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    if(BOOST_ALL_DYN_LINK)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        add_definitions(-DBOOST_ALL_DYN_LINK) #setup boost auto-linking in msvc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    else(BOOST_ALL_DYN_LINK)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        set(BOOST_REQUIRED_COMPONENTS) #empty components list for static link
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    endif(BOOST_ALL_DYN_LINK)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--endif(MSVC)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--find_package(Boost "1.46" REQUIRED ${BOOST_REQUIRED_COMPONENTS})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# To add UHD as a dependency to this project, add a line such as this:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--find_package(UHD "3.8.0" REQUIRED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# The version in  ^^^^^  here is a minimum version.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# To specify an exact version:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#find_package(UHD 3.8.1 EXACT REQUIRED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+set(BOOST_MIN_VERSION "1.58")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+include(UHDBoost)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ### Configure Compiler ########################################################
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- include_directories(
</span></pre><pre style='margin:0'>

</pre>