# Collect the process libraries in interface library add_library(Processes INTERFACE) foreach(process ${_processes_list}) if(OGS_BUILD_PROCESS_${process}) add_subdirectory(${process}) target_link_libraries(Processes INTERFACE ${process}) endif() endforeach() get_source_files(SOURCES) append_source_files(SOURCES BoundaryCondition) append_source_files(SOURCES SurfaceFlux) append_source_files(SOURCES Output) append_source_files(SOURCES SourceTerms) append_source_files(SOURCES Utils) ogs_add_library(ProcessLib ${SOURCES}) if(OGS_USE_PYTHON) add_subdirectory(BoundaryCondition/Python) add_subdirectory(SourceTerms/Python) endif() target_link_libraries( ProcessLib PUBLIC BaseLib MaterialLib MathLib MeshGeoToolsLib MeshLib NumLib $<$,$>:ChemistryLib> $<$:ProcessLibBoundaryConditionPython> $<$:ProcessLibSourceTermPython> nlohmann_json PRIVATE ParameterLib GitInfoLib spdlog::spdlog $<$:InSituLib> ) target_compile_definitions( ProcessLib PUBLIC $<$:USE_PETSC> $<$:OGS_USE_XDMF> # Enabled elements OGS_MAX_ELEMENT_DIM=${OGS_MAX_ELEMENT_DIM} OGS_MAX_ELEMENT_ORDER=${OGS_MAX_ELEMENT_ORDER} $<$:OGS_ENABLE_ELEMENT_SIMPLEX> $<$:OGS_ENABLE_ELEMENT_CUBOID> $<$:OGS_ENABLE_ELEMENT_PRISM> $<$:OGS_ENABLE_ELEMENT_PYRAMID> PRIVATE $<$:USE_INSITU> )