From 8b1067ed44472709a8fade6c6c0af8acf2afb3c3 Mon Sep 17 00:00:00 2001
From: "Joachim Wuttke (o)" <j.wuttke@fz-juelich.de>
Date: Tue, 9 Aug 2016 14:53:05 +0200
Subject: [PATCH] deprececated exec_programm replaced by execute_process,
 except in UseLATEX.cmake. Good enough to resolve #1684.

---
 cmake/bornagain/modules/CheckCompiler.cmake |  8 ++++++--
 cmake/generic/modules/FindNumpy.cmake       | 18 ++++++++++--------
 cmake/generic/modules/FindPyYaml.cmake      | 12 ++++++++----
 3 files changed, 24 insertions(+), 14 deletions(-)

diff --git a/cmake/bornagain/modules/CheckCompiler.cmake b/cmake/bornagain/modules/CheckCompiler.cmake
index 55b9c9b235e..0ffd4285f54 100644
--- a/cmake/bornagain/modules/CheckCompiler.cmake
+++ b/cmake/bornagain/modules/CheckCompiler.cmake
@@ -4,7 +4,9 @@
 
 #----Test if clang setup works----------------------------------------------------------------------
 if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
-    exec_program(${CMAKE_C_COMPILER} ARGS "-v" OUTPUT_VARIABLE _clang_version_info)
+    execute_process(COMMAND ${CMAKE_C_COMPILER} -v
+        OUTPUT_VARIABLE _clang_version_info
+        OUTPUT_STRIP_TRAILING_WHITESPACE)
     string(REGEX REPLACE "^.*[ ]([0-9]+)\\.[0-9].*$" "\\1" CLANG_MAJOR "${_clang_version_info}")
     string(REGEX REPLACE "^.*[ ][0-9]+\\.([0-9]).*$" "\\1" CLANG_MINOR "${_clang_version_info}")
 else()
@@ -14,7 +16,9 @@ endif()
 
 #---Obtain the major and minor version of the GNU compiler------------------------------------------
 if (CMAKE_COMPILER_IS_GNUCXX)
-    exec_program(${CMAKE_C_COMPILER} ARGS "-dumpversion" OUTPUT_VARIABLE _gcc_version_info)
+    execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpversion
+        OUTPUT_VARIABLE _gcc_version_info
+        OUTPUT_STRIP_TRAILING_WHITESPACE)
     string(REGEX REPLACE "^([0-9]+).*$"                   "\\1" GCC_MAJOR ${_gcc_version_info})
     string(REGEX REPLACE "^[0-9]+\\.([0-9]+).*$"          "\\1" GCC_MINOR ${_gcc_version_info})
     string(REGEX REPLACE "^[0-9]+\\.[0-9]+\\.([0-9]+).*$" "\\1" GCC_PATCH ${_gcc_version_info})
diff --git a/cmake/generic/modules/FindNumpy.cmake b/cmake/generic/modules/FindNumpy.cmake
index d3b2cc1f928..ba0667214be 100644
--- a/cmake/generic/modules/FindNumpy.cmake
+++ b/cmake/generic/modules/FindNumpy.cmake
@@ -9,26 +9,28 @@ if (NUMPY_INCLUDE_DIR)
 endif (NUMPY_INCLUDE_DIR)
 
 if(NOT Numpy_FIND_QUIETLY)
-EXEC_PROGRAM ("${PYTHON_EXECUTABLE}"
-  ARGS "-c \"import numpy; print(numpy.get_include())\""
-  OUTPUT_VARIABLE NUMPY_INCLUDE_DIR
-  RETURN_VALUE NUMPY_NOT_FOUND)
+    execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import numpy; print(numpy.get_include())"
+        OUTPUT_VARIABLE NUMPY_INCLUDE_DIR
+        RESULT_VARIABLE NUMPY_NOT_FOUND
+        OUTPUT_STRIP_TRAILING_WHITESPACE)
 endif()
 
 if (NUMPY_INCLUDE_DIR MATCHES "Traceback")
     # Did not successfully include numpy
+    message(ERROR "Unexpected NUMPY_INCLUDE_DIR='${NUMPY_INCLUDE_DIR}'.")
     set(NUMPY_FOUND FALSE)
 else()
     # successful
+    message(STATUS "Found NUMPY_INCLUDE_DIR='${NUMPY_INCLUDE_DIR}'.")
     if(NOT EXISTS ${NUMPY_INCLUDE_DIR}/numpy/arrayobject.h)
         message(STATUS "Can't find numpy/arrayobject.h, please install python-numpy-devel package")
     else()
         set (NUMPY_FOUND TRUE)
         set (NUMPY_INCLUDE_DIR ${NUMPY_INCLUDE_DIR} CACHE STRING "Numpy include path")
-        EXEC_PROGRAM ("${PYTHON_EXECUTABLE}"
-        ARGS "-c \"import numpy; print(numpy.__version__)\""
-        OUTPUT_VARIABLE numpy_version_number
-        RETURN_VALUE numpy_return_value)
+        execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import numpy; print(numpy.__version__)"
+            OUTPUT_VARIABLE numpy_version_number
+            RESULT_VARIABLE numpy_return_value
+            OUTPUT_STRIP_TRAILING_WHITESPACE)
     endif()
 endif()
 
diff --git a/cmake/generic/modules/FindPyYaml.cmake b/cmake/generic/modules/FindPyYaml.cmake
index 9a6a4eec195..abb45979283 100644
--- a/cmake/generic/modules/FindPyYaml.cmake
+++ b/cmake/generic/modules/FindPyYaml.cmake
@@ -1,13 +1,17 @@
 # Find the python-yaml module.
 # This module defines PYYAML_FOUND.
 
-exec_program ("${PYTHON_EXECUTABLE}"
-  ARGS "-c 'import yaml; print(yaml.__version__)'"
+execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import yaml; print(yaml.__version__)"
   OUTPUT_VARIABLE pyyaml_version_number
-  RETURN_VALUE PYYAML_NOT_FOUND)
+  ERROR_VARIABLE  pyyaml_err_msg
+  RESULT_VARIABLE PYYAML_NOT_FOUND
+  OUTPUT_STRIP_TRAILING_WHITESPACE
+  ERROR_STRIP_TRAILING_WHITESPACE)
 
 if (PYYAML_NOT_FOUND)
-    message(FATAL_ERROR "python-yaml not found (ret='${PYYAML_NOT_FOUND}', out='${pyyaml_version_number}')")
+    message(FATAL_ERROR "python-yaml not found (ret='${PYYAML_NOT_FOUND}', "
+        "out='${pyyaml_version_number}', "
+        "err='${pyyaml_err_msg}')")
     set(PYYAML_FOUND FALSE)
 else()
     message (STATUS "Found python module yaml, version ${pyyaml_version_number}.")
-- 
GitLab