<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/5bc3a55d7d17788af37f5a041ad95aa8681a2faf">https://github.com/macports/macports-ports/commit/5bc3a55d7d17788af37f5a041ad95aa8681a2faf</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 5bc3a55  uhd-devel: update to 20190913-18bc320d
</span>5bc3a55 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 5bc3a55d7d17788af37f5a041ad95aa8681a2faf
</span>Author: Michael Dickens <michaelld@macports.org>
AuthorDate: Tue Oct 1 14:11:23 2019 -0400

<span style='display:block; white-space:pre;color:#404040;'>    uhd-devel: update to 20190913-18bc320d
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    + Move GPSD patch to be for non-devel ports;
</span><span style='display:block; white-space:pre;color:#404040;'>    + devel no longer supports GPSD, so remove its variant;
</span><span style='display:block; white-space:pre;color:#404040;'>    + tweak patches to apply cleanly.
</span>---
 science/uhd/Portfile                               |  40 +-
 .../files/patch-fix-Boost_1.70.0_find.devel.diff   | 427 ++++++++++++++-------
 .../uhd/files/patch-host_CMakeLists.txt.devel.diff |   2 +-
 3 files changed, 314 insertions(+), 155 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 a0834db..fe23ab9 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,11 +91,11 @@ subport uhd-devel {
</span>     long_description ${description}: \
 Provides the UHD GIT maint or master branch, depending on which is more advanced, and is typically updated every few days to week.
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    github.setup EttusResearch uhd 3c8ed1b5baa5fcd093dc9e34550d485a2d3d2bd0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    version   20190724-[string range ${github.version} 0 7]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    checksums rmd160 55641b2ba6a3c9367a0c0c01aad49edb9dfbbd3c \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-              sha256 36cfa160dc4e4a9ff0d22ac8afe90639165e9d7c555d6acd671cb92543ad94d9 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-              size   13011467
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    github.setup EttusResearch uhd 18bc320dc3348346255ab0d33aa319fb2618d7b3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    version   20190913-[string range ${github.version} 0 7]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    checksums rmd160 8672438a8a72c35ce8ddd679b899b734febd6109 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+              sha256 68224ec0d7e179062b4d1b39f44d4c90aad77990a11e4af3a93d1da048ef5556 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+              size   13013830
</span>     revision  0
 
     conflicts uhd uhd-39lts
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -148,10 +148,13 @@ if {${subport} ne "uhd-devel"} {
</span>     # contains this patch.
     patchfiles-append patch-fix-UHD_VERSION_quotes.diff
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</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><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # gpsd has been removed from devel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    default_variants +gpsd
</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:#e0ffe0;'>+}
</span> 
 depends_lib-append port:boost port:ncurses
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -240,7 +243,7 @@ if {${configure.cxx_stdlib} eq "macports-libstdc++" ||
</span> 
 # per user concensus: enable all variants except +debug and +universal
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-default_variants +docs +examples +libusb +manual +test +manpages +gpsd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default_variants +docs +examples +libusb +manual +test +manpages
</span> 
 # select Python to use; default to 2.7
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -360,15 +363,18 @@ if {![variant_isset manpages]} {
</span>     configure.args-append -DENABLE_MAN_PAGES=OFF
 }
 
<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:#e0ffe0;'>+if {${subport} ne "uhd-devel"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # gpsd has been removed from devel
</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:#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:#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> }
 
 if {${subport} ne "uhd-39lts"} {
<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 ff992bc..ad3db94 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,100 +1,9 @@
</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..28bf660 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;'>-@@ -279,7 +279,9 @@ endif(WIN32)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ########################################################################
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- message(STATUS "")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- message(STATUS "Configuring Boost C++ Libraries...")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--set(BOOST_REQUIRED_COMPONENTS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# NO optional Boost components!
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# ALL required Boost components!
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+set(UHD_BOOST_REQUIRED_COMPONENTS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     chrono
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     date_time
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     filesystem
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -288,45 +290,15 @@ set(BOOST_REQUIRED_COMPONENTS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     system
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     unit_test_framework
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     serialization
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    thread
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--if(MINGW)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    list(APPEND BOOST_REQUIRED_COMPONENTS thread_win32)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--else()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    list(APPEND BOOST_REQUIRED_COMPONENTS thread)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--if(UNIX AND NOT BOOST_ROOT AND EXISTS "/usr/lib64")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    list(APPEND BOOST_LIBRARYDIR "/usr/lib64") #fedora 64-bit fix
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--endif(UNIX AND NOT BOOST_ROOT AND EXISTS "/usr/lib64")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--if(MSVC)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    set(BOOST_ALL_DYN_LINK "${BOOST_ALL_DYN_LINK}" CACHE BOOL "boost enable dynamic linking")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    if(BOOST_ALL_DYN_LINK)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        add_definitions(-DBOOST_ALL_DYN_LINK) #setup boost auto-linking in msvc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    else(BOOST_ALL_DYN_LINK)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        set(BOOST_REQUIRED_COMPONENTS) #empty components list for static link
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    endif(BOOST_ALL_DYN_LINK)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--endif(MSVC)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--set(Boost_ADDITIONAL_VERSIONS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    "1.56.0" "1.56" "1.57" "1.57" "1.58" "1.59" "1.60" "1.61" "1.62" "1.63"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    "1.64" "1.65" "1.66" "1.67" "1.68" "1.69"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--message(STATUS "Looking for optional Boost components...")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--find_package(Boost ${BOOST_MIN_VERSION} OPTIONAL_COMPONENTS ${BOOST_OPTIONAL_COMPONENTS})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--message(STATUS "Looking for required Boost components...")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--find_package(Boost ${BOOST_MIN_VERSION} COMPONENTS ${BOOST_REQUIRED_COMPONENTS})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Do -not- require Boost during finding
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+set(UHD_BOOST_REQUIRED FALSE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+include(UHDBoost)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- include_directories(${Boost_INCLUDE_DIRS})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- link_directories(${Boost_LIBRARY_DIRS})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--message(STATUS "Boost include directories: ${Boost_INCLUDE_DIRS}")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--message(STATUS "Boost library directories: ${Boost_LIBRARY_DIRS}")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--message(STATUS "Boost libraries: ${Boost_LIBRARIES}")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ########################################################################
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Additional settings for build environment
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ########################################################################
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -486,7 +458,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;'>-@@ -512,13 +484,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> 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..7c093e6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 0000000..5ebb4ac
</span> --- /dev/null
 +++ b/host/cmake/Modules/UHDBoost.cmake
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -0,0 +1,314 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -0,0 +1,324 @@
</span> +#
 +# Copyright 2019 Ettus Research, a National Instruments Brand
 +#
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -239,6 +148,12 @@ index 0000000..7c093e6
</span> +    cmake_policy(SET CMP0093 NEW)
 +endif()
 +
<span style='display:block; white-space:pre;background:#e0ffe0;'>++# if no CXX STANDARD is set, default to that required by UHD: c++14
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if(NOT CMAKE_CXX_STANDARD)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  set(CMAKE_CXX_STANDARD 14)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  message(WARNING "\nC++ standard not yet set; setting to C++14.\n")
</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;'>@@ -292,7 +207,7 @@ index 0000000..7c093e6
</span> +    endif()
 +
 +    # generic fix for some linking issues with Boost 1.68.0 or newer.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if(${Boost_VERSION} VERSION_GREATER_EQUAL 1.68.0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if(NOT ${Boost_VERSION} VERSION_LESS 1.68.0)
</span> +        message(STATUS "  Enabling Boost Error Code Header Only")
 +        add_definitions(-DBOOST_ERROR_CODE_HEADER_ONLY)
 +    endif()
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -303,8 +218,8 @@ index 0000000..7c093e6
</span> +    # and used std::experimental::string_view, which causes issues for
 +    # some Boost & C++ versions ... so, just don't use it!
 +    set(USE_STD_STRING_VIEW_IN_BOOST_ASIO FALSE)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if(CMAKE_CXX_STANDARD AND ${CMAKE_CXX_STANDARD} GREATER_EQUAL 17 AND
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+       ${Boost_VERSION} VERSION_GREATER_EQUAL 1.68.0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if((NOT ${CMAKE_CXX_STANDARD} VERSION_LESS 17) AND
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       (NOT ${Boost_VERSION} VERSION_LESS 1.68.0))
</span> +        # boost::asio::string_view can fail in compiling or linking simple
 +        # c++. This situation generally happens on for Boost 1.66 - 1.68
 +        # and macOS using Clang and -std=c++14 ... but it can occur in
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -315,8 +230,12 @@ index 0000000..7c093e6
</span> +        unset(USE_STD_STRING_VIEW_IN_BOOST_ASIO)
 +        # set various CheckCXXSourceCompiles variables
 +        include(CheckCXXSourceCompiles)
<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()
</span> +        # set the c++ standard to test using
<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:#e0ffe0;'>++        set(CMAKE_REQUIRED_FLAGS "-std=c++${CMAKE_CXX_STANDARD} -I${Boost_INCLUDE_DIRS}")
</span> +        # make this compile quite
 +        set(CMAKE_REQUIRED_QUIET TRUE)
 +        # disable Boost's use of std::experimental::string_view
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -335,10 +254,10 @@ index 0000000..7c093e6
</span> +    endif()
 +    # use std::string_view in boost::asio?
 +    if(USE_STD_STRING_VIEW_IN_BOOST_ASIO)
<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:#e0ffe0;'>++        message(STATUS "    Enabling boost::asio use of std::string_view")
</span> +        add_definitions(-DBOOST_ASIO_HAS_STD_STRING_VIEW)
 +    else()
<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:#e0ffe0;'>++        message(STATUS "    Disabling boost::asio use of std::string_view")
</span> +        add_definitions(-DBOOST_ASIO_DISABLE_STD_STRING_VIEW)
 +    endif()
 +    unset(USE_STD_STRING_VIEW_IN_BOOST_ASIO)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -364,12 +283,12 @@ index 0000000..7c093e6
</span> +                list(APPEND Boost_LIBRARIES Boost::${dep})
 +                set(Boost_${_BOOST_DEP}_LIBRARY Boost::${dep})
 +            endforeach()
<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;'>++        endif()
</span> +
 +        # FindBoost compatibility variables: Boost_INCLUDE_DIRS
 +        if(NOT Boost_INCLUDE_DIRS OR "${Boost_INCLUDE_DIRS}" STREQUAL "")
 +            get_target_property(Boost_INCLUDE_DIRS Boost::headers INTERFACE_INCLUDE_DIRECTORIES)
<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;'>++        endif()
</span> +
 +        # FindBoost compatibility variables: Boost_LIBRARY_DIRS
 +        if(NOT Boost_LIBRARY_DIRS OR "${Boost_LIBRARY_DIRS}" STREQUAL "")
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -390,7 +309,7 @@ index 0000000..7c093e6
</span> +                    list(APPEND Boost_LIBRARY_DIRS ${Boost_${dep}_LIBRARY_DIR})
 +                endif()
 +            endforeach()
<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;'>++        endif()
</span> +        list(SORT Boost_LIBRARY_DIRS)
 +    endif()
 +
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -406,31 +325,168 @@ index 0000000..7c093e6
</span> +    message(STATUS "Looking for Boost version ${BOOST_MIN_VERSION} or greater - not found")
 +endif()
 +
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+# unset some variables, if set
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# unset some internal variables, if set
</span> +unset(Boost_LIBRARY_DIR)
 +unset(Boost_INCLUDE_DIR)
<span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/host/CMakeLists.txt b/host/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 916138e..97fe9a3 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/host/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/host/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -40,7 +40,6 @@ set(NUMPY_MIN_VERSION "1.7")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set(PY_MAKO_MIN_VERSION "0.4.2")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set(PY_REQUESTS_MIN_VERSION "2.0")
</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;'>+ # Check Compiler Version
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ########################################################################
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -279,7 +278,9 @@ endif(WIN32)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ########################################################################
</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;'>++# NO optional Boost components!
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# ALL required Boost 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;'>+     chrono
</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;'>+@@ -288,45 +289,13 @@ set(BOOST_REQUIRED_COMPONENTS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     system
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     unit_test_framework
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     serialization
</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;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-if(MINGW)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    list(APPEND BOOST_REQUIRED_COMPONENTS thread_win32)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-else()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    list(APPEND BOOST_REQUIRED_COMPONENTS thread)
</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(UNIX AND NOT BOOST_ROOT 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 NOT BOOST_ROOT 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;'>+-        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;'>+-
</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.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:#e0ffe0;'>+-    "1.64" "1.65" "1.66" "1.67" "1.68" "1.69"
</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;'>+-message(STATUS "Looking for optional Boost components...")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-find_package(Boost ${BOOST_MIN_VERSION} OPTIONAL_COMPONENTS ${BOOST_OPTIONAL_COMPONENTS})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-message(STATUS "Looking for required Boost components...")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-find_package(Boost ${BOOST_MIN_VERSION} COMPONENTS ${BOOST_REQUIRED_COMPONENTS})
</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;'>+ # Additional settings for build environment
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ########################################################################
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -400,7 +369,6 @@ LIBUHD_REGISTER_COMPONENT("Examples" ENABLE_EXAMPLES ON "ENABLE_LIBUHD" OFF OFF)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIBUHD_REGISTER_COMPONENT("Utils" ENABLE_UTILS ON "ENABLE_LIBUHD" OFF OFF)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ LIBUHD_REGISTER_COMPONENT("Tests" ENABLE_TESTS ON "ENABLE_LIBUHD" OFF OFF)
</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;'>+ # Check for fpga-src submodule
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ########################################################################
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -486,7 +454,7 @@ endif(NOT CMAKE_MODULES_DIR)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # UHDConfig.cmake needs UHD_LINK_LIST_STATIC set:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ list(APPEND UHD_LINK_LIST_STATIC "dl")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ list(APPEND UHD_LINK_LIST_STATIC "pthread")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-foreach(Boost_Comp ${BOOST_REQUIRED_COMPONENTS})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++foreach(Boost_Comp ${UHD_BOOST_REQUIRED_COMPONENTS})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if(NOT ${Boost_Comp} STREQUAL "unit_test_framework")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         list(APPEND UHD_LINK_LIST_STATIC "boost_${Boost_Comp}")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     endif(NOT ${Boost_Comp} STREQUAL "unit_test_framework")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -512,13 +480,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:#e0ffe0;'>+ 
</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:#e0ffe0;'>+ )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</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><span style='display:block; white-space:pre;background:#e0ffe0;'>+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:#e0ffe0;'>+index 30b0d92..299a8ef 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/host/cmake/Modules/UHDConfig.cmake.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/host/cmake/Modules/UHDConfig.cmake.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -18,6 +18,9 @@
</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;'>++# Allows us to use all .cmake files in this directory
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++list(INSERT CMAKE_MODULE_PATH 0 "${CMAKE_CURRENT_LIST_DIR}")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # set that this file was found, for use in GNU Radio's FindUHD.cmake.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Have to use the ENV, since this file might not allow CACHE changes.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -51,7 +54,6 @@ endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ list(APPEND UHD_INCLUDE_HINTS ${CMAKE_INSTALL_PREFIX}/include)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ list(APPEND UHD_LIBDIR_HINTS ${CMAKE_INSTALL_PREFIX}/lib)
</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;'>+ # Search for static libs if so required
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if( UHD_USE_STATIC_LIBS )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     set( _UHD_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES})
</span> diff --git a/host/examples/init_usrp/CMakeLists.txt b/host/examples/init_usrp/CMakeLists.txt
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 3260ce5..a58bcce 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 3260ce5..e58a113 100644
</span> --- a/host/examples/init_usrp/CMakeLists.txt
 +++ b/host/examples/init_usrp/CMakeLists.txt
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -6,6 +6,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -5,7 +5,16 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # SPDX-License-Identifier: GPL-3.0-or-later
</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:#e0ffe0;'>+-cmake_minimum_required(VERSION 2.8)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++cmake_minimum_required(VERSION 3.5.1)
</span> +project(INIT_USRP CXX)
<span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++### Configure Compiler ########################################################
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++set(CMAKE_CXX_STANDARD 11)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" AND ${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    set(CMAKE_EXE_LINKER_FLAGS "-lthr ${CMAKE_EXE_LINKER_FLAGS}")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    set(CMAKE_CXX_FLAGS "-stdlib=libc++ ${CMAKE_CXX_FLAGS}")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++endif()
</span>  
  ### Set up build environment ##################################################
  # Choose a static or shared-library build (shared is default, and static will
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -14,20 +15,13 @@ cmake_minimum_required(VERSION 2.8)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -13,48 +22,23 @@ cmake_minimum_required(VERSION 2.8)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Set this to ON in order to link a static build of UHD:
</span>  option(UHD_USE_STATIC_LIBS OFF)
  
<span style='display:block; white-space:pre;background:#ffe0e0;'>- # This example also requires Boost:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# This example also requires Boost:
</span> -set(BOOST_REQUIRED_COMPONENTS
<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:#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> -if(MSVC)
 -    set(BOOST_ALL_DYN_LINK "${BOOST_ALL_DYN_LINK}" CACHE BOOL "boost enable dynamic linking")
 -    if(BOOST_ALL_DYN_LINK)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -440,16 +496,82 @@ index 3260ce5..a58bcce 100644
</span> -    endif(BOOST_ALL_DYN_LINK)
 -endif(MSVC)
 -find_package(Boost "1.46" REQUIRED ${BOOST_REQUIRED_COMPONENTS})
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+set(BOOST_MIN_VERSION "1.46")
</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;'>++find_package(UHD 3.8.0 REQUIRED)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # The version in  ^^^^^  here is a minimum version.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # To specify an exact version:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #find_package(UHD 3.8.1 EXACT REQUIRED)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-### Configure Compiler ########################################################
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-if(CMAKE_VERSION VERSION_LESS "3.1")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    if(${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        set(CMAKE_CXX_FLAGS "--std=gnu++11 ${CMAKE_CXX_FLAGS}")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    elseif(${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        if("${IS_APPLE}" STREQUAL "")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            set(CMAKE_CXX_FLAGS "-std=c++11 ${CMAKE_CXX_FLAGS}")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        else()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            set(CMAKE_CXX_FLAGS "-std=c++11 -stdlib=libc++ ${CMAKE_CXX_FLAGS}")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        endif()
</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;'>+-    set(CMAKE_CXX_STANDARD 11)
</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(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" AND ${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    set(CMAKE_EXE_LINKER_FLAGS "-lthr ${CMAKE_EXE_LINKER_FLAGS}")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    set(CMAKE_CXX_FLAGS "-stdlib=libc++ ${CMAKE_CXX_FLAGS}")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-endif()
</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 components here, then include UHDBoost to do the actual finding
</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;'>++set(BOOST_MIN_VERSION 1.58)
</span> +include(UHDBoost)
  
<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;'>++# need these include and link directories for the build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ include_directories(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     ${Boost_INCLUDE_DIRS}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     ${UHD_INCLUDE_DIRS}
</span> diff --git a/mpm/CMakeLists.txt b/mpm/CMakeLists.txt
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 78759cc..70d0f32 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 78759cc..6875130 100644
</span> --- a/mpm/CMakeLists.txt
 +++ b/mpm/CMakeLists.txt
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -74,28 +74,18 @@ endmacro(USRP_PERIPHS_ADD_OBJECT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -5,7 +5,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # SPDX-License-Identifier: GPL-3.0-or-later
</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 3.1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++cmake_minimum_required(VERSION 3.5.1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ project(MPM C CXX) # Also has Python, but CMake can take care of that later
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Set the default value for CMAKE_INSTALL_PREFIX to /usr
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19,6 +19,12 @@ endif(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ list(INSERT CMAKE_MODULE_PATH 0 ${CMAKE_SOURCE_DIR}/cmake/Modules)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set(UHD_HOST_ROOT ${CMAKE_SOURCE_DIR}/../host)
</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;'>++# Set C++ Standard
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++########################################################################
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++set(CMAKE_CXX_STANDARD 14)
</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;'>+ # Setup Python API
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ########################################################################
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -36,7 +42,6 @@ find_package(PythonLibs ${MPM_PYTHON_VERSION} REQUIRED)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Now, we can also include CMake modules from UHD:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ list(INSERT CMAKE_MODULE_PATH 0 ${UHD_HOST_ROOT}/cmake/Modules)
</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;'>+ # Version Information
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ########################################################################
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -74,28 +79,18 @@ endmacro(USRP_PERIPHS_ADD_OBJECT)
</span>  # other platforms.
  message(STATUS "")
  message(STATUS "Configuring Boost C++ Libraries...")
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -481,28 +603,41 @@ index 78759cc..70d0f32 100644
</span>  ########################################################################
  # Install Dirs
  ########################################################################
<span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -113,7 +108,6 @@ set(PKG_MAN_DIR share/man/man1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ########################################################################
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Setup library configuration
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ########################################################################
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-set(CMAKE_CXX_STANDARD 14)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ include(CheckCXXCompilerFlag)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CHECK_CXX_COMPILER_FLAG("-Wno-psabi" _has_no_psabi)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # -Wno-psabi lets us know if the gcc ABI changed and would cause binaries
</span> diff --git a/tools/kitchen_sink/CMakeLists.txt b/tools/kitchen_sink/CMakeLists.txt
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index dc7f5c6..04573e5 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index dc7f5c6..cd425af 100644
</span> --- a/tools/kitchen_sink/CMakeLists.txt
 +++ b/tools/kitchen_sink/CMakeLists.txt
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -16,6 +16,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -15,7 +15,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # 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;'>- cmake_minimum_required(VERSION 2.8)
</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:#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;'>++cmake_minimum_required(VERSION 3.5.1)
</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:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -28,7 +29,7 @@ set(CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE} CACHE STRING "")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -28,8 +28,11 @@ endif(NOT CMAKE_BUILD_TYPE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set(CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE} CACHE STRING "")
</span>  
  ### Set up build environment ##################################################
<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;'>++
</span>  #### Set up Boost:
 -set(BOOST_REQUIRED_COMPONENTS
 +set(UHD_BOOST_REQUIRED_COMPONENTS
      date_time
      filesystem
      program_options
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -37,27 +38,8 @@ set(BOOST_REQUIRED_COMPONENTS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -38,30 +41,8 @@ set(BOOST_REQUIRED_COMPONENTS
</span>      thread
      unit_test_framework
  )
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -527,26 +662,38 @@ index dc7f5c6..04573e5 100644
</span> -    "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"
 -)
 -find_package(Boost 1.46 COMPONENTS ${BOOST_REQUIRED_COMPONENTS})
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+set(BOOST_MIN_VERSION "1.46")
</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;'>++set(BOOST_MIN_VERSION "1.58")
</span> +include(UHDBoost)
  
<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:#e0ffe0;'>+ ### Configure Compiler ########################################################
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ include_directories(
</span> diff --git a/tools/nirio_programmer/CMakeLists.txt b/tools/nirio_programmer/CMakeLists.txt
<span style='display:block; white-space:pre;background:#ffe0e0;'>-index 9d38848..033769f 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 9d38848..ba18a3b 100644
</span> --- a/tools/nirio_programmer/CMakeLists.txt
 +++ b/tools/nirio_programmer/CMakeLists.txt
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -16,6 +16,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -15,7 +15,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # along with this program.  If not, see <http://www.gnu.org/licenses/>.
</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:#e0ffe0;'>+-cmake_minimum_required(VERSION 2.8)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++cmake_minimum_required(VERSION 3.5.1)
</span> +project(NIRIO_PROGRAMMER CXX)
  
  ### Set up build environment ##################################################
  # Choose a static or shared-library build (shared is default, and static will
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -24,21 +25,14 @@ cmake_minimum_required(VERSION 2.8)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -23,28 +24,21 @@ cmake_minimum_required(VERSION 2.8)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Set this to ON in order to link a static build of UHD:
</span>  option(UHD_USE_STATIC_LIBS OFF)
  
<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;'>++# The version in  ^^^^^  here is a minimum version.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# To specify an exact version:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#find_package(UHD 3.8.1 EXACT REQUIRED)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span>  # This example also requires Boost:
 -set(BOOST_REQUIRED_COMPONENTS
 +set(UHD_BOOST_REQUIRED_COMPONENTS
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -564,8 +711,14 @@ index 9d38848..033769f 100644
</span> -    endif(BOOST_ALL_DYN_LINK)
 -endif(MSVC)
 -find_package(Boost "1.46" REQUIRED ${BOOST_REQUIRED_COMPONENTS})
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+set(BOOST_MIN_VERSION "1.46")
</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;'>+-# The version in  ^^^^^  here is a minimum version.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# To specify an exact version:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#find_package(UHD 3.8.1 EXACT REQUIRED)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++set(BOOST_MIN_VERSION "1.58")
</span> +include(UHDBoost)
  
<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;'>+ ### Configure Compiler ########################################################
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ include_directories(
</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 96a9412..bf8167d 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,7 +2,7 @@ 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;'>-@@ -294,8 +294,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -293,8 +293,8 @@
</span>  )
  include(UHDBoost)
  
</pre><pre style='margin:0'>

</pre>