Add Macros.hpp and RInsidePOET.hpp***

***Add RInsidePOET class and RHookFunction template***
***Update include paths in SimParams.hpp***
***Update CMakeLists.txt to link poetlib***
***Update DHT_Wrapper.hpp include path***
***Update DiffusionModule.cpp include path***
***Update poet.cpp include paths***
***Add poet.hpp.in
This commit is contained in:
Max Lübke 2024-03-06 11:59:12 +01:00
parent 547156b017
commit a17f40d31c
8 changed files with 33 additions and 20 deletions

View File

@ -22,8 +22,8 @@
#define PARSER_H
#include "../DataStructures/DataStructures.hpp"
#include "../Macros.hpp"
#include "../RInsidePOET.hpp"
#include "Macros.hpp"
#include "RInsidePOET.hpp"
#include "argh.hpp" // Argument handler https://github.com/adishavit/argh

View File

@ -1,20 +1,27 @@
file(GLOB_RECURSE poet_lib_SRC
CONFIGURE_DEPENDS
"*.cpp" "*.c")
add_library(poetlib
Base/Grid.cpp
Base/SimParams.cpp
Chemistry/ChemistryModule.cpp
Chemistry/MasterFunctions.cpp
Chemistry/WorkerFunctions.cpp
Chemistry/SurrogateModels/DHT_Wrapper.cpp
Chemistry/SurrogateModels/DHT.c
Chemistry/SurrogateModels/HashFunctions.cpp
Chemistry/SurrogateModels/InterpolationModule.cpp
Chemistry/SurrogateModels/ProximityHashTable.cpp
DataStructures/Field.cpp
Transport/DiffusionModule.cpp
)
configure_file(poet.h.in poet.h)
add_executable(poet ${poet_lib_SRC})
target_link_libraries(poet
MPI::MPI_CXX
target_link_libraries(poetlib PUBLIC
MPI::MPI_C
${MATH_LIBRARY}
RRuntime
PhreeqcRM
tug
)
target_include_directories(poet PRIVATE "${CMAKE_CURRENT_BINARY_DIR}")
target_compile_definitions(poet PRIVATE STRICT_R_HEADERS OMPI_SKIP_MPICXX)
target_compile_definitions(poetlib PUBLIC STRICT_R_HEADERS)
mark_as_advanced(PHREEQCRM_BUILD_MPI PHREEQCRM_DISABLE_OPENMP)
set(PHREEQCRM_DISABLE_OPENMP ON CACHE BOOL "" FORCE)
@ -22,13 +29,19 @@ set(PHREEQCRM_DISABLE_OPENMP ON CACHE BOOL "" FORCE)
option(POET_DHT_DEBUG "Build with DHT debug info" OFF)
if(POET_DHT_DEBUG)
target_compile_definitions(poet PRIVATE DHT_STATISTICS)
target_compile_definitions(poetlib PRIVATE DHT_STATISTICS)
endif()
option(POET_PHT_ADDITIONAL_INFO "Enables additional information in the PHT" OFF)
if (POET_PHT_ADDITIONAL_INFO)
target_compile_definitions(poet PRIVATE POET_PHT_ADD)
target_compile_definitions(poetlib PRIVATE POET_PHT_ADD)
endif()
install(TARGETS poet DESTINATION bin)
configure_file(poet.hpp.in poet.hpp)
add_executable(poet poet.cpp)
target_link_libraries(poet PRIVATE poetlib MPI::MPI_C RRuntime)
target_include_directories(poet PRIVATE "${CMAKE_CURRENT_BINARY_DIR}")
install(TARGETS poet DESTINATION bin)

View File

@ -23,9 +23,9 @@
#ifndef DHT_WRAPPER_H
#define DHT_WRAPPER_H
#include "../../Base/RInsidePOET.hpp"
#include "../../Base/SimParams.hpp"
#include "../../DataStructures/DataStructures.hpp"
#include "../../RInsidePOET.hpp"
#include "../enums.hpp"
#include "HashFunctions.hpp"
#include "LookupKey.hpp"

View File

@ -19,7 +19,7 @@
*/
#include "DiffusionModule.hpp"
#include "../Macros.hpp"
#include "../Base/Macros.hpp"
#include <tug/BoundaryCondition.hpp>
#include <tug/Diffusion.hpp>

View File

@ -19,13 +19,13 @@
*/
#include "Base/Grid.hpp"
#include "Base/Macros.hpp"
#include "Base/RInsidePOET.hpp"
#include "Base/SimParams.hpp"
#include "Chemistry/ChemistryModule.hpp"
#include "Macros.hpp"
#include "RInsidePOET.hpp"
#include "Transport/DiffusionModule.hpp"
#include <poet.h>
#include <poet.hpp>
#include <Rcpp.h>
#include <cstdint>