<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/e99d7336910768c06a94f0c37084929f04c1b131">https://github.com/macports/macports-ports/commit/e99d7336910768c06a94f0c37084929f04c1b131</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 e99d733  uhd-devel: update to 20190724-3c8ed1b5
</span>e99d733 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit e99d7336910768c06a94f0c37084929f04c1b131
</span>Author: Michael Dickens <michaelld@macports.org>
AuthorDate: Tue Jul 30 10:40:23 2019 -0400

<span style='display:block; white-space:pre;color:#404040;'>    uhd-devel: update to 20190724-3c8ed1b5
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    + Tweak existing patches to be more robust
</span><span style='display:block; white-space:pre;color:#404040;'>    + add patches to fix GPS API changes
</span>---
 science/uhd/Portfile                               |  23 +-
 .../files/patch-fix-Boost_1.70.0_find.devel.diff   | 474 +++++++++++++++------
 .../uhd/files/patch-fix-gpsdata_altitude_api.diff  |  42 ++
 .../files/patch-fix-gpsdata_separation_api.diff    |  26 ++
 .../uhd/files/patch-host_CMakeLists.txt.devel.diff |  10 +-
 5 files changed, 429 insertions(+), 146 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 72a3245..a0834db 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;'>@@ -91,18 +91,18 @@ subport uhd-devel {
</span>     long_description ${description}: \
 Provides the UHD GIT maint or master branch, depending on which is more advanced, and is typically updated every few days to week.
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    github.setup EttusResearch uhd f83faf28b3424ba60c3bdc40d408011c9c619c8a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    version   20190524-[string range ${github.version} 0 7]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    checksums rmd160 7e68e26e57e4cfbbbb819bfd056fb0407beddd36 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-              sha256 e73c860b49e2365a12a71a6e072f19e8b8d86761b1f814561cb2e81c1b8073d9 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-              size   13008034
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    github.setup EttusResearch uhd 3c8ed1b5baa5fcd093dc9e34550d485a2d3d2bd0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    version   20190724-[string range ${github.version} 0 7]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    checksums rmd160 55641b2ba6a3c9367a0c0c01aad49edb9dfbbd3c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+              sha256 36cfa160dc4e4a9ff0d22ac8afe90639165e9d7c555d6acd671cb92543ad94d9 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+              size   13011467
</span>     revision  0
 
     conflicts uhd uhd-39lts
 
     # set the version override string
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    set UHD_VERSION_INFO "git-[string range ${github.version} 0 7](${version})"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set UHD_VERSION_INFO "${version}"
</span> 
     # temporary patch to fix working with various Boost versions,
     # including 1.70.0
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -140,8 +140,19 @@ if {${subport} ne "uhd-devel"} {
</span>     # release. works on all non-devel UHD ports; devel contains this patch.
     patchfiles-append patch-fix-gpsd_read-api.diff
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    # temporary patch to fix gpsdata API: .separation -> .fix.geoid_sep
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles-append patch-fix-gpsdata_separation_api.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # temporary patch to add double quoting around UHD_VERSION, such
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # that if specified externally it can be any string. devel already
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # contains this patch.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles-append patch-fix-UHD_VERSION_quotes.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# temporary patch to fix gpsdata API: .fix.altitude -> .fix.altHAE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append patch-fix-gpsdata_altitude_api.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> depends_lib-append port:boost port:ncurses
 
 depends_build-append port:pkgconfig
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/uhd/files/patch-fix-Boost_1.70.0_find.devel.diff b/science/uhd/files/patch-fix-Boost_1.70.0_find.devel.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index 7f1d448..ff992bc 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/science/uhd/files/patch-fix-Boost_1.70.0_find.devel.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/science/uhd/files/patch-fix-Boost_1.70.0_find.devel.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,5 +1,5 @@
</span> diff --git a/host/CMakeLists.txt b/host/CMakeLists.txt
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 916138e..7f59d44 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 916138e..28bf660 100644
</span> --- a/host/CMakeLists.txt
 +++ b/host/CMakeLists.txt
 @@ -279,7 +279,9 @@ endif(WIN32)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -13,7 +13,7 @@ index 916138e..7f59d44 100644
</span>      chrono
      date_time
      filesystem
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -288,45 +290,13 @@ set(BOOST_REQUIRED_COMPONENTS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -288,45 +290,15 @@ set(BOOST_REQUIRED_COMPONENTS
</span>      system
      unit_test_framework
      serialization
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -49,6 +49,8 @@ index 916138e..7f59d44 100644
</span> -
 -message(STATUS "Looking for required Boost components...")
 -find_package(Boost ${BOOST_MIN_VERSION} COMPONENTS ${BOOST_REQUIRED_COMPONENTS})
<span style='display:block; white-space:pre;background:#e0ffe0;'>++# Do -not- require Boost during finding
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++set(UHD_BOOST_REQUIRED FALSE)
</span> +include(UHDBoost)
  
  include_directories(${Boost_INCLUDE_DIRS})
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -61,7 +63,7 @@ index 916138e..7f59d44 100644
</span>  ########################################################################
  # Additional settings for build environment
  ########################################################################
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -486,7 +456,7 @@ endif(NOT CMAKE_MODULES_DIR)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -486,7 +458,7 @@ endif(NOT CMAKE_MODULES_DIR)
</span>  # UHDConfig.cmake needs UHD_LINK_LIST_STATIC set:
  list(APPEND UHD_LINK_LIST_STATIC "dl")
  list(APPEND UHD_LINK_LIST_STATIC "pthread")
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -70,42 +72,31 @@ index 916138e..7f59d44 100644
</span>      if(NOT ${Boost_Comp} STREQUAL "unit_test_framework")
          list(APPEND UHD_LINK_LIST_STATIC "boost_${Boost_Comp}")
      endif(NOT ${Boost_Comp} STREQUAL "unit_test_framework")
<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..734aeb8 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;'>-@@ -14,20 +14,13 @@ cmake_minimum_required(VERSION 2.8)
</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:#e0ffe0;'>+@@ -512,13 +484,14 @@ configure_file(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     @ONLY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ )
</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:#e0ffe0;'>+-set(cmake_configs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++set(uhd_cmake_scripts
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     ${CMAKE_BINARY_DIR}/cmake/Modules/UHDConfig.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     ${CMAKE_BINARY_DIR}/cmake/Modules/UHDConfigVersion.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    ${CMAKE_SOURCE_DIR}/cmake/Modules/UHDBoost.cmake
</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;'>-+set(BOOST_MIN_VERSION "1.46")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+include(UHDBoost)
</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:#e0ffe0;'>+ UHD_INSTALL(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    FILES ${cmake_configs}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    FILES ${uhd_cmake_scripts}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     DESTINATION ${CMAKE_MODULES_DIR}/uhd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     COMPONENT "devel"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ )
</span> diff --git a/host/cmake/Modules/UHDBoost.cmake b/host/cmake/Modules/UHDBoost.cmake
 new file mode 100644
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 0000000..e16782f
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 0000000..7c093e6
</span> --- /dev/null
 +++ b/host/cmake/Modules/UHDBoost.cmake
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -0,0 +1,261 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -0,0 +1,314 @@
</span> +#
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Copyright 2019 National Instruments Corp.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Copyright 2019 Ettus Research, a National Instruments Brand
</span> +#
 +# SPDX-License-Identifier: GPL-3.0-or-later
 +#
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -133,8 +124,15 @@ index 0000000..e16782f
</span> +# Boost can be found, and sets Boost_FOUND accordingly; all of the
 +# other return variables will be unset / undefined.
 +#
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Upon successful finding, the following variables will be set upon
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# return:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# UHD_BOOST_REQUIRED : Whether to set Boost required components as
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# "required" during finding. If not specified, then defaults to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# TRUE. If REQUIRED is TRUE and Boost is not found, then this script
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# will error out. Otherwise this script will not error out, and the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# variable Boost_FOUND will indicate whether a compatible version
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Boost was found or not.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Upon find returning, the following variables will be set upon return
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# of this script:
</span> +#
 +# Boost_FOUND : will be TRUE if all of the required Boost components
 +# are found with the correct linkage (static or shared); otherwise
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -162,6 +160,20 @@ index 0000000..e16782f
</span> +unset(Boost_LIBRARY_DIRS)
 +unset(Boost_LIBRARIES)
 +
<span style='display:block; white-space:pre;background:#e0ffe0;'>++# check whether to set REQUIRED or not
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# if not set, default is to require Boost
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if(NOT UHD_BOOST_REQUIRED)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    # UHD_BOOST_REQUIRED is not set; use the default
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    set(UHD_BOOST_REQUIRED "REQUIRED")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++elseif(UHD_BOOST_REQUIRED)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    # UHD_BOOST_REQUIRED is set to TRUE/ON/1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    set(UHD_BOOST_REQUIRED "REQUIRED")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    # UHD_BOOST_REQUIRED is not set to TRUE/ON/1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    unset(UHD_BOOST_REQUIRED)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# set this for verbosity during 'find'
</span> +# set(Boost_DEBUG TRUE)
 +
 +# verify we're looking for something
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -170,7 +182,7 @@ index 0000000..e16782f
</span> +if(UHD_BOOST_OPTIONAL_COMPONENTS_LEN EQUAL 0 AND
 +   UHD_BOOST_REQUIRED_COMPONENTS_LEN EQUAL 0)
 +    # just see if Boost can be found
<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:#e0ffe0;'>++    find_package(Boost ${BOOST_MIN_VERSION} QUIET ${UHD_BOOST_REQUIRED})
</span> +    if(Boost_FOUND)
 +        message(STATUS "Boost version ${BOOST_MIN_VERSION} or greater - found")
 +    else()
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -211,6 +223,22 @@ index 0000000..e16782f
</span> +    endif(BOOST_ALL_DYN_LINK)
 +endif(MSVC)
 +
<span style='display:block; white-space:pre;background:#e0ffe0;'>++# Starting in CMake 3.15.0, if policy 'CMP0093' is available and set
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# to 'NEW', then the Boost_VERSION will be returned as X.Y.Z (e.g.,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# 1.70.0) instead of XXYYZZ (107000). The OLD policy is the default
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# for now, but is deprecated and relevant code should be updated to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# the NEW policy format. This change matches the version format
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# returned by Boost's CMake scripts. See also:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# https://cmake.org/cmake/help/v3.15/policy/CMP0093.html#policy:CMP0093
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Tell FindBoost, if used, to report Boost_VERSION in X.Y.Z format.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# NOTE: This must be set -before- calling "find_package(Boost ...)".
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# NOTE: This setting is for CMake scripts only; each language (e.g.,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# C++) that uses Boost maintains its current format for the Boost
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# version variable.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if(POLICY CMP0093)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    cmake_policy(SET CMP0093 NEW)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span> +# tell boost the linkage required
 +set(Boost_USE_STATIC_LIBS ${ENABLE_STATIC_LIBS})
 +# temporarily explicitly enable or disable shared libraries,
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -237,7 +265,7 @@ index 0000000..e16782f
</span> +if(${UHD_BOOST_REQUIRED_COMPONENTS_LEN} GREATER 0)
 +    message(STATUS "  Looking for required Boost components...")
 +    find_package(Boost ${BOOST_MIN_VERSION} QUIET
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+        COMPONENTS ${UHD_BOOST_REQUIRED_COMPONENTS})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        COMPONENTS ${UHD_BOOST_REQUIRED_COMPONENTS} ${UHD_BOOST_REQUIRED})
</span> +endif()
 +
 +# restore BUILD_SHARED_LIBS, if set
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -248,113 +276,129 @@ index 0000000..e16782f
</span> +    unset(BUILD_SHARED_LIBS)
 +endif()
 +
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+# fix the value of "Boost_VERSION" if 1.70.0, which is X.Y.Z. Change
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# it to the expected value of XXYYZZ. This might apply to Boost >
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# 1.70.0 too; have to examine those once they are released!
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if(${Boost_VERSION} VERSION_EQUAL 1.70.0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    set(Boost_VERSION 107000)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    message(STATUS "  Fixed Boost version from 1.70.0 to 107000")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if(NOT Boost_FOUND)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    # Boost was not found
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    # clear out return variables, just in case
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    unset(Boost_VERSION)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    unset(Boost_INCLUDE_DIRS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    unset(Boost_LIBRARY_DIRS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    unset(Boost_LIBRARIES)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    # Boost was found; do fixups and related tests / checks
</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(${Boost_VERSION} VERSION_GREATER 106700)
</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:#e0ffe0;'>++    # fix the Boost_VERSION to be X.Y.Z if CMake version < 3.15
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if(CMAKE_VERSION VERSION_LESS 3.15)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        set(Boost_VERSION "${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION}")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    endif()
</span> +
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+# for Boost 1.6[6-8].0, and possibly others, disable ASIO use of
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# std::string_view entirely if it is not available for whatever
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# reason. This situation generally happens on macOS using Clang and
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# -std=c++14 or earlier ... but it can occur in other situations, so
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# just to a generic check. This issue should be fixed in Boost 1.70.0.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Check if std::string_view is available.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+include(CheckCXXSourceCompiles)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# set the CheckCXXSourceCompiles C++ flags to include the c++ standard
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# required.  this looks like a bug in cmake ... if the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# CMAKE_CXX_STANDARD is set, it should be honored when issuing
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# "check_cxx_source_compiles"!
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# store the old flags if set
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if(CMAKE_REQUIRED_FLAGS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  set(OLD_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+set(CMAKE_REQUIRED_FLAGS "-std=c++${CMAKE_CXX_STANDARD}")
</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;'>-+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;'>-+    HAS_STRING_VIEW
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# restore old flags if set
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if(OLD_CMAKE_REQUIRED_FLAGS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  set(CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQUIRED_FLAGS})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+else()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  unset(CMAKE_REQUIRED_FLAGS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+unset(OLD_CMAKE_REQUIRED_FLAGS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# did boost::asio succeed in compiling using std::string_view?
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+if(HAS_STRING_VIEW)
</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;'>-+    set(HAS_STRING_VIEW 1)
</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;'>-+    set(HAS_STRING_VIEW 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+add_definitions(-DBOOST_ASIO_HAS_STD_STRING_VIEW=${HAS_STRING_VIEW})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+unset(HAS_STRING_VIEW)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    # generic fix for some linking issues with Boost 1.68.0 or newer.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if(${Boost_VERSION} VERSION_GREATER_EQUAL 1.68.0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        message(STATUS "  Enabling Boost Error Code Header Only")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        add_definitions(-DBOOST_ERROR_CODE_HEADER_ONLY)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    # test for std::string_view in boost::asio only if we're using
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    # 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:#e0ffe0;'>++    # use this feature. Boost 1.67.0 and earlier at best checked for
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    # and used std::experimental::string_view, which causes issues for
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    # some Boost & C++ versions ... so, just don't use it!
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    set(USE_STD_STRING_VIEW_IN_BOOST_ASIO FALSE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if(CMAKE_CXX_STANDARD AND ${CMAKE_CXX_STANDARD} GREATER_EQUAL 17 AND
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       ${Boost_VERSION} VERSION_GREATER_EQUAL 1.68.0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        # boost::asio::string_view can fail in compiling or linking simple
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        # c++. This situation generally happens on for Boost 1.66 - 1.68
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        # and macOS using Clang and -std=c++14 ... but it can occur in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        # other situations, so just do a generic check. This issue seems
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        # to be fixed in Boost 1.70.0.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        message(STATUS "  Checking whether std::string_view works in boost::asio")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        # unset the return variable, otherwise the compile doesn't take place!
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        unset(USE_STD_STRING_VIEW_IN_BOOST_ASIO)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        # set various CheckCXXSourceCompiles variables
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        include(CheckCXXSourceCompiles)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        # set the c++ standard to test using
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        set(CMAKE_REQUIRED_FLAGS "-std=c++${CMAKE_CXX_STANDARD}")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        # make this compile quite
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        set(CMAKE_REQUIRED_QUIET TRUE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        # disable Boost's use of std::experimental::string_view
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        set(CMAKE_REQUIRED_DEFINITIONS -DBOOST_ASIO_DISABLE_STD_EXPERIMENTAL_STRING_VIEW)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        # Check if std::string_view works in boost::asio
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        check_cxx_source_compiles(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            "#include <boost/asio/detail/string_view.hpp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            int main()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            { boost::asio::string_view sv; }"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            USE_STD_STRING_VIEW_IN_BOOST_ASIO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        # clear the various CheckCXXSourceCompiles variables
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        unset(CMAKE_REQUIRED_FLAGS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        unset(CMAKE_REQUIRED_QUIET)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        unset(CMAKE_REQUIRED_DEFINITIONS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    # use std::string_view in boost::asio?
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if(USE_STD_STRING_VIEW_IN_BOOST_ASIO)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        message(STATUS "  Enabling boost::asio use of std::string_view")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        add_definitions(-DBOOST_ASIO_HAS_STD_STRING_VIEW)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    else()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        message(STATUS "  Disabling boost::asio use of std::string_view")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        add_definitions(-DBOOST_ASIO_DISABLE_STD_STRING_VIEW)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    unset(USE_STD_STRING_VIEW_IN_BOOST_ASIO)
</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 107000))
</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:#e0ffe0;'>++    # disable Boost's use of std::experimental::string_view
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    # works for Boost 1.67.0 and newer & doesn't hurt older
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    add_definitions(-DBOOST_ASIO_DISABLE_STD_EXPERIMENTAL_STRING_VIEW)
</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(NOT Boost_LIBRARIES OR ${Boost_LIBRARIES} STREQUAL "")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    # Boost 1.70.0's find cmake scripts don't always set the expected
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    # return variables. Replicate the commit that fixes that issue here:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    # https://github.com/boostorg/boost_install/commit/cfa8d55250dfc2635e907e42da423e4eb540dee5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if(Boost_FOUND AND (${Boost_VERSION} VERSION_EQUAL 1.70.0))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        message(STATUS "  Enabling possible Boost 1.70.0 Fixes")
</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(NOT Boost_INCLUDE_DIRS OR ${Boost_INCLUDE_DIRS} STREQUAL "")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        # FindBoost compatibility variables: Boost_LIBRARIES, Boost_<C>_LIBRARY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        if(NOT Boost_LIBRARIES OR "${Boost_LIBRARIES}" STREQUAL "")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            set(Boost_LIBRARIES "")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            foreach(dep IN LISTS UHD_BOOST_REQUIRED_COMPONENTS UHD_BOOST_OPTIONAL_COMPONENTS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                string(TOUPPER ${dep} _BOOST_DEP)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                if(NOT Boost_${_BOOST_DEP}_FOUND)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    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:#e0ffe0;'>++                endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                list(APPEND Boost_LIBRARIES Boost::${dep})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                set(Boost_${_BOOST_DEP}_LIBRARY Boost::${dep})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            endforeach()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        endif(NOT Boost_LIBRARIES OR ${Boost_LIBRARIES} STREQUAL "")
</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(NOT Boost_LIBRARIES OR ${Boost_LIBRARIES} STREQUAL "")
</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:#e0ffe0;'>++        # FindBoost compatibility variables: Boost_INCLUDE_DIRS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        if(NOT Boost_INCLUDE_DIRS OR "${Boost_INCLUDE_DIRS}" STREQUAL "")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            get_target_property(Boost_INCLUDE_DIRS Boost::headers INTERFACE_INCLUDE_DIRECTORIES)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        endif(NOT Boost_INCLUDE_DIRS OR ${Boost_INCLUDE_DIRS} STREQUAL "")
</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:#e0ffe0;'>++        # FindBoost compatibility variables: Boost_LIBRARY_DIRS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        if(NOT Boost_LIBRARY_DIRS OR "${Boost_LIBRARY_DIRS}" STREQUAL "")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            set(Boost_LIBRARY_DIRS "")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            foreach(dep IN LISTS UHD_BOOST_REQUIRED_COMPONENTS UHD_BOOST_OPTIONAL_COMPONENTS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                string(TOUPPER ${dep} _BOOST_DEP)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                if(NOT Boost_${_BOOST_DEP}_FOUND)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    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:#e0ffe0;'>++                endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                if(Boost_USE_DEBUG_LIBS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    get_target_property(Boost_${dep}_LIBRARY Boost::${dep} IMPORTED_LOCATION_DEBUG)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                else()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    get_target_property(Boost_${dep}_LIBRARY Boost::${dep} IMPORTED_LOCATION_RELEASE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                get_filename_component(Boost_${dep}_LIBRARY_DIR ${Boost_${dep}_LIBRARY} DIRECTORY ABSOLUTE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                list(FIND Boost_LIBRARY_DIRS ${Boost_${dep}_LIBRARY_DIR} Boost_${dep}_LIBRARY_DIR_FOUND)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                if(${Boost_${dep}_LIBRARY_DIR_FOUND} EQUAL -1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    list(APPEND Boost_LIBRARY_DIRS ${Boost_${dep}_LIBRARY_DIR})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            endforeach()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        endif(NOT Boost_LIBRARIES OR ${Boost_LIBRARIES} STREQUAL "")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        list(SORT Boost_LIBRARY_DIRS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    message(STATUS "  Boost version: ${Boost_VERSION}")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    message(STATUS "  Boost include directories: ${Boost_INCLUDE_DIRS}")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    message(STATUS "  Boost library directories: ${Boost_LIBRARY_DIRS}")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    message(STATUS "  Boost libraries: ${Boost_LIBRARIES}")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++endif()
</span> +
 +if(Boost_FOUND)
 +    message(STATUS "Looking for Boost version ${BOOST_MIN_VERSION} or greater - found")
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -365,3 +409,163 @@ index 0000000..e16782f
</span> +# unset some variables, if set
 +unset(Boost_LIBRARY_DIR)
 +unset(Boost_INCLUDE_DIR)
<span style='display:block; white-space:pre;background:#e0ffe0;'>+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:#e0ffe0;'>+index 3260ce5..a58bcce 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/host/examples/init_usrp/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/host/examples/init_usrp/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6,6 +6,7 @@
</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;'>+ cmake_minimum_required(VERSION 2.8)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++project(INIT_USRP CXX)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ### Set up build environment ##################################################
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Choose a static or shared-library build (shared is default, and static will
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -14,20 +15,13 @@ cmake_minimum_required(VERSION 2.8)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ option(UHD_USE_STATIC_LIBS OFF)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # This example also requires Boost:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-set(BOOST_REQUIRED_COMPONENTS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++set(UHD_BOOST_REQUIRED_COMPONENTS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     program_options
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     system
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     thread
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-if(MSVC)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    set(BOOST_ALL_DYN_LINK "${BOOST_ALL_DYN_LINK}" CACHE BOOL "boost enable dynamic linking")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    if(BOOST_ALL_DYN_LINK)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        add_definitions(-DBOOST_ALL_DYN_LINK) #setup boost auto-linking in msvc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    else(BOOST_ALL_DYN_LINK)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        set(BOOST_REQUIRED_COMPONENTS) #empty components list for static link
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    endif(BOOST_ALL_DYN_LINK)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-endif(MSVC)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-find_package(Boost "1.46" REQUIRED ${BOOST_REQUIRED_COMPONENTS})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++set(BOOST_MIN_VERSION "1.46")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++include(UHDBoost)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # To add UHD as a dependency to this project, add a line such as this:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ find_package(UHD "3.8.0" REQUIRED)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/mpm/CMakeLists.txt b/mpm/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 78759cc..70d0f32 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/mpm/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/mpm/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -74,28 +74,18 @@ endmacro(USRP_PERIPHS_ADD_OBJECT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # other platforms.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ message(STATUS "")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ message(STATUS "Configuring Boost C++ Libraries...")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-set(BOOST_REQUIRED_COMPONENTS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++set(UHD_BOOST_REQUIRED_COMPONENTS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     system
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     thread
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Same as with Python version: MPM might work with other versions of Boost,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # but we don't make any guarantees.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-set(MPM_BOOST_VERSION "1.66")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# This variable is a helper for the find_package() command below, and only
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# takes effect if the build is happening on a system where the FindBoost.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# file is older than ${MPM_BOOST_VERSION}, which is usually not the case.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-set(Boost_ADDITIONAL_VERSIONS ${MPM_BOOST_VERSION})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-find_package(Boost ${MPM_BOOST_VERSION} COMPONENTS ${BOOST_REQUIRED_COMPONENTS})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++set(BOOST_MIN_VERSION "1.66")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++include(UHDBoost)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ include_directories(${Boost_INCLUDE_DIRS})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ link_directories(${Boost_LIBRARY_DIRS})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-message(STATUS "Boost include directories: ${Boost_INCLUDE_DIRS}")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-message(STATUS "Boost library directories: ${Boost_LIBRARY_DIRS}")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-message(STATUS "Boost libraries: ${Boost_LIBRARIES}")
</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;'>+ ########################################################################
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Install Dirs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ########################################################################
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/tools/kitchen_sink/CMakeLists.txt b/tools/kitchen_sink/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index dc7f5c6..04573e5 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/tools/kitchen_sink/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/tools/kitchen_sink/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -16,6 +16,7 @@
</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;'>+ cmake_minimum_required(VERSION 2.8)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++project(KITCHEN_SINK CXX)
</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;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -28,7 +29,7 @@ set(CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE} CACHE STRING "")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ### Set up build environment ##################################################
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #### Set up Boost:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-set(BOOST_REQUIRED_COMPONENTS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++set(UHD_BOOST_REQUIRED_COMPONENTS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     date_time
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     filesystem
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     program_options
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -37,27 +38,8 @@ set(BOOST_REQUIRED_COMPONENTS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     thread
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     unit_test_framework
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-if(UNIX AND EXISTS "/usr/lib64")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    list(APPEND BOOST_LIBRARYDIR "/usr/lib64") #fedora 64-bit fix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-endif(UNIX AND EXISTS "/usr/lib64")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-if(MSVC)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    set(BOOST_ALL_DYN_LINK "${BOOST_ALL_DYN_LINK}" CACHE BOOL "boost enable dynamic linking")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    if(BOOST_ALL_DYN_LINK)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        add_definitions(-DBOOST_ALL_DYN_LINK) #setup boost auto-linking in msvc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    else(BOOST_ALL_DYN_LINK)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        unset(BOOST_REQUIRED_COMPONENTS) #empty components list for static link
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    endif(BOOST_ALL_DYN_LINK)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-endif(MSVC)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-set(Boost_ADDITIONAL_VERSIONS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    "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:#e0ffe0;'>+-    "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:#e0ffe0;'>+-    "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:#e0ffe0;'>+-    "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:#e0ffe0;'>+-    "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:#e0ffe0;'>+-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-find_package(Boost 1.46 COMPONENTS ${BOOST_REQUIRED_COMPONENTS})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++set(BOOST_MIN_VERSION "1.46")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++include(UHDBoost)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #### Set up UHD:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ find_package(UHD "3.7.3" REQUIRED)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/tools/nirio_programmer/CMakeLists.txt b/tools/nirio_programmer/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 9d38848..033769f 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/tools/nirio_programmer/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/tools/nirio_programmer/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -16,6 +16,7 @@
</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;'>+ cmake_minimum_required(VERSION 2.8)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++project(NIRIO_PROGRAMMER CXX)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ### Set up build environment ##################################################
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Choose a static or shared-library build (shared is default, and static will
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -24,21 +25,14 @@ cmake_minimum_required(VERSION 2.8)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ option(UHD_USE_STATIC_LIBS OFF)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # This example also requires Boost:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-set(BOOST_REQUIRED_COMPONENTS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++set(UHD_BOOST_REQUIRED_COMPONENTS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     program_options
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     system
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     thread
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     regex
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-if(MSVC)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    set(BOOST_ALL_DYN_LINK "${BOOST_ALL_DYN_LINK}" CACHE BOOL "boost enable dynamic linking")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    if(BOOST_ALL_DYN_LINK)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        add_definitions(-DBOOST_ALL_DYN_LINK) #setup boost auto-linking in msvc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    else(BOOST_ALL_DYN_LINK)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        set(BOOST_REQUIRED_COMPONENTS) #empty components list for static link
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    endif(BOOST_ALL_DYN_LINK)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-endif(MSVC)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-find_package(Boost "1.46" REQUIRED ${BOOST_REQUIRED_COMPONENTS})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++set(BOOST_MIN_VERSION "1.46")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++include(UHDBoost)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # To add UHD as a dependency to this project, add a line such as this:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ find_package(UHD "3.8.0" REQUIRED)
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/uhd/files/patch-fix-gpsdata_altitude_api.diff b/science/uhd/files/patch-fix-gpsdata_altitude_api.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..5946ba4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/science/uhd/files/patch-fix-gpsdata_altitude_api.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,42 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/host/lib/usrp/gpsd_iface.cpp b/host/lib/usrp/gpsd_iface.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 79b5213..771ff4e 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/host/lib/usrp/gpsd_iface.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/host/lib/usrp/gpsd_iface.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -158,8 +158,15 @@ private: // member functions
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                     % _gps_data.fix.longitude);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             tmp["lat"] = str(boost::format("%f deg")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                     % _gps_data.fix.latitude);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// https://gitlab.com/gpsd/gpsd/commit/2607bf6d6e22a6303b8320d9ddb3ada3ff27cd35
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// Large, but simple variable change: altitude -> altHAE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if GPSD_API_MAJOR_VERSION < 9
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             tmp["alt"] = str(boost::format("%fm")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                     % _gps_data.fix.altitude);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            tmp["alt"] = str(boost::format("%fm")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    % _gps_data.fix.altHAE);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             tmp["lon"] = "n/a";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             tmp["lat"] = "n/a";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -259,11 +266,21 @@ private: // member functions
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             string.append(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 str(boost::format("%.2f,") % _gps_data.dop.hdop));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// https://gitlab.com/gpsd/gpsd/commit/2607bf6d6e22a6303b8320d9ddb3ada3ff27cd35
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// Large, but simple variable change: altitude -> altHAE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if GPSD_API_MAJOR_VERSION < 9
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if (boost::math::isnan(_gps_data.fix.altitude))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             string.append(",,");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             string.append(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 str(boost::format("%.2f,M,") % _gps_data.fix.altitude));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        if (boost::math::isnan(_gps_data.fix.altHAE))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            string.append(",,");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            string.append(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                str(boost::format("%.2f,M,") % _gps_data.fix.altHAE));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // https://gitlab.com/gpsd/gpsd/commit/c711d531a6faab93df68ec625a076631569a729d
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // "gpsdata.separation moved into gpsdata.fix.geoid_sep"
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/uhd/files/patch-fix-gpsdata_separation_api.diff b/science/uhd/files/patch-fix-gpsdata_separation_api.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..f3b06c0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/science/uhd/files/patch-fix-gpsdata_separation_api.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,26 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/host/lib/usrp/gpsd_iface.cpp b/host/lib/usrp/gpsd_iface.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index c700117..0f65af3 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/host/lib/usrp/gpsd_iface.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/host/lib/usrp/gpsd_iface.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -261,11 +267,21 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             string.append(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 str(boost::format("%.2f,M,") % _gps_data.fix.altitude));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// https://gitlab.com/gpsd/gpsd/commit/c711d531a6faab93df68ec625a076631569a729d
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// "gpsdata.separation moved into gpsdata.fix.geoid_sep"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if GPSD_API_MAJOR_VERSION < 9
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if (boost::math::isnan(_gps_data.separation))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             string.append(",,");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             string.append(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 str(boost::format("%.3f,M,") % _gps_data.separation));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        if (boost::math::isnan(_gps_data.fix.geoid_sep))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            string.append(",,");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            string.append(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                str(boost::format("%.3f,M,") % _gps_data.fix.geoid_sep));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if (boost::math::isnan(mag_var))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             string.append(",");
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/uhd/files/patch-host_CMakeLists.txt.devel.diff b/science/uhd/files/patch-host_CMakeLists.txt.devel.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index c4d1ec2..96a9412 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/science/uhd/files/patch-host_CMakeLists.txt.devel.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/science/uhd/files/patch-host_CMakeLists.txt.devel.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2,14 +2,14 @@ diff --git a/host/CMakeLists.txt b/host/CMakeLists.txt
</span> index 37e9eda..1f579f9 100644
 --- a/host/CMakeLists.txt
 +++ b/host/CMakeLists.txt
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -334,8 +334,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;'>+@@ -294,8 +294,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;'>- 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:#e0ffe0;'>+ ########################################################################
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Additional settings for build environment
</span></pre><pre style='margin:0'>

</pre>