From b8857ae0e675660f3bdd0d0295580b78a172bf17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20He=C3=9F?= <rene.hess@iwr.uni-heidelberg.de> Date: Thu, 25 Jan 2018 15:02:21 +0100 Subject: [PATCH] Bugfix concerning lop for handwritten driver --- cmake/modules/DunePerftoolMacros.cmake | 4 ++-- python/dune/perftool/compile.py | 7 ++++++- python/dune/perftool/pdelab/driver/__init__.py | 6 ++---- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/cmake/modules/DunePerftoolMacros.cmake b/cmake/modules/DunePerftoolMacros.cmake index 08f6b98b..c2bda2cf 100644 --- a/cmake/modules/DunePerftoolMacros.cmake +++ b/cmake/modules/DunePerftoolMacros.cmake @@ -108,8 +108,8 @@ function(add_generated_executable) ) add_executable(${GEN_TARGET} ${GEN_SOURCE} ${GEN_OPERATOR}) - + target_include_directories(${GEN_TARGET} PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) add_dependencies(generation ${GEN_TARGET}) endfunction() -include(GeneratedSystemtests) \ No newline at end of file +include(GeneratedSystemtests) diff --git a/python/dune/perftool/compile.py b/python/dune/perftool/compile.py index 694d7f12..8a95f17a 100644 --- a/python/dune/perftool/compile.py +++ b/python/dune/perftool/compile.py @@ -19,7 +19,9 @@ from dune.perftool.generation import (delete_cache_items, from dune.perftool.options import (get_option, initialize_options, ) -from dune.perftool.pdelab.driver import generate_driver +from dune.perftool.pdelab.driver import (generate_driver, + set_driver_data, + ) from dune.perftool.pdelab.localoperator import (generate_localoperator_basefile, generate_localoperator_file, generate_localoperator_kernels, @@ -118,6 +120,9 @@ def compile_form(): formdatas, data = read_ufl(get_option("uflfile")) with global_context(data=data, formdatas=formdatas): + # The driver module uses a global dictionary for storing necessary data + set_driver_data(formdatas, data) + # Generate driver file if get_option("driver_file"): generate_driver(formdatas, data) diff --git a/python/dune/perftool/pdelab/driver/__init__.py b/python/dune/perftool/pdelab/driver/__init__.py index 14d0bd6c..acab1a5e 100644 --- a/python/dune/perftool/pdelab/driver/__init__.py +++ b/python/dune/perftool/pdelab/driver/__init__.py @@ -12,6 +12,7 @@ NB: Previously this __init__.py was a module driver.py. As it was growing, """ from dune.perftool.error import PerftoolCodegenError from dune.perftool.generation import (generator_factory, + get_global_context_value, global_context, include_file, cached, @@ -74,7 +75,7 @@ def is_stationary(): def form_name_suffix(name, formdata): from dune.perftool.pdelab.localoperator import name_form - data = _driver_data['data'] + data = get_global_context_value('data') form_name = name_form(formdata, data) return name + '_' + form_name @@ -262,9 +263,6 @@ def check_parallel_execution(): def generate_driver(formdatas, data): - # The driver module uses a global dictionary for storing necessary data - set_driver_data(formdatas, data) - # Add check to c++ file if this program should only be used in parallel mode if get_option("parallel"): check_parallel_execution() -- GitLab