fixed: extract MainDispatchDynamic to a object library

fixes building with shared libraries.
linking a shared library with missing symbols is a problem, while linking
a binary against a static library will prune non-referenced symbols and
it is thus fine.
This commit is contained in:
Arne Morten Kvarving 2025-02-07 09:53:40 +01:00
parent a88901c97c
commit 8e9703b0da
2 changed files with 5 additions and 1 deletions

View File

@ -538,6 +538,9 @@ endif()
add_library(moduleVersion OBJECT opm/simulators/utils/moduleVersion.cpp)
set_property(TARGET moduleVersion PROPERTY POSITION_INDEPENDENT_CODE ON)
add_library(MainDispatchDynamic OBJECT opm/simulators/flow/MainDispatchDynamic.cpp)
set_property(TARGET MainDispatchDynamic PROPERTY POSITION_INDEPENDENT_CODE ON)
# Strictly we only depend on the update-version target,
# but this is not exposed in a super-build.
add_dependencies(moduleVersion opmsimulators)
@ -587,6 +590,7 @@ opm_add_test(flow
flow/flow.cpp
${FLOW_TGTS}
$<TARGET_OBJECTS:moduleVersion>
$<TARGET_OBJECTS:MainDispatchDynamic>
)
opm_add_test(flow_blackoil_polyhedralgrid
@ -609,6 +613,7 @@ opm_add_test(flow_distribute_z
flow/flow_distribute_z.cpp
${FLOW_TGTS}
$<TARGET_OBJECTS:moduleVersion>
$<TARGET_OBJECTS:MainDispatchDynamic>
)
opm_add_test(flowexp_blackoil

View File

@ -106,7 +106,6 @@ list (APPEND MAIN_SOURCE_FILES
opm/simulators/flow/KeywordValidation.cpp
opm/simulators/flow/LogOutputHelper.cpp
opm/simulators/flow/Main.cpp
opm/simulators/flow/MainDispatchDynamic.cpp
opm/simulators/flow/MechContainer.cpp
opm/simulators/flow/MixingRateControls.cpp
opm/simulators/flow/NonlinearSolver.cpp