From 94f9ebf8b223186bb3af9e462c19a27ca371dbea Mon Sep 17 00:00:00 2001 From: Dmitri Naumov <dmitri.naumov@ufz.de> Date: Wed, 27 Feb 2019 15:30:43 +0100 Subject: [PATCH] [MatL] Add OgsMFrontBehaviour library for .mfront. All of the OGS-tested mfront files are compiled in a single behaviour library, which is convenient for testing. --- MaterialLib/CMakeLists.txt | 12 ++++++---- MaterialLib/SolidModels/MFront/CMakeLists.txt | 24 ++++++++++--------- 2 files changed, 21 insertions(+), 15 deletions(-) diff --git a/MaterialLib/CMakeLists.txt b/MaterialLib/CMakeLists.txt index 6eb3884711e..548d6d176f0 100644 --- a/MaterialLib/CMakeLists.txt +++ b/MaterialLib/CMakeLists.txt @@ -29,7 +29,9 @@ append_source_files(SOURCES PorousMedium/UnsaturatedProperty/RelativePermeability) append_source_files(SOURCES TwoPhaseModels) -add_subdirectory(SolidModels/MFront) +if(OGS_USE_MFRONT) + add_subdirectory(SolidModels/MFront) +endif() add_library(MaterialLib ${SOURCES}) if(BUILD_SHARED_LIBS) @@ -40,9 +42,11 @@ include(GenerateExportHeader) generate_export_header(MaterialLib) target_include_directories(MaterialLib PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) -target_link_libraries(MaterialLib - PUBLIC MaterialLib_SolidModels_MFront - PRIVATE MathLib MeshLib ParameterLib) +target_link_libraries(MaterialLib PRIVATE MathLib MeshLib ParameterLib) + +if(OGS_USE_MFRONT) + target_link_libraries(MaterialLib PUBLIC MaterialLib_SolidModels_MFront) +endif() if(OGS_USE_PCH) cotire(MaterialLib) diff --git a/MaterialLib/SolidModels/MFront/CMakeLists.txt b/MaterialLib/SolidModels/MFront/CMakeLists.txt index 05b2a276d8e..5fc748eca01 100644 --- a/MaterialLib/SolidModels/MFront/CMakeLists.txt +++ b/MaterialLib/SolidModels/MFront/CMakeLists.txt @@ -1,8 +1,6 @@ set(SOURCES CreateMFront.cpp CreateMFront.h) -if(OGS_USE_MFRONT) - list(APPEND SOURCES MFront.cpp MFront.h) -endif() +list(APPEND SOURCES MFront.cpp MFront.h) add_library(MaterialLib_SolidModels_MFront ${SOURCES}) @@ -12,13 +10,17 @@ if(BUILD_SHARED_LIBS) endif() target_link_libraries(MaterialLib_SolidModels_MFront - PUBLIC BaseLib NumLib logog + PUBLIC BaseLib NumLib logog OgsMFrontBehaviour PRIVATE MathLib MeshLib) -if(OGS_USE_MFRONT) - target_include_directories(MaterialLib_SolidModels_MFront - PUBLIC ${MGIS_INCLUDE_DIR}) - target_link_libraries(MaterialLib_SolidModels_MFront PUBLIC ${MGIS_LIBRARY}) - target_compile_definitions(MaterialLib_SolidModels_MFront PRIVATE - OGS_USE_MFRONT) -endif() +set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} + "${PROJECT_SOURCE_DIR}/ThirdParty/MGIS") +include(cmake/modules/tfel) +mfront_behaviours_check_library(OgsMFrontBehaviour Elasticity) + +target_include_directories(MaterialLib_SolidModels_MFront + PUBLIC ThirdParty/MGIS/include) +target_link_libraries(MaterialLib_SolidModels_MFront + PUBLIC MFrontGenericInterface) +target_compile_definitions(MaterialLib_SolidModels_MFront PRIVATE + OGS_USE_MFRONT) -- GitLab