From 2f88c177d09b35c838a72139541208fab79b098d Mon Sep 17 00:00:00 2001
From: Marc Chevrier <marc.chevrier@gmail.com>
Date: Tue, 31 Jul 2018 19:30:55 +0200
Subject: UseSWIG: restore legacy behavior for SWIG_MODULE_<name>_EXTRA_FLAGS

Fixes: #18226
---
 Modules/UseSWIG.cmake | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/Modules/UseSWIG.cmake b/Modules/UseSWIG.cmake
index b74ba9f..b7b9fe1 100644
--- a/Modules/UseSWIG.cmake
+++ b/Modules/UseSWIG.cmake
@@ -241,7 +241,6 @@ macro(SWIG_MODULE_INITIALIZE name language)
   string(TOUPPER "${language}" SWIG_MODULE_${name}_LANGUAGE)
   string(TOLOWER "${language}" SWIG_MODULE_${name}_SWIG_LANGUAGE_FLAG)
 
-  set(SWIG_MODULE_${name}_EXTRA_FLAGS)
   if (NOT DEFINED SWIG_MODULE_${name}_NOPROXY)
     set (SWIG_MODULE_${name}_NOPROXY FALSE)
   endif()
@@ -249,12 +248,14 @@ macro(SWIG_MODULE_INITIALIZE name language)
     set (SWIG_MODULE_${name}_NOPROXY TRUE)
   endif ()
 
-  if (SWIG_MODULE_${name}_NOPROXY AND NOT "-noproxy" IN_LIST CMAKE_SWIG_FLAGS)
+  if (SWIG_MODULE_${name}_NOPROXY AND
+      NOT ("-noproxy" IN_LIST CMAKE_SWIG_FLAGS OR "-noproxy" IN_LIST SWIG_MODULE_${name}_EXTRA_FLAGS))
     list (APPEND SWIG_MODULE_${name}_EXTRA_FLAGS "-noproxy")
   endif()
   if(SWIG_MODULE_${name}_LANGUAGE STREQUAL "UNKNOWN")
     message(FATAL_ERROR "SWIG Error: Language \"${language}\" not found")
-  elseif(SWIG_MODULE_${name}_LANGUAGE STREQUAL "PERL")
+  elseif(SWIG_MODULE_${name}_LANGUAGE STREQUAL "PERL" AND
+         NOT "-shadow" IN_LIST SWIG_MODULE_${name}_EXTRA_FLAGS)
     list(APPEND SWIG_MODULE_${name}_EXTRA_FLAGS "-shadow")
   endif()
 endmacro()
-- 
cgit v0.12