<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/349caa0d7ff6a2c7d29d988b908f02fa3a576663">https://github.com/macports/macports-ports/commit/349caa0d7ff6a2c7d29d988b908f02fa3a576663</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 349caa0  uhd: update to 3.15.0.0
</span>349caa0 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 349caa0d7ff6a2c7d29d988b908f02fa3a576663
</span>Author: Michael Dickens <michaelld@macports.org>
AuthorDate: Wed Jan 1 19:36:27 2020 -0500

<span style='display:block; white-space:pre;color:#404040;'>    uhd: update to 3.15.0.0
</span>---
 science/uhd/Portfile                               |  91 +--
 .../files/patch-fix-Boost_1.70.0_find.release.diff | 765 ---------------------
 .../uhd/files/patch-fix-boost-python.release.diff  |  77 ---
 .../files/patch-host_CMakeLists.txt.release.diff   |  10 +-
 4 files changed, 27 insertions(+), 916 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 9be1477..4a6f883 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;'>@@ -20,10 +20,10 @@ if {${subport} eq ${name}} {
</span>     long_description ${description}: \
 Provides the release version, which is typically updated every month or so.
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    github.setup EttusResearch uhd 3.14.1.1 v
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    checksums rmd160 1524187dd19a6741c95dc73ca4895eb517daf921 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-              sha256 61bf4875fd2baecb13fae67bd6b6770eefc6f519a9ba9a5f19fdf41d516ff142 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-              size   12960718
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    github.setup EttusResearch uhd 3.15.0.0 v
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    checksums rmd160 ac9ef6473cd5b034650e3979236d2535f398dec2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+              sha256 fe385e826b8fbf4e869b4b919b7b7b8f01fba283bc0b8ffb954947f819b9c07b \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+              size   12896898
</span>     revision  0
 
     conflicts uhd-devel uhd-39lts
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -35,47 +35,13 @@ Provides the release version, which is typically updated every month or so.
</span>     # overload the github livecheck regex to look for versions that
     # are just numbers and '.', no letters (e.g., "3.7.3_rc2").
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    github.livecheck.regex  {([0-9.]+)}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    github.livecheck.regex {([0-9.]+)}
</span> 
     # temporary patch to disable Boost DIRS before internal DIRS
 
     patchfiles-append patch-host_CMakeLists.txt.release.diff
     patch.pre_args -p1
 
<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.release.diff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # temporary patch to fix searching for Boost::Python, which
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # depends on the version of Boost & which Python. 2 parts: a patch
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # and then reinplace. This is part 1.
</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-python.release.diff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # temporary patch to fix gpsdata API: .separation -> .fix.geoid_sep
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    patchfiles-append patch-fix-gpsdata_separation_api.diff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # temporary patch to add double quoting around UHD_VERSION, such
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # that if specified externally it can be any string. devel already
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # contains this patch.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    patchfiles-append patch-fix-UHD_VERSION_quotes.diff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # temporary patch to fix gpsdata API: .fix.altitude -> .fix.altHAE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    patchfiles-append patch-fix-gpsdata_altitude_api.diff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # temporary patch to fix searching for Boost::Python, which
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # depends on the version of Boost & which Python. 2 parts: a patch
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # and then reinplace. This is part 2.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    post-patch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # need to do this only for +python3X variants
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {${PythonVersionNoDot} ne "27"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            reinplace "s|@PythonVersionNoDot@|${PythonVersionNoDot}|g" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                ${worksrcpath}/host/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            reinplace "s|@PythonVersionWithDot@|${PythonVersionWithDot}|g" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                ${worksrcpath}/host/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span> }
 
 subport uhd-39lts {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -116,6 +82,19 @@ Provides UHD 3.9 Long-Term Service \(LTS\) branch. This branch is not updated ex
</span>     # temporary patch to fix gpsdata API: .fix.altitude -> .fix.altHAE
     patchfiles-append patch-fix-gpsdata_altitude_api.39lts.diff
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    # gpsd has been removed from release and devel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    default_variants +gpsd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    variant gpsd description {enable gpsd support} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_lib-append path:lib/libgps.dylib:gpsd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-append -DENABLE_GPSD=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            -DLIBGPS_LIBRARY=${prefix}/lib/libgps.dylib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            -DLIBGPS_INCLUDE_DIR=${prefix}/include
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {![variant_isset gpsd]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-append -DENABLE_GPSD=OFF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span> }
 
 subport uhd-devel {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -150,7 +129,7 @@ Provides the UHD GIT maint or master branch, depending on which is more advanced
</span> 
 # override the github Portgroup's homepage setting
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-homepage http://uhd.ettus.com/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage https://kb.ettus.com/UHD
</span> 
 if {${subport} ne "uhd-39lts"} {
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -161,13 +140,6 @@ if {${subport} ne "uhd-39lts"} {
</span> 
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${subport} ne "uhd-devel"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # gpsd has been removed from devel
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    default_variants +gpsd
</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> depends_lib-append port:boost port:ncurses
 
 depends_build-append port:pkgconfig
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -411,37 +383,18 @@ if {![variant_isset manpages]} {
</span>     configure.args-append -DENABLE_MAN_PAGES=OFF
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${subport} ne "uhd-devel"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # gpsd has been removed from devel
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    variant gpsd description {enable gpsd support} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        depends_lib-append path:lib/libgps.dylib:gpsd
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.args-append -DENABLE_GPSD=ON \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            -DLIBGPS_LIBRARY=${prefix}/lib/libgps.dylib \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            -DLIBGPS_INCLUDE_DIR=${prefix}/include
</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 {![variant_isset gpsd]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.args-append -DENABLE_GPSD=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> if {${subport} ne "uhd-39lts"} {
 
     variant python_api \
         description {enable Python API support (experimental)} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        depends_lib-append port:py${PythonVersionNoDot}-numpy
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_lib-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            port:py${PythonVersionNoDot}-numpy \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            port:py${PythonVersionNoDot}-pybind11
</span>         configure.args-append \
             -DENABLE_PYTHON_API=ON \
             -DPYTHON_INCLUDE_DIR=${PythonTopDir}/Headers \
             -DPYTHON_LIBRARY=${PythonTopDir}/Python \
             -DUHD_PYTHON_DIR=${PythonTopDir}/lib/${PythonName}/site-packages
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # 'uhd' requires boost-python to be the correct version, not
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # 'uhd-devel' or 'uhd-39lts'; remove this once the release has
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # fully moved to pybind11.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {${subport} eq "uhd"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            require_active_variants boost python${PythonVersionNoDot}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        }
</span>     }
 
     if {![variant_isset python_api]} {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/uhd/files/patch-fix-Boost_1.70.0_find.release.diff b/science/uhd/files/patch-fix-Boost_1.70.0_find.release.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 9bbcb07..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/science/uhd/files/patch-fix-Boost_1.70.0_find.release.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,765 +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;'>-@@ -290,13 +290,29 @@ if(${ENABLE_PYTHON3})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     set(BOOST_PYTHON_COMPONENT python3)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     set(BOOST_PYTHON_VERSION 3)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+set(UHD_BOOST_OPTIONAL_COMPONENTS ${BOOST_PYTHON_COMPONENT})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+unset(UHD_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;'>-+#Check to see if the Python version we're looking for exists
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+set(BOOST_PYTHON_FOUND ${Boost_PYTHON_FOUND})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+set(BOOST_PYTHON_LIBRARY ${Boost_PYTHON_LIBRARY})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if(${ENABLE_PYTHON3})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    set(BOOST_PYTHON_FOUND ${Boost_PYTHON3_FOUND})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    set(BOOST_PYTHON_LIBRARY ${Boost_PYTHON3_LIBRARY})
</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 Python Found: ${BOOST_PYTHON_FOUND}")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if(BOOST_PYTHON_FOUND)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    message(STATUS "Boost Python Libraries: ${BOOST_PYTHON_LIBRARY}")
</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;'>- ########################################################################
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Setup Boost
</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;'>-+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;'>-@@ -305,57 +321,14 @@ 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;'>--set(BOOST_OPTIONAL_COMPONENTS ${BOOST_PYTHON_COMPONENT})
</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.46.0" "1.46" "1.47.0" "1.47" "1.48.0" "1.48" "1.48.0" "1.49" "1.50.0" "1.50"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    "1.51.0" "1.51" "1.52.0" "1.52" "1.53.0" "1.53" "1.54.0" "1.54" "1.55.0" "1.55"
</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;'>--#Python API requirements
</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;'>-+unset(UHD_BOOST_OPTIONAL_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;'>--#Check to see if the Python version we're looking for exists
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--set(BOOST_PYTHON_FOUND ${Boost_PYTHON_FOUND})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--set(BOOST_PYTHON_LIBRARY ${Boost_PYTHON_LIBRARY})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--if(${ENABLE_PYTHON3})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    set(BOOST_PYTHON_FOUND ${Boost_PYTHON3_FOUND})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    set(BOOST_PYTHON_LIBRARY ${Boost_PYTHON3_LIBRARY})
</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 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;'>-@@ -438,7 +411,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;'>-@@ -524,7 +496,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;'>-@@ -550,13 +522,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
</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 @@
</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;'>-@@ -4,7 +4,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;'>-@@ -18,6 +18,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;'>-@@ -27,7 +33,6 @@ find_package(PythonLibs 3 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;'>-@@ -62,44 +67,16 @@ endmacro(USRP_PERIPHS_ADD_OBJECT)
</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;'>-+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;'>-   python3
</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"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--find_package(Boost 1.53 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;'>-@@ -125,7 +102,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;'>- if(_has_no_psabi)
</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><span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/uhd/files/patch-fix-boost-python.release.diff b/science/uhd/files/patch-fix-boost-python.release.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index b34124c..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/science/uhd/files/patch-fix-boost-python.release.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,77 +0,0 @@
</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 78fff72..9f6e028 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;'>-@@ -284,27 +284,60 @@ endif(WIN32)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Choose a version of Python
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ########################################################################
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- option(ENABLE_PYTHON3 "Enable Python 3. Default is Python 2" OFF)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--set(BOOST_PYTHON_COMPONENT python)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--set(BOOST_PYTHON_VERSION 2.7)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--if(${ENABLE_PYTHON3})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    set(BOOST_PYTHON_COMPONENT python3)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    set(BOOST_PYTHON_VERSION 3)
</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;'>-+# Find Boost Version
</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 "Determining Boost Version...")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+unset(UHD_BOOST_OPTIONAL_COMPONENTS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+unset(UHD_BOOST_REQUIRED_COMPONENTS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+set(Boost_FIND_QUIET TRUE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+include(UHDBoost)
</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 "Determining Boost Version... found ${Boost_VERSION}")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    message(STATUS "Determining Boost Version... Boost 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;'>-+########################################################################
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Setup Boost : Optional Component(s)
</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 "Looking for Boost::Python ...")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if(${Boost_VERSION} VERSION_LESS_EQUAL "1.66.0")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if(${ENABLE_PYTHON3})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        set(BOOST_PYTHON_COMPONENT python3)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        set(BOOST_PYTHON_VERSION 3)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    else()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        set(BOOST_PYTHON_COMPONENT python)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        set(BOOST_PYTHON_VERSION 2.7)
</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;'>-+    if(${ENABLE_PYTHON3})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        set(BOOST_PYTHON_COMPONENT python@PythonVersionNoDot@)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        set(BOOST_PYTHON_VERSION @PythonVersionWithDot@)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    else()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        set(BOOST_PYTHON_COMPONENT python27)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        set(BOOST_PYTHON_VERSION 2.7)
</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;'>- set(UHD_BOOST_OPTIONAL_COMPONENTS ${BOOST_PYTHON_COMPONENT})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- unset(UHD_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;'>- #Check to see if the Python version we're looking for exists
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--set(BOOST_PYTHON_FOUND ${Boost_PYTHON_FOUND})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--set(BOOST_PYTHON_LIBRARY ${Boost_PYTHON_LIBRARY})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--if(${ENABLE_PYTHON3})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    set(BOOST_PYTHON_FOUND ${Boost_PYTHON3_FOUND})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    set(BOOST_PYTHON_LIBRARY ${Boost_PYTHON3_LIBRARY})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+string(TOUPPER ${BOOST_PYTHON_COMPONENT} BOOST_PYTHON_COMPONENT_VAR)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+set(BOOST_PYTHON_COMPONENT_FOUND "Boost_${BOOST_PYTHON_COMPONENT_VAR}_FOUND")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+set(BOOST_PYTHON_FOUND ${${BOOST_PYTHON_COMPONENT_FOUND}})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if(BOOST_PYTHON_FOUND)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    set(BOOST_PYTHON_COMPONENT_LIBRARY "Boost_${BOOST_PYTHON_COMPONENT_VAR}_LIBRARY")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    set(BOOST_PYTHON_LIBRARY ${${BOOST_PYTHON_COMPONENT_LIBRARY}})
</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 Python Found: ${BOOST_PYTHON_FOUND}")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+message(STATUS "Boost::Python Found: ${BOOST_PYTHON_FOUND}")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if(BOOST_PYTHON_FOUND)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    message(STATUS "Boost Python Libraries: ${BOOST_PYTHON_LIBRARY}")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    message(STATUS "Boost::Python library: ${BOOST_PYTHON_LIBRARY}")
</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;'>- ########################################################################
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/uhd/files/patch-host_CMakeLists.txt.release.diff b/science/uhd/files/patch-host_CMakeLists.txt.release.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index 6d337b7..0f47ea5 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/science/uhd/files/patch-host_CMakeLists.txt.release.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/science/uhd/files/patch-host_CMakeLists.txt.release.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,13 +1,13 @@
</span> --- a/host/CMakeLists.txt
 +++ b/host/CMakeLists.txt
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -341,8 +341,8 @@
</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:#e0ffe0;'>+@@ -295,8 +295,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ include(UHDBoost)
</span>  
 -include_directories(${Boost_INCLUDE_DIRS})
 -link_directories(${Boost_LIBRARY_DIRS})
 +# include_directories(${Boost_INCLUDE_DIRS})
 +# link_directories(${Boost_LIBRARY_DIRS})
  
<span style='display:block; white-space:pre;background:#ffe0e0;'>- #Check to see if the Python version we're looking for exists
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set(BOOST_PYTHON_FOUND ${Boost_PYTHON_FOUND})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ########################################################################
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Additional settings for build environment
</span></pre><pre style='margin:0'>

</pre>