From 0f21335f7962512f52004835616789883afe0cfc Mon Sep 17 00:00:00 2001
From: Alejandro Alvarez Ayllon <alejandro.alvarez.ayllon@cern.ch>
Date: Thu, 9 Nov 2017 12:00:40 +0100
Subject: [PATCH] DMC-996: Again another incompatible flag for gsoap

-v hangs, but -help doesn't give the version, use -V
---
 modules/FindgSOAP.cmake | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/modules/FindgSOAP.cmake b/modules/FindgSOAP.cmake
index 3f24463..b259d1e 100644
--- a/modules/FindgSOAP.cmake
+++ b/modules/FindgSOAP.cmake
@@ -94,10 +94,18 @@ message(STATUS " - wsdlh : ${GSOAP_WSDL2H}")
 message(STATUS " - SOAPCPP2 : ${GSOAP_SOAPCPP2}")
 
 # some versions of soapcpp2 interpret "-v" as verbose, and hang while waiting for input
-# try "-help" first, and if it fails, do "-v"
+# try "-help" first
 execute_process(COMMAND ${GSOAP_SOAPCPP2}  "-help"   OUTPUT_VARIABLE GSOAP_STRING_VERSION ERROR_VARIABLE GSOAP_STRING_VERSION )
 string(REGEX MATCH "[0-9]*\\.[0-9]*\\.[0-9]*" GSOAP_VERSION ${GSOAP_STRING_VERSION})
 
+# for some reason, -help stopped giving the version at some point
+# but -v also hangs, so try -V (gah)
+if( "${GSOAP_VERSION}" STREQUAL "..")
+  execute_process(COMMAND ${GSOAP_SOAPCPP2}  "-V"   OUTPUT_VARIABLE GSOAP_STRING_VERSION ERROR_VARIABLE GSOAP_STRING_VERSION )
+  string(REGEX MATCH "[0-9]*\\.[0-9]*\\.[0-9]*" GSOAP_VERSION ${GSOAP_STRING_VERSION})
+endif()
+
+# nothing worked, fallback to -v
 if( "${GSOAP_VERSION}" STREQUAL "..")
   execute_process(COMMAND ${GSOAP_SOAPCPP2}  "-v"   OUTPUT_VARIABLE GSOAP_STRING_VERSION ERROR_VARIABLE GSOAP_STRING_VERSION )
   string(REGEX MATCH "[0-9]*\\.[0-9]*\\.[0-9]*" GSOAP_VERSION ${GSOAP_STRING_VERSION})
-- 
GitLab