From 4395c58d3a8116e93bee1964302b1f7af7c76c91 Mon Sep 17 00:00:00 2001 From: Isaac Morales Date: Tue, 27 Aug 2024 06:43:06 +0200 Subject: [PATCH] Fix self-contained headers problem --- src/core/operation/mechanical_forces_op.h | 1 + src/module.modulemap | 179 ++++++++++++++++++ .../new_agent_event/neurite_branching_event.h | 2 + .../new_neurite_extension_event.h | 1 + .../side_neurite_extension_event.h | 2 + .../split_neurite_element_event.h | 1 + .../core/operation/dividing_cell_op_test.h | 1 + .../operation/mechanical_forces_op_test.h | 1 + 8 files changed, 188 insertions(+) create mode 100644 src/module.modulemap diff --git a/src/core/operation/mechanical_forces_op.h b/src/core/operation/mechanical_forces_op.h index 5136d5958..67a42da39 100644 --- a/src/core/operation/mechanical_forces_op.h +++ b/src/core/operation/mechanical_forces_op.h @@ -31,6 +31,7 @@ #include "core/simulation.h" #include "core/util/math.h" #include "core/util/thread_info.h" +#include "core/operation/operation_registry.h" namespace bdm { diff --git a/src/module.modulemap b/src/module.modulemap new file mode 100644 index 000000000..e153d9306 --- /dev/null +++ b/src/module.modulemap @@ -0,0 +1,179 @@ +module "biodynamo" { + requires cplusplus + module "biodynamo.h" { header "biodynamo.h" export * } + module "core/agent/agent.h" { header "core/agent/agent.h" export * } + module "core/agent/agent_handle.h" { header "core/agent/agent_handle.h" export * } + module "core/agent/agent_pointer.h" { header "core/agent/agent_pointer.h" export * } + module "core/agent/agent_uid.h" { header "core/agent/agent_uid.h" export * } + module "core/agent/agent_uid_generator.h" { header "core/agent/agent_uid_generator.h" export * } + module "core/agent/cell.h" { header "core/agent/cell.h" export * } + module "core/agent/cell_division_event.h" { header "core/agent/cell_division_event.h" export * } + module "core/agent/new_agent_event.h" { header "core/agent/new_agent_event.h" export * } + module "core/agent/spherical_agent.h" { header "core/agent/spherical_agent.h" export * } + module "core/algorithm.h" { header "core/algorithm.h" export * } + module "core/analysis/line_graph.h" { header "core/analysis/line_graph.h" export * } + module "core/analysis/reduce.h" { header "core/analysis/reduce.h" export * } + module "core/analysis/style.h" { header "core/analysis/style.h" export * } + module "core/analysis/time_series.h" { header "core/analysis/time_series.h" export * } + module "core/behavior/behavior.h" { header "core/behavior/behavior.h" export * } + module "core/behavior/chemotaxis.h" { header "core/behavior/chemotaxis.h" export * } + module "core/behavior/gene_regulation.h" { header "core/behavior/gene_regulation.h" export * } + module "core/behavior/growth_division.h" { header "core/behavior/growth_division.h" export * } + module "core/behavior/secretion.h" { header "core/behavior/secretion.h" export * } + module "core/behavior/stateless_behavior.h" { header "core/behavior/stateless_behavior.h" export * } + module "core/container/agent_flat_idx_map.h" { header "core/container/agent_flat_idx_map.h" export * } + module "core/container/agent_uid_map.h" { header "core/container/agent_uid_map.h" export * } + module "core/container/agent_vector.h" { header "core/container/agent_vector.h" export * } + module "core/container/fixed_size_vector.h" { header "core/container/fixed_size_vector.h" export * } + module "core/container/flatmap.h" { header "core/container/flatmap.h" export * } + module "core/container/inline_vector.h" { header "core/container/inline_vector.h" export * } + module "core/container/math_array.h" { header "core/container/math_array.h" export * } + module "core/container/parallel_resize_vector.h" { header "core/container/parallel_resize_vector.h" export * } + module "core/container/shared_data.h" { header "core/container/shared_data.h" export * } + module "core/diffusion/continuum_interface.h" { header "core/diffusion/continuum_interface.h" export * } + module "core/diffusion/diffusion_grid.h" { header "core/diffusion/diffusion_grid.h" export * } + module "core/diffusion/euler_depletion_grid.h" { header "core/diffusion/euler_depletion_grid.h" export * } + module "core/diffusion/euler_grid.h" { header "core/diffusion/euler_grid.h" export * } + module "core/environment/environment.h" { header "core/environment/environment.h" export * } + module "core/environment/kd_tree_environment.h" { header "core/environment/kd_tree_environment.h" export * } + module "core/environment/morton_order.h" { header "core/environment/morton_order.h" export * } + module "core/environment/octree_environment.h" { header "core/environment/octree_environment.h" export * } + module "core/environment/uniform_grid_environment.h" { header "core/environment/uniform_grid_environment.h" export * } + module "core/execution_context/copy_execution_context.h" { header "core/execution_context/copy_execution_context.h" export * } + module "core/execution_context/execution_context.h" { header "core/execution_context/execution_context.h" export * } + module "core/execution_context/in_place_exec_ctxt.h" { header "core/execution_context/in_place_exec_ctxt.h" export * } + module "core/exporter.h" { header "core/exporter.h" export * } + module "core/functor.h" { header "core/functor.h" export * } + module "core/gpu/cuda_error_chk.h" { header "core/gpu/cuda_error_chk.h" export * } + module "core/gpu/cuda_pinned_memory.h" { header "core/gpu/cuda_pinned_memory.h" export * } + module "core/gpu/cuda_timer.h" { header "core/gpu/cuda_timer.h" export * } + module "core/gpu/gpu_helper.h" { header "core/gpu/gpu_helper.h" export * } + module "core/gpu/helper_math_double.h" { header "core/gpu/helper_math_double.h" export * } + module "core/gpu/mechanical_forces_op_cuda_kernel.h" { header "core/gpu/mechanical_forces_op_cuda_kernel.h" export * } + module "core/gpu/opencl_state.h" { header "core/gpu/opencl_state.h" export * } + module "core/interaction_force.h" { header "core/interaction_force.h" export * } + module "core/load_balance_info.h" { header "core/load_balance_info.h" export * } + module "core/memory/memory_manager.h" { header "core/memory/memory_manager.h" export * } + module "core/model_initializer.h" { header "core/model_initializer.h" export * } + module "core/multi_simulation/algorithm/algorithm.h" { header "core/multi_simulation/algorithm/algorithm.h" export * } + module "core/multi_simulation/algorithm/algorithm_registry.h" { header "core/multi_simulation/algorithm/algorithm_registry.h" export * } + module "core/multi_simulation/database.h" { header "core/multi_simulation/database.h" export * } + module "core/multi_simulation/dynamic_loop.h" { header "core/multi_simulation/dynamic_loop.h" export * } + module "core/multi_simulation/experiment.h" { header "core/multi_simulation/experiment.h" export * } + module "core/multi_simulation/mpi_helper.h" { header "core/multi_simulation/mpi_helper.h" export * } + module "core/multi_simulation/multi_simulation.h" { header "core/multi_simulation/multi_simulation.h" export * } + module "core/multi_simulation/multi_simulation_manager.h" { header "core/multi_simulation/multi_simulation_manager.h" export * } + module "core/multi_simulation/optimization_param.h" { header "core/multi_simulation/optimization_param.h" export * } + module "core/multi_simulation/optimization_param_type/log_range_param.h" { header "core/multi_simulation/optimization_param_type/log_range_param.h" export * } + module "core/multi_simulation/optimization_param_type/optimization_param_type.h" { header "core/multi_simulation/optimization_param_type/optimization_param_type.h" export * } + module "core/multi_simulation/optimization_param_type/particle_swarm_param.h" { header "core/multi_simulation/optimization_param_type/particle_swarm_param.h" export * } + module "core/multi_simulation/optimization_param_type/range_param.h" { header "core/multi_simulation/optimization_param_type/range_param.h" export * } + module "core/multi_simulation/optimization_param_type/set_param.h" { header "core/multi_simulation/optimization_param_type/set_param.h" export * } + module "core/operation/bound_space_op.h" { header "core/operation/bound_space_op.h" export * } + module "core/operation/continuum_op.h" { header "core/operation/continuum_op.h" export * } + module "core/operation/dividing_cell_op.h" { header "core/operation/dividing_cell_op.h" export * } + module "core/operation/load_balancing_op.h" { header "core/operation/load_balancing_op.h" export * } + module "core/operation/mechanical_forces_op.h" { header "core/operation/mechanical_forces_op.h" export * } + module "core/operation/mechanical_forces_op_cuda.h" { header "core/operation/mechanical_forces_op_cuda.h" export * } + module "core/operation/mechanical_forces_op_opencl.h" { header "core/operation/mechanical_forces_op_opencl.h" export * } + module "core/operation/op_timer.h" { header "core/operation/op_timer.h" export * } + module "core/operation/operation.h" { header "core/operation/operation.h" export * } + module "core/operation/operation_registry.h" { header "core/operation/operation_registry.h" export * } + module "core/operation/reduction_op.h" { header "core/operation/reduction_op.h" export * } + module "core/operation/visualization_op.h" { header "core/operation/visualization_op.h" export * } + module "core/operation/vtune_op_wrapper.h" { header "core/operation/vtune_op_wrapper.h" export * } + module "core/param/command_line_options.h" { header "core/param/command_line_options.h" export * } + module "core/param/param.h" { header "core/param/param.h" export * } + module "core/param/param_group.h" { header "core/param/param_group.h" export * } + module "core/randomized_rm.h" { header "core/randomized_rm.h" export * } + module "core/real_t.h" { header "core/real_t.h" export * } + module "core/resource_manager.h" { header "core/resource_manager.h" export * } + module "core/scheduler.h" { header "core/scheduler.h" export * } + module "core/shape.h" { header "core/shape.h" export * } + module "core/simulation.h" { header "core/simulation.h" export * } + module "core/simulation_backup.h" { header "core/simulation_backup.h" export * } + module "core/substance_initializers.h" { header "core/substance_initializers.h" export * } + module "core/type_index.h" { header "core/type_index.h" export * } + module "core/util/cpptoml.h" { header "core/util/cpptoml.h" export * } + module "core/util/csv_reader.h" { header "core/util/csv_reader.h" export * } + module "core/util/debug.h" { header "core/util/debug.h" export * } + module "core/util/filesystem.h" { header "core/util/filesystem.h" export * } + module "core/util/git_tracker.h" { header "core/util/git_tracker.h" export * } + module "core/util/io.h" { header "core/util/io.h" export * } + module "core/util/iterator.h" { header "core/util/iterator.h" export * } + module "core/util/jit.h" { header "core/util/jit.h" export * } + module "core/util/log.h" { header "core/util/log.h" export * } + module "core/util/macros.h" { header "core/util/macros.h" export * } + module "core/util/math.h" { header "core/util/math.h" export * } + module "core/util/numa.h" { header "core/util/numa.h" export * } + module "core/util/partition.h" { header "core/util/partition.h" export * } + module "core/util/plot_memory_layout.h" { header "core/util/plot_memory_layout.h" export * } + module "core/util/proc.h" { header "core/util/proc.h" export * } + module "core/util/progress_bar.h" { header "core/util/progress_bar.h" export * } + module "core/util/random.h" { header "core/util/random.h" export * } + module "core/util/root.h" { header "core/util/root.h" export * } + module "core/util/spinlock.h" { header "core/util/spinlock.h" export * } + module "core/util/string.h" { header "core/util/string.h" export * } + module "core/util/thread_info.h" { header "core/util/thread_info.h" export * } + module "core/util/timing.h" { header "core/util/timing.h" export * } + module "core/util/timing_aggregator.h" { header "core/util/timing_aggregator.h" export * } + module "core/util/tuple.h" { header "core/util/tuple.h" export * } + module "core/util/type.h" { header "core/util/type.h" export * } + module "core/util/vtune.h" { header "core/util/vtune.h" export * } + module "core/util/vtune_helper.h" { header "core/util/vtune_helper.h" export * } + module "core/visualization/root/adaptor.h" { header "core/visualization/root/adaptor.h" export * } + module "core/visualization/root/notebook_util.h" { header "core/visualization/root/notebook_util.h" export * } + module "core/visualization/visualization_adaptor.h" { header "core/visualization/visualization_adaptor.h" export * } + module "neuroscience/module.h" { header "neuroscience/module.h" export * } + module "neuroscience/neurite_element.h" { header "neuroscience/neurite_element.h" export * } + module "neuroscience/neuron_or_neurite.h" { header "neuroscience/neuron_or_neurite.h" export * } + module "neuroscience/neuron_soma.h" { header "neuroscience/neuron_soma.h" export * } + module "neuroscience/neuroscience.h" { header "neuroscience/neuroscience.h" export * } + module "neuroscience/new_agent_event/neurite_bifurcation_event.h" { header "neuroscience/new_agent_event/neurite_bifurcation_event.h" export * } + module "neuroscience/new_agent_event/neurite_branching_event.h" { header "neuroscience/new_agent_event/neurite_branching_event.h" export * } + module "neuroscience/new_agent_event/new_neurite_extension_event.h" { header "neuroscience/new_agent_event/new_neurite_extension_event.h" export * } + module "neuroscience/new_agent_event/side_neurite_extension_event.h" { header "neuroscience/new_agent_event/side_neurite_extension_event.h" export * } + module "neuroscience/new_agent_event/split_neurite_element_event.h" { header "neuroscience/new_agent_event/split_neurite_element_event.h" export * } + module "neuroscience/param.h" { header "neuroscience/param.h" export * } + link "libbiodynamo.so" + export * +} + +module "VisualizationAdaptor" { + requires cplusplus + module "core/visualization/paraview/adaptor.h" { header "core/visualization/paraview/adaptor.h" export * } + module "core/visualization/paraview/helper.h" { header "core/visualization/paraview/helper.h" export * } + module "core/visualization/paraview/jit_helper.h" { header "core/visualization/paraview/jit_helper.h" export * } + module "core/visualization/paraview/mapped_data_array.h" { header "core/visualization/paraview/mapped_data_array.h" export * } + module "core/visualization/paraview/parallel_vti_writer.h" { header "core/visualization/paraview/parallel_vti_writer.h" export * } + module "core/visualization/paraview/parallel_vtu_writer.h" { header "core/visualization/paraview/parallel_vtu_writer.h" export * } + module "core/visualization/paraview/vtk_agents.h" { header "core/visualization/paraview/vtk_agents.h" export * } + module "core/visualization/paraview/vtk_diffusion_grid.h" { header "core/visualization/paraview/vtk_diffusion_grid.h" export * } + link "libVisualizationAdaptor.so" + export * +} + +module "biodynamo-unit-tests" { + requires cplusplus + module "/home/isaac/GSOC/biodynamo/test/unit/core/agent/agent_pointer_test.h" { header "/home/isaac/GSOC/biodynamo/test/unit/core/agent/agent_pointer_test.h" export * } + module "/home/isaac/GSOC/biodynamo/test/unit/core/agent/agent_test.h" { header "/home/isaac/GSOC/biodynamo/test/unit/core/agent/agent_test.h" export * } + module "/home/isaac/GSOC/biodynamo/test/unit/core/agent/cell_test.h" { header "/home/isaac/GSOC/biodynamo/test/unit/core/agent/cell_test.h" export * } + module "/home/isaac/GSOC/biodynamo/test/unit/core/container/inline_vector_test.h" { header "/home/isaac/GSOC/biodynamo/test/unit/core/container/inline_vector_test.h" export * } + module "/home/isaac/GSOC/biodynamo/test/unit/core/container/parallel_resize_vector_test.h" { header "/home/isaac/GSOC/biodynamo/test/unit/core/container/parallel_resize_vector_test.h" export * } + module "/home/isaac/GSOC/biodynamo/test/unit/core/container/shared_data_test.h" { header "/home/isaac/GSOC/biodynamo/test/unit/core/container/shared_data_test.h" export * } + module "/home/isaac/GSOC/biodynamo/test/unit/core/count_neighbor_functor.h" { header "/home/isaac/GSOC/biodynamo/test/unit/core/count_neighbor_functor.h" export * } + module "/home/isaac/GSOC/biodynamo/test/unit/core/diffusion_init_test.h" { header "/home/isaac/GSOC/biodynamo/test/unit/core/diffusion_init_test.h" export * } + module "/home/isaac/GSOC/biodynamo/test/unit/core/environment/custom_environment_test.h" { header "/home/isaac/GSOC/biodynamo/test/unit/core/environment/custom_environment_test.h" export * } + module "/home/isaac/GSOC/biodynamo/test/unit/core/operation/dividing_cell_op_test.h" { header "/home/isaac/GSOC/biodynamo/test/unit/core/operation/dividing_cell_op_test.h" export * } + module "/home/isaac/GSOC/biodynamo/test/unit/core/operation/mechanical_forces_op_test.h" { header "/home/isaac/GSOC/biodynamo/test/unit/core/operation/mechanical_forces_op_test.h" export * } + module "/home/isaac/GSOC/biodynamo/test/unit/core/param/param_test.h" { header "/home/isaac/GSOC/biodynamo/test/unit/core/param/param_test.h" export * } + module "/home/isaac/GSOC/biodynamo/test/unit/core/resource_manager_test.h" { header "/home/isaac/GSOC/biodynamo/test/unit/core/resource_manager_test.h" export * } + module "/home/isaac/GSOC/biodynamo/test/unit/core/scheduler_test.h" { header "/home/isaac/GSOC/biodynamo/test/unit/core/scheduler_test.h" export * } + module "/home/isaac/GSOC/biodynamo/test/unit/core/visualization/paraview/adaptor_test.h" { header "/home/isaac/GSOC/biodynamo/test/unit/core/visualization/paraview/adaptor_test.h" export * } + module "/home/isaac/GSOC/biodynamo/test/unit/test_util/io_test.h" { header "/home/isaac/GSOC/biodynamo/test/unit/test_util/io_test.h" export * } + module "/home/isaac/GSOC/biodynamo/test/unit/test_util/test_agent.h" { header "/home/isaac/GSOC/biodynamo/test/unit/test_util/test_agent.h" export * } + module "/home/isaac/GSOC/biodynamo/test/unit/test_util/test_util.h" { header "/home/isaac/GSOC/biodynamo/test/unit/test_util/test_util.h" export * } + link "libbiodynamo-unit-tests.so" + export * +} + diff --git a/src/neuroscience/new_agent_event/neurite_branching_event.h b/src/neuroscience/new_agent_event/neurite_branching_event.h index 113f5525b..904cc5592 100644 --- a/src/neuroscience/new_agent_event/neurite_branching_event.h +++ b/src/neuroscience/new_agent_event/neurite_branching_event.h @@ -17,6 +17,8 @@ #include #include "core/agent/new_agent_event.h" +#include "core/real_t.h" +#include "core/container/math_array.h" namespace bdm { namespace neuroscience { diff --git a/src/neuroscience/new_agent_event/new_neurite_extension_event.h b/src/neuroscience/new_agent_event/new_neurite_extension_event.h index b8aa7d10f..fb9cef3cd 100644 --- a/src/neuroscience/new_agent_event/new_neurite_extension_event.h +++ b/src/neuroscience/new_agent_event/new_neurite_extension_event.h @@ -16,6 +16,7 @@ #define NEUROSCIENCE_NEW_AGENT_EVENT_NEW_NEURITE_EXTENSION_EVENT_H_ #include "core/agent/new_agent_event.h" +#include "core/real_t.h" namespace bdm { namespace neuroscience { diff --git a/src/neuroscience/new_agent_event/side_neurite_extension_event.h b/src/neuroscience/new_agent_event/side_neurite_extension_event.h index b72998ba4..1f94055df 100644 --- a/src/neuroscience/new_agent_event/side_neurite_extension_event.h +++ b/src/neuroscience/new_agent_event/side_neurite_extension_event.h @@ -16,6 +16,8 @@ #define NEUROSCIENCE_NEW_AGENT_EVENT_SIDE_NEURITE_EXTENSION_EVENT_H_ #include "core/agent/new_agent_event.h" +#include "core/real_t.h" +#include "core/container/math_array.h" namespace bdm { namespace neuroscience { diff --git a/src/neuroscience/new_agent_event/split_neurite_element_event.h b/src/neuroscience/new_agent_event/split_neurite_element_event.h index fced3bef9..264be460e 100644 --- a/src/neuroscience/new_agent_event/split_neurite_element_event.h +++ b/src/neuroscience/new_agent_event/split_neurite_element_event.h @@ -16,6 +16,7 @@ #define NEUROSCIENCE_NEW_AGENT_EVENT_SPLIT_NEURITE_ELEMENT_EVENT_H_ #include "core/agent/new_agent_event.h" +#include "core/real_t.h" namespace bdm { namespace neuroscience { diff --git a/test/unit/core/operation/dividing_cell_op_test.h b/test/unit/core/operation/dividing_cell_op_test.h index e13e95e48..38f45782b 100644 --- a/test/unit/core/operation/dividing_cell_op_test.h +++ b/test/unit/core/operation/dividing_cell_op_test.h @@ -23,6 +23,7 @@ #include "core/operation/dividing_cell_op.h" #include "core/resource_manager.h" #include "unit/test_util/test_util.h" +#include "core/operation/operation_registry.h" namespace bdm { namespace dividing_cell_op_test_internal { diff --git a/test/unit/core/operation/mechanical_forces_op_test.h b/test/unit/core/operation/mechanical_forces_op_test.h index 55b4efa14..95fe54b43 100644 --- a/test/unit/core/operation/mechanical_forces_op_test.h +++ b/test/unit/core/operation/mechanical_forces_op_test.h @@ -18,6 +18,7 @@ #include "core/agent/cell.h" #include "core/operation/mechanical_forces_op.h" #include "unit/test_util/test_util.h" +#include "core/operation/operation_registry.h" namespace bdm { namespace mechanical_forces_op_test_internal {