-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy pathCMakeLists.txt
executable file
·110 lines (74 loc) · 4.48 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
cmake_minimum_required (VERSION 3.0)
project (ParallelFortran)
enable_language(CXX Fortran)
##################################
# compiler options
##################################
if(CMAKE_Fortran_COMPILER_ID MATCHES "GNU")
set(dialect "-w -O3 -cpp -dM -fimplicit-none -ffixed-line-length-none")
set(bounds "-fbounds-check")
endif()
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} ${dialect}")
#set(COMMON_SRC_FILES, elementutilitiesbasisfuncs.F elementutilitieselasticity2D.F elementutilitieselasticity3D.F writervtk.F solverpetsc.F)
# this is where we will place the Fortran module files
#set(CMAKE_Fortran_MODULE_DIRECTORY ${PROJECT_BINARY_DIR}/modules)
##################################
# include directories
##################################
#include_directories(/usr/include/petsc)
include_directories(
/usr/include/vtk-6.3 /usr/include/openmpi /usr/include/petsc /usr/include/superlu /usr/include/boost)
##################################
# lib directories
##################################
#link_directories(/usr/lib/gcc/x86_64-linux-gnu /usr/lib /opt/petsc-3.6.4/arch-linux2-c-debug/lib)
link_directories(
/usr/lib/gcc/x86_64-linux-gnu/7.5.0
/usr/lib/libblas
/usr/lib/lapack
/opt/petsc-3.6.4/arch-linux2-c-debug/lib
/home/chenna/Documents/myCode/igampap/lib
/usr/x86_64-linux-gnu/lib
/usr/lib/openmpi/lib
/usr/lib/x86_64-linux-gnu
)
#src/elemutilitiesquadrature.F
file(GLOB_RECURSE sources src/elemutilitiesquadrature.F src/elementutilitiesbasisfuncs.F src/elementutilitiespoisson.F src/elementutilitieselasticity2D.F elementutilitieselasticity3D.F src/writervtk.F src/solverpetsc.F)
##################################
#add_executable(partmeshfort src/meshpartitionfort.F)
#add_executable(partmeshparmetisfort src/meshpartitionfortparmetis.f90)
add_executable(partmeshparmetiscpp src/meshpartitionfortparmetis.cpp)
#add_executable(parmetisdualtest src/parmetisdualtest.F)
#target_link_libraries(partmeshfort metis)
#target_link_libraries(partmeshfortparmetis mpi_mpifh parmetis)
target_link_libraries(partmeshparmetiscpp mpi mpi_cxx metis parmetis petsc)
#target_link_libraries(parmetisdualtest mpi_mpifh parmetis)
#install(TARGETS partmeshfort RUNTIME DESTINATION /home/chenna/Documents/myCode/Fortran/PFEMFort/bin)
#install(TARGETS partmeshfortparmetis RUNTIME DESTINATION /home/chenna/Documents/myCode/Fortran/PFEMFort/bin)
#install(TARGETS parmetisdualtest RUNTIME DESTINATION /home/chenna/Documents/myCode/Fortran/PFEMFort/bin)
install(TARGETS partmeshparmetiscpp RUNTIME DESTINATION /home/chenna/Documents/myCode/Fortran/PFEMFort/bin)
#add_library(writer writervtk.F)
#add_executable(writer writervtk.F)
#add_executable(tetrapoisson src/tetrapoissonparallelimpl1.F ${sources})
#add_executable(tetraelasticity src/tetraelasticityparallelimpl1.F ${sources})
#add_executable(triapoisson src/triapoissonparallelimpl1.F ${sources})
#add_executable(elasticityexplicittria src/triaelasticityexplicit.F ${sources})
#add_executable(elasticityexplicitquad src/quadelasticityexplicit.F ${sources})
#add_executable(elasticityexplicitprism src/prismelasticityexplicit.F ${sources})
#add_executable(elasticityexplicittria6 src/elasticityexplicittria6node.F ${sources})
#add_executable(elasticityexplicit3d src/tetraelasticityexplicit.F ${sources})
#target_link_libraries(tetrapoisson metis petsc mpi mpi_mpifh)
#target_link_libraries(tetraelasticity metis petsc mpi mpi_mpifh)
#target_link_libraries(triapoisson metis petsc mpi mpi_mpifh)
#target_link_libraries(elasticityexplicittria metis petsc mpi mpi_mpifh)
#target_link_libraries(elasticityexplicitquad metis petsc mpi mpi_mpifh)
#target_link_libraries(elasticityexplicitprism metis petsc mpi mpi_mpifh)
#target_link_libraries(elasticityexplicittria6 metis petsc mpi mpi_mpifh)
#target_link_libraries(elasticityexplicit3d metis petsc mpi mpi_mpifh)
#target_link_libraries(tetraelasticity metis petsc mpi mpi_mpifh)
#install(TARGETS triapoisson RUNTIME DESTINATION /home/chenna/Documents/myCode/Fortran/PFEMFort/bin)
#install(TARGETS elasticityexplicittria RUNTIME DESTINATION /home/chenna/Documents/myCode/Fortran/PFEMFort/bin)
#install(TARGETS elasticityexplicitquad RUNTIME DESTINATION /home/chenna/Documents/myCode/Fortran/PFEMFort/bin)
#install(TARGETS elasticityexplicitprism RUNTIME DESTINATION /home/chenna/Documents/myCode/Fortran/PFEMFort/bin)
#install(TARGETS elasticityexplicittria6 RUNTIME DESTINATION /home/chenna/Documents/myCode/Fortran/PFEMFort/bin)
#install(TARGETS tetraelasticity RUNTIME DESTINATION /home/chenna/Documents/myCode/Fortran/PFEMFort/bin)