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