<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/7a130a08fc4503b40d71e47011e0b40b96306225">https://github.com/macports/macports-ports/commit/7a130a08fc4503b40d71e47011e0b40b96306225</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 7a130a0  gnuradio*: add temporary patches
</span>7a130a0 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 7a130a08fc4503b40d71e47011e0b40b96306225
</span>Author: Michael Dickens <michaelld@macports.org>
AuthorDate: Wed Aug 23 13:00:32 2017 -0400

<span style='display:block; white-space:pre;color:#404040;'>    gnuradio*: add temporary patches
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Temporary patch to add in a macro that overloads the function include_directories to be a little smarter as to the ordering of the directories, sorting them to be internal to build or source first and external last.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    NOTE: These patches affect the CMake build only, not the end-result API or ABI, and hence do not require a rev-bump.
</span>---
 science/gnuradio/Portfile                          | 21 ++++++
 .../files/patch-add-CMakeOverloads.devel.diff      | 88 ++++++++++++++++++++++
 .../files/patch-add-CMakeOverloads.next.diff       | 88 ++++++++++++++++++++++
 .../files/patch-add-CMakeOverloads.release.diff    | 88 ++++++++++++++++++++++
 4 files changed, 285 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/gnuradio/Portfile b/science/gnuradio/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 4e5b35c..7c68e97 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/science/gnuradio/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/science/gnuradio/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -130,6 +130,13 @@ if {${subport} eq "gnuradio"} {
</span> 
     patchfiles-append patch-gr-audio_fix_debug.diff
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    # temporary patch to add in a macro that overloads the function
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # include_directories to be a little smarter as to the ordering of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # the directories, sorting them to be internal to build or source
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # first and external last.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles-append patch-add-CMakeOverloads.release.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> } elseif {${subport} eq "gnuradio-devel"} {
 
     # patches for devel
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -142,6 +149,13 @@ if {${subport} eq "gnuradio"} {
</span> 
     patchfiles-append patch-CMakeLists.txt.devel.diff
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    # temporary patch to add in a macro that overloads the function
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # include_directories to be a little smarter as to the ordering of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # the directories, sorting them to be internal to build or source
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # first and external last.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles-append patch-add-CMakeOverloads.devel.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> } else {
 
     # patches for next
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -158,6 +172,13 @@ if {${subport} eq "gnuradio"} {
</span> 
     patchfiles-append patch-fix_includes.next.diff
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    # temporary patch to add in a macro that overloads the function
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # include_directories to be a little smarter as to the ordering of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # the directories, sorting them to be internal to build or source
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # first and external last.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles-append patch-add-CMakeOverloads.next.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> }
 
 platform darwin 10 {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/gnuradio/files/patch-add-CMakeOverloads.devel.diff b/science/gnuradio/files/patch-add-CMakeOverloads.devel.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..81d080b
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/science/gnuradio/files/patch-add-CMakeOverloads.devel.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,88 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- CMakeLists.txt.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -180,6 +180,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ file(WRITE ${EXPORT_FILE}) #blank the file (subdirs will append)
</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;'>++# Incorporate CMake function/macros overloading.
</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;'>++include(CMakeOverloads)
</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;'>+ # Compiler specific setup
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ########################################################################
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ include(GrMiscUtils) #compiler flag check
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ cmake/Modules/CMakeOverloads.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -0,0 +1,70 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Copyright 2017 Free Software Foundation, Inc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# This file is part of GNU Radio
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# GNU Radio is free software; you can redistribute it and/or modify
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# it under the terms of the GNU General Public License as published by
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# the Free Software Foundation; either version 3, or (at your option)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# any later version.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# GNU Radio is distributed in the hope that it will be useful,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# but WITHOUT ANY WARRANTY; without even the implied warranty of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# GNU General Public License for more details.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# You should have received a copy of the GNU General Public License
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# along with GNU Radio; see the file COPYING.  If not, write to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# the Free Software Foundation, Inc., 51 Franklin Street,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Boston, MA 02110-1301, USA.
</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;'>++# This file contains functions that override those provided by CMake.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# We do this to allow for more generic use of these functions than as
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# provided by 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;'>++if(DEFINED __INCLUDED_CMAKE_OVERLOADS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  return()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++set(__INCLUDED_CMAKE_OVERLOADS TRUE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# overload INCLUDE_DIRECTORIES to be a little smarter
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# NOTE: moving all include directories to either BEFORE (internal to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# source or build) or AFTER (external to source or build) will work in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# general. The primary time it could fail is when include ordering is
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# required to find a specific version of a header when multiple of the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# same name are available in the various include directories. This
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# situation seems like it's unlikely, so we ignore it here.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++macro(INCLUDE_DIRECTORIES)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  # for each provided include directory ...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  foreach(inc_dir ${ARGN})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    # is this dir the literal string "BEFORE" or "AFTER"?
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    string(FIND ${inc_dir} BEFORE IS_BEFORE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    string(FIND ${inc_dir} AFTER IS_AFTER)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if(${IS_BEFORE} EQUAL 0 OR ${IS_AFTER} EQUAL 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      # yes: ignore it
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      continue()
</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;'>++    # get absolute path of this include directory
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    get_filename_component(inc_dir_abs ${inc_dir} ABSOLUTE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    # is this include directory located within the SOURCE or BUILD?
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    string(FIND ${inc_dir_abs} ${CMAKE_SOURCE_DIR} IS_IN_SOURCE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    string(FIND ${inc_dir_abs} ${CMAKE_BINARY_DIR} IS_IN_BINARY)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if(${IS_IN_SOURCE} EQUAL 0 OR ${IS_IN_BINARY} EQUAL 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      # yes: local SOURCE or BINARY; internal.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      # call the overloaded INCLUDE_DIRECTORIES,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      # prepending this internal directory.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      _include_directories(BEFORE ${inc_dir_abs})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    else()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      # no: not SOURCE or BUILD; must be external.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      # call the overloaded INCLUDE_DIRECTORIES,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      # appending this external directory.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      _include_directories(AFTER ${inc_dir_abs})
</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;'>++endmacro(INCLUDE_DIRECTORIES)
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/gnuradio/files/patch-add-CMakeOverloads.next.diff b/science/gnuradio/files/patch-add-CMakeOverloads.next.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..9ff6e5f
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/science/gnuradio/files/patch-add-CMakeOverloads.next.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,88 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- CMakeLists.txt.orig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -166,6 +166,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ file(WRITE ${EXPORT_FILE}) #blank the file (subdirs will append)
</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;'>++# Incorporate CMake function/macros overloading.
</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;'>++include(CMakeOverloads)
</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;'>+ # Compiler specific setup
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ########################################################################
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ include(GrMiscUtils) #compiler flag check
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ cmake/Modules/CMakeOverloads.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -0,0 +1,70 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Copyright 2017 Free Software Foundation, Inc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# This file is part of GNU Radio
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# GNU Radio is free software; you can redistribute it and/or modify
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# it under the terms of the GNU General Public License as published by
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# the Free Software Foundation; either version 3, or (at your option)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# any later version.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# GNU Radio is distributed in the hope that it will be useful,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# but WITHOUT ANY WARRANTY; without even the implied warranty of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# GNU General Public License for more details.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# You should have received a copy of the GNU General Public License
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# along with GNU Radio; see the file COPYING.  If not, write to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# the Free Software Foundation, Inc., 51 Franklin Street,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Boston, MA 02110-1301, USA.
</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;'>++# This file contains functions that override those provided by CMake.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# We do this to allow for more generic use of these functions than as
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# provided by 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;'>++if(DEFINED __INCLUDED_CMAKE_OVERLOADS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  return()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++set(__INCLUDED_CMAKE_OVERLOADS TRUE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# overload INCLUDE_DIRECTORIES to be a little smarter
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# NOTE: moving all include directories to either BEFORE (internal to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# source or build) or AFTER (external to source or build) will work in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# general. The primary time it could fail is when include ordering is
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# required to find a specific version of a header when multiple of the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# same name are available in the various include directories. This
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# situation seems like it's unlikely, so we ignore it here.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++macro(INCLUDE_DIRECTORIES)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  # for each provided include directory ...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  foreach(inc_dir ${ARGN})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    # is this dir the literal string "BEFORE" or "AFTER"?
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    string(FIND ${inc_dir} BEFORE IS_BEFORE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    string(FIND ${inc_dir} AFTER IS_AFTER)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if(${IS_BEFORE} EQUAL 0 OR ${IS_AFTER} EQUAL 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      # yes: ignore it
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      continue()
</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;'>++    # get absolute path of this include directory
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    get_filename_component(inc_dir_abs ${inc_dir} ABSOLUTE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    # is this include directory located within the SOURCE or BUILD?
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    string(FIND ${inc_dir_abs} ${CMAKE_SOURCE_DIR} IS_IN_SOURCE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    string(FIND ${inc_dir_abs} ${CMAKE_BINARY_DIR} IS_IN_BINARY)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if(${IS_IN_SOURCE} EQUAL 0 OR ${IS_IN_BINARY} EQUAL 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      # yes: local SOURCE or BINARY; internal.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      # call the overloaded INCLUDE_DIRECTORIES,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      # prepending this internal directory.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      _include_directories(BEFORE ${inc_dir_abs})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    else()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      # no: not SOURCE or BUILD; must be external.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      # call the overloaded INCLUDE_DIRECTORIES,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      # appending this external directory.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      _include_directories(AFTER ${inc_dir_abs})
</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;'>++endmacro(INCLUDE_DIRECTORIES)
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/gnuradio/files/patch-add-CMakeOverloads.release.diff b/science/gnuradio/files/patch-add-CMakeOverloads.release.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..e41d824
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/science/gnuradio/files/patch-add-CMakeOverloads.release.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,88 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- CMakeLists.txt.org
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -115,6 +115,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set(EXPORT_FILE ${CMAKE_BINARY_DIR}/ImportExecutables.cmake)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ file(WRITE ${EXPORT_FILE}) #blank the file (subdirs will append)
</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;'>++# Incorporate CMake function/macros overloading.
</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;'>++include(CMakeOverloads)
</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;'>+ # Compiler specific setup
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ########################################################################
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ cmake/Modules/CMakeOverloads.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -0,0 +1,70 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Copyright 2017 Free Software Foundation, Inc.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# This file is part of GNU Radio
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# GNU Radio is free software; you can redistribute it and/or modify
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# it under the terms of the GNU General Public License as published by
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# the Free Software Foundation; either version 3, or (at your option)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# any later version.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# GNU Radio is distributed in the hope that it will be useful,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# but WITHOUT ANY WARRANTY; without even the implied warranty of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# GNU General Public License for more details.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# You should have received a copy of the GNU General Public License
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# along with GNU Radio; see the file COPYING.  If not, write to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# the Free Software Foundation, Inc., 51 Franklin Street,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Boston, MA 02110-1301, USA.
</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;'>++# This file contains functions that override those provided by CMake.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# We do this to allow for more generic use of these functions than as
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# provided by 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;'>++if(DEFINED __INCLUDED_CMAKE_OVERLOADS)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  return()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++set(__INCLUDED_CMAKE_OVERLOADS TRUE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# overload INCLUDE_DIRECTORIES to be a little smarter
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# NOTE: moving all include directories to either BEFORE (internal to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# source or build) or AFTER (external to source or build) will work in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# general. The primary time it could fail is when include ordering is
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# required to find a specific version of a header when multiple of the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# same name are available in the various include directories. This
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# situation seems like it's unlikely, so we ignore it here.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++macro(INCLUDE_DIRECTORIES)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  # for each provided include directory ...
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  foreach(inc_dir ${ARGN})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    # is this dir the literal string "BEFORE" or "AFTER"?
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    string(FIND ${inc_dir} BEFORE IS_BEFORE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    string(FIND ${inc_dir} AFTER IS_AFTER)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if(${IS_BEFORE} EQUAL 0 OR ${IS_AFTER} EQUAL 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      # yes: ignore it
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      continue()
</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;'>++    # get absolute path of this include directory
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    get_filename_component(inc_dir_abs ${inc_dir} ABSOLUTE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    # is this include directory located within the SOURCE or BUILD?
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    string(FIND ${inc_dir_abs} ${CMAKE_SOURCE_DIR} IS_IN_SOURCE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    string(FIND ${inc_dir_abs} ${CMAKE_BINARY_DIR} IS_IN_BINARY)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if(${IS_IN_SOURCE} EQUAL 0 OR ${IS_IN_BINARY} EQUAL 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      # yes: local SOURCE or BINARY; internal.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      # call the overloaded INCLUDE_DIRECTORIES,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      # prepending this internal directory.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      _include_directories(BEFORE ${inc_dir_abs})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    else()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      # no: not SOURCE or BUILD; must be external.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      # call the overloaded INCLUDE_DIRECTORIES,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      # appending this external directory.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      _include_directories(AFTER ${inc_dir_abs})
</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;'>++endmacro(INCLUDE_DIRECTORIES)
</span></pre><pre style='margin:0'>

</pre>