From 10b4e43ad36cad7b10c7140cc0da14cf78aef27b Mon Sep 17 00:00:00 2001
From: Martin Bauer <martin.bauer@fau.de>
Date: Thu, 7 Mar 2019 16:11:45 +0100
Subject: [PATCH] CMake codegen interation fixes & cuda support

- proper escaping of braces when passing JSON to python
- pass information if walberla was built with CUDA to pystencils
  to support apps that use GPU optionally
---
 cmake/waLBerlaHelperFunctions.cmake | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/cmake/waLBerlaHelperFunctions.cmake b/cmake/waLBerlaHelperFunctions.cmake
index 83ca947de..a52d2d5cd 100644
--- a/cmake/waLBerlaHelperFunctions.cmake
+++ b/cmake/waLBerlaHelperFunctions.cmake
@@ -53,15 +53,16 @@ function( handle_python_codegen sourceFilesOut generatedSourceFilesOut generator
 
                 string (REPLACE ";" "\", \"" jsonFileList "${generatedWithAbsolutePath}" )
                 set(pythonParameters
-                        "{\"EXPECTED_FILES\": [\"${jsonFileList}\"], \"CMAKE_VARS\" : {  "
+                        "\\\{\"EXPECTED_FILES\": [\"${jsonFileList}\"], \"CMAKE_VARS\" : \\\{  "
                             "\"WALBERLA_OPTIMIZE_FOR_LOCALHOST\": \"${WALBERLA_OPTIMIZE_FOR_LOCALHOST}\","
                             "\"WALBERLA_DOUBLE_ACCURACY\": \"${WALBERLA_DOUBLE_ACCURACY}\","
                             "\"WALBERLA_BUILD_WITH_MPI\": \"${WALBERLA_BUILD_WITH_MPI}\","
                             "\"WALBERLA_BUILD_WITH_CUDA\": \"${WALBERLA_BUILD_WITH_CUDA}\","
-                            "\"WALBERLA_BUILD_WITH_OPENMP\": \"${WALBERLA_BUILD_WITH_OPENMP}\" } }"
+                            "\"WALBERLA_BUILD_WITH_OPENMP\": \"${WALBERLA_BUILD_WITH_OPENMP}\" \\\} \\\}"
                         )
                 string(REPLACE "\"" "\\\"" pythonParameters ${pythonParameters})   # even one more quoting level required
                 string(REPLACE "\n" "" pythonParameters ${pythonParameters})  # remove newline characters
+
                 add_custom_command(OUTPUT ${generatedWithAbsolutePath}
                                    DEPENDS ${sourceFile}
                                    COMMAND ${PYTHON_EXECUTABLE} ${sourceFile} ${pythonParameters}
-- 
GitLab