diff --git a/cmake/modules/DunePerftoolMacros.cmake b/cmake/modules/DunePerftoolMacros.cmake index 08f6b98bc72910c005c86bdd36f82d6525f923a0..c2bda2cfcfdf3ae0f7cb77de06a6f6074e1e23c9 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 694d7f1292630f5bf6f451cc5497746c5599a4b9..8a95f17a3e8f2a22fd99aadb2b1c28d1e4e6bec0 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 14d0bd6ccee946ce78cf311685b0ac44d685edfd..acab1a5e4ddcb06f6cec34a17529a4c3678ee40c 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()