From 3e320d52dbc5979b0ed039f98b080f73625b4c7e Mon Sep 17 00:00:00 2001
From: Dominik Thoennes <dominik.thoennes@fau.de>
Date: Mon, 12 Apr 2021 10:26:38 +0200
Subject: [PATCH] prefer pystencils submodule over system

---
 CMakeLists.txt                      | 14 +++++++++-----
 cmake/waLBerlaHelperFunctions.cmake |  2 ++
 2 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index b32530d18..3c0c05f3b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -551,22 +551,26 @@ endif ( )
 ##
 #############################################################################################################################
 if ( WALBERLA_BUILD_WITH_CODEGEN )
-   find_package( PythonInterp 3 QUIET REQUIRED)
+   git_update_submodules()
+   find_package( PythonInterp 3.6 QUIET REQUIRED)
+
    execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import lbmpy; import pystencils"
          RESULT_VARIABLE LBMPY_FOUND )
     if(NOT LBMPY_FOUND EQUAL 0)
-       git_update_submodules()
+       if( GIT_FOUND )
+          message(FATAL_ERROR "Please update git submodules or install pystencils and lbmpy via pip.")
+       else()
+          message(FATAL_ERROR "Please install pystencils and lbmpy e.g. via pip")
+       endif()
     endif()
     set(ENV{PYTHONPATH} ${walberla_SOURCE_DIR}/extern/pystencils:$ENV{PYTHONPATH})
-    message(STATUS $ENV{PYTHONPATH})
     execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "from pystencils.include import get_pystencils_include_path; print(get_pystencils_include_path())"
                     OUTPUT_VARIABLE PYSTENCILS_INCLUDE_PATH)
     include_directories( ${PYSTENCILS_INCLUDE_PATH} )
     string(STRIP ${PYSTENCILS_INCLUDE_PATH} PYSTENCILS_INCLUDE_PATH_TMP)
     message( STATUS "Found pystencils: ${PYSTENCILS_INCLUDE_PATH_TMP}" )
 
-    execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import jinja2"
-          RESULT_VARIABLE JINJA2_FOUND )
+    execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import jinja2" RESULT_VARIABLE JINJA2_FOUND )
     if(NOT JINJA2_FOUND EQUAL 0)
        message(FATAL_ERROR "WALBERLA_BUILD_WITH_CODEGEN activated and jinja2 package not found.
        Please install jinja2 e.g.: 'pip3 install jinja2'")
diff --git a/cmake/waLBerlaHelperFunctions.cmake b/cmake/waLBerlaHelperFunctions.cmake
index 27024cc43..0c128792e 100644
--- a/cmake/waLBerlaHelperFunctions.cmake
+++ b/cmake/waLBerlaHelperFunctions.cmake
@@ -307,10 +307,12 @@ endfunction()
 #######################################################################################################################
 #
 # updates all submodules in the walberla repository
+# this function will propagate GIT_FOUND to the parent scope
 #
 #######################################################################################################################
 function( git_update_submodules )
     find_package(Git QUIET)
+    set(GIT_FOUND ${GIT_FOUND} PARENT_SCOPE)
     if(GIT_FOUND AND EXISTS "${PROJECT_SOURCE_DIR}/.git")
         # Update submodules as needed
         if(WALBERLA_GIT_SUBMODULE_AUTO)
-- 
GitLab