Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
ElmerCSC
GitHub Repository: ElmerCSC/elmerfem
Path: blob/devel/elmerice/UserFunctions/CMakeLists.txt
3196 views
1
SET(CMAKE_Fortran_MODULE_DIRECTORY
2
${PROJECT_BINARY_DIR}/fmodules CACHE PATH "Directory for Fortran modules")
3
4
SET(PROJ "")
5
SET(ElmerIceUSF_SRC Buoyancy.F90 USF_GetFrictionHeating.F90 USF_Sliding.F90
6
CaffeFlow.F90 USF_LateralFriction.F90 USF_WaterTransfer.F90
7
USF_Contact.F90 USF_ShapeFactor.F90 USF_Zs.F90 USF_Damage.F90
8
USF_Haf.F90 USF_CouplingGlaDS_SSA.F90 USF_CoV.F90 USF_IceProperties.F90
9
USF_GlacierMeshMetric.F90 USF_SourceCalcCalving.F90 ${PROJ})
10
11
ADD_LIBRARY(ElmerIceUSF SHARED ${ElmerIceUSF_SRC})
12
TARGET_LINK_LIBRARIES(ElmerIceUSF Elmer::MPI_Fortran)
13
14
IF(HAVE_PROJ)
15
SET(PROJ USF_proj.F90)
16
INCLUDE_DIRECTORIES(${PROJ_INCLUDE_DIR})
17
INCLUDE_DIRECTORIES(${FORTRANGIS_INCLUDE_DIR})
18
TARGET_LINK_LIBRARIES(ElmerIceUSF ${PROJ_LIBRARY})
19
TARGET_LINK_LIBRARIES(ElmerIceUSF ${FORTRANGIS_LIBRARY})
20
ENDIF()
21
22
# Library object
23
SET_TARGET_PROPERTIES(ElmerIceUSF PROPERTIES PREFIX "")
24
IF(NOT(WIN32))
25
SET_TARGET_PROPERTIES(ElmerIceUSF PROPERTIES
26
INSTALL_RPATH ${ELMERSOLVER_RPATH_STRING})
27
ENDIF()
28
SET_TARGET_PROPERTIES(ElmerIceUSF PROPERTIES
29
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/fem/src/modules
30
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/fem/src/modules)
31
TARGET_LINK_LIBRARIES(ElmerIceUSF elmersolver ElmerIceUtils)
32
INSTALL(TARGETS ElmerIceUSF LIBRARY DESTINATION "share/elmersolver/lib"
33
RUNTIME DESTINATION "share/elmersolver/lib")
34
35