Changeset 15468


Ignore:
Timestamp:
07/08/13 22:14:39 (12 years ago)
Author:
glperez
Message:

CHG: Modified CMake files to account for conditional build up of ISSM source code. Added CMake macro file.

Location:
issm/trunk-jpl
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/CMakeLists.txt

    r14284 r15468  
    1111set(ISSM_EMAIL "issm@jpl.nasa.gov")
    1212set(ISSM_WEBSITE "http://issm.jpl.nasa.gov")
     13# }}}
     14
     15# CMake Modules {{{
     16include(CheckLanguage)
     17include(./m4/issm_options.cmake)
    1318# }}}
    1419
  • issm/trunk-jpl/src/c/CMakeLists.txt

    r15442 r15468  
    11# Include Directory {{{
    2 include_directories(AFTER $ENV{ISSM_DIR}/src/c \
    3                           $ENV{ISSM_DIR}/src/c/main \
    4                           $ENV{ISSM_DIR}/src/c/datastructure \
    5                           $ENV{ISSM_DIR}/src/c/classes \
    6                           $ENV{ISSM_DIR}/src/c/classes/Options \
    7                           $ENV{ISSM_DIR}/src/c/classes/ElementResults \
    8                           $ENV{ISSM_DIR}/src/c/classes/ExternalResults \
    9                           $ENV{ISSM_DIR}/src/c/classes/Elements \
    10                           $ENV{ISSM_DIR}/src/c/classes/Inputs \
    11                           $ENV{ISSM_DIR}/src/c/classes/Materials \
    12                           $ENV{ISSM_DIR}/src/c/classes/Constraints \
    13                           $ENV{ISSM_DIR}/src/c/classes/Loads \
    14                           $ENV{ISSM_DIR}/src/c/classes/matrix \
    15                           $ENV{ISSM_DIR}/src/c/classes/Params \
    16                           $ENV{ISSM_DIR}/src/c/classes/Params \
    17                           $ENV{ISSM_DIR}/src/c/shared \
    18                           $ENV{ISSM_DIR}/src/c/shared/MemOps \
    19                           $ENV{ISSM_DIR}/src/c/shared/Matrix \
    20                           $ENV{ISSM_DIR}/src/c/shared/io \
    21                           $ENV{ISSM_DIR}/src/c/shared/io/Disk \
    22                           $ENV{ISSM_DIR}/src/c/shared/io/Print \
    23                           $ENV{ISSM_DIR}/src/c/shared/io/Comm \
    24                           $ENV{ISSM_DIR}/src/c/shared/LatLong \
    25                           $ENV{ISSM_DIR}/src/c/shared/Enum \
    26                           $ENV{ISSM_DIR}/src/c/shared/Numerics \
    27                           $ENV{ISSM_DIR}/src/c/shared/Exceptions \
    28                           $ENV{ISSM_DIR}/src/c/shared/Sorting \
    29                           $ENV{ISSM_DIR}/src/c/shared/Elements \
    30                           $ENV{ISSM_DIR}/src/c/shared/String \
    31                           $ENV{ISSM_DIR}/src/c/toolkits \
    32                           $ENV{ISSM_DIR}/src/c/toolkits/metis \
    33                           $ENV{ISSM_DIR}/src/c/toolkits/issm \
    34                           $ENV{ISSM_DIR}/src/c/toolkits/adolc \
    35                           $ENV{ISSM_DIR}/src/c/toolkits/triangle \
    36                           $ENV{ISSM_DIR}/src/c/toolkits/objects \
    37                           $ENV{ISSM_DIR}/src/c/modules \
    38                           $ENV{ISSM_DIR}/src/c/modules/ModelProcessorx \
    39                           $ENV{ISSM_DIR}/src/c/modules/ParseToolkitsOptionsx \
    40                           $ENV{ISSM_DIR}/src/c/modules/NodesDofx \
    41                           $ENV{ISSM_DIR}/src/c/modules/NodalValuex \
    42                           $ENV{ISSM_DIR}/src/c/modules/VerticesDofx \
    43                           $ENV{ISSM_DIR}/src/c/modules/VertexCoordinatesx \
    44                           $ENV{ISSM_DIR}/src/c/modules/OutputResultsx \
    45                           $ENV{ISSM_DIR}/src/c/modules/InputDuplicatex \
    46                           $ENV{ISSM_DIR}/src/c/modules/InputScalex \
    47                           $ENV{ISSM_DIR}/src/c/modules/SurfaceAreax \
    48                           $ENV{ISSM_DIR}/src/c/modules/CreateNodalConstraintsx \
    49                           $ENV{ISSM_DIR}/src/c/modules/UpdateDynamicConstraintsx \
    50                           $ENV{ISSM_DIR}/src/c/modules/IoModelToConstraintsx \
    51                           $ENV{ISSM_DIR}/src/c/modules/InputUpdateFromConstantx \
    52                           $ENV{ISSM_DIR}/src/c/modules/GetSolutionFromInputsx \
    53                           $ENV{ISSM_DIR}/src/c/modules/GetVectorFromInputsx \
    54                           $ENV{ISSM_DIR}/src/c/modules/InputUpdateFromVectorx \
    55                           $ENV{ISSM_DIR}/src/c/modules/InputArtificialNoisex \
    56                           $ENV{ISSM_DIR}/src/c/modules/ConfigureObjectsx \
    57                           $ENV{ISSM_DIR}/src/c/modules/ComputeBasalStressx \
    58                           $ENV{ISSM_DIR}/src/c/modules/ComputeStrainRatex \
    59                           $ENV{ISSM_DIR}/src/c/modules/SpcNodesx \
    60                           $ENV{ISSM_DIR}/src/c/modules/PositiveDegreeDayx \
    61                           $ENV{ISSM_DIR}/src/c/modules/Delta18oParameterizationx \
    62                           $ENV{ISSM_DIR}/src/c/modules/SmbGradientsx \
    63                           $ENV{ISSM_DIR}/src/c/modules/MeshPartitionx \
    64                           $ENV{ISSM_DIR}/src/c/modules/Reducevectorgtofx \
    65                           $ENV{ISSM_DIR}/src/c/modules/Reduceloadx \
    66                           $ENV{ISSM_DIR}/src/c/modules/ConstraintsStatex \
    67                           $ENV{ISSM_DIR}/src/c/modules/ResetConstraintsx \
    68                           $ENV{ISSM_DIR}/src/c/modules/ResetCoordinateSystemx \
    69                           $ENV{ISSM_DIR}/src/c/modules/Solverx \
    70                           $ENV{ISSM_DIR}/src/c/modules/VecMergex \
    71                           $ENV{ISSM_DIR}/src/c/modules/Mergesolutionfromftogx \
    72                           $ENV{ISSM_DIR}/src/c/modules/InputToResultx \
    73                           $ENV{ISSM_DIR}/src/c/analyses \
    74                           $ENV{ISSM_DIR}/src/c/solutionsequences \
    75                           $ENV{ISSM_DIR}/src/c/solutionsequences \
     2include_directories(AFTER $ENV{ISSM_DIR}/
     3                          $ENV{ISSM_DIR}/src/c
     4                          $ENV{ISSM_DIR}/src/c/main
     5                          $ENV{ISSM_DIR}/src/c/datastructure
     6                          $ENV{ISSM_DIR}/src/c/classes
     7                          $ENV{ISSM_DIR}/src/c/classes/Options
     8                          $ENV{ISSM_DIR}/src/c/classes/ElementResults
     9                          $ENV{ISSM_DIR}/src/c/classes/ExternalResults
     10                          $ENV{ISSM_DIR}/src/c/classes/Elements
     11                          $ENV{ISSM_DIR}/src/c/classes/Inputs
     12                          $ENV{ISSM_DIR}/src/c/classes/Materials
     13                          $ENV{ISSM_DIR}/src/c/classes/Constraints
     14                          $ENV{ISSM_DIR}/src/c/classes/Loads
     15                          $ENV{ISSM_DIR}/src/c/classes/matrix
     16                          $ENV{ISSM_DIR}/src/c/classes/Params
     17                          $ENV{ISSM_DIR}/src/c/classes/Params
     18                          $ENV{ISSM_DIR}/src/c/shared
     19                          $ENV{ISSM_DIR}/src/c/shared/MemOps
     20                          $ENV{ISSM_DIR}/src/c/shared/Matrix
     21                          $ENV{ISSM_DIR}/src/c/shared/io
     22                          $ENV{ISSM_DIR}/src/c/shared/io/Disk
     23                          $ENV{ISSM_DIR}/src/c/shared/io/Print
     24                          $ENV{ISSM_DIR}/src/c/shared/io/Comm
     25                          $ENV{ISSM_DIR}/src/c/shared/LatLong
     26                          $ENV{ISSM_DIR}/src/c/shared/Enum
     27                          $ENV{ISSM_DIR}/src/c/shared/Numerics
     28                          $ENV{ISSM_DIR}/src/c/shared/Exceptions
     29                          $ENV{ISSM_DIR}/src/c/shared/Sorting
     30                          $ENV{ISSM_DIR}/src/c/shared/Elements
     31                          $ENV{ISSM_DIR}/src/c/shared/String
     32                          $ENV{ISSM_DIR}/src/c/toolkits
     33                          $ENV{ISSM_DIR}/src/c/toolkits/metis
     34                          $ENV{ISSM_DIR}/src/c/toolkits/issm
     35                          $ENV{ISSM_DIR}/src/c/toolkits/adolc
     36                          $ENV{ISSM_DIR}/src/c/toolkits/triangle
     37                          $ENV{ISSM_DIR}/src/c/toolkits/objects
     38                          $ENV{ISSM_DIR}/src/c/modules
     39                          $ENV{ISSM_DIR}/src/c/modules/ModelProcessorx
     40                          $ENV{ISSM_DIR}/src/c/modules/ParseToolkitsOptionsx
     41                          $ENV{ISSM_DIR}/src/c/modules/NodesDofx
     42                          $ENV{ISSM_DIR}/src/c/modules/NodalValuex
     43                          $ENV{ISSM_DIR}/src/c/modules/VerticesDofx
     44                          $ENV{ISSM_DIR}/src/c/modules/VertexCoordinatesx
     45                          $ENV{ISSM_DIR}/src/c/modules/OutputResultsx
     46                          $ENV{ISSM_DIR}/src/c/modules/InputDuplicatex
     47                          $ENV{ISSM_DIR}/src/c/modules/InputScalex
     48                          $ENV{ISSM_DIR}/src/c/modules/SurfaceAreax
     49                          $ENV{ISSM_DIR}/src/c/modules/CreateNodalConstraintsx
     50                          $ENV{ISSM_DIR}/src/c/modules/UpdateDynamicConstraintsx
     51                          $ENV{ISSM_DIR}/src/c/modules/IoModelToConstraintsx
     52                          $ENV{ISSM_DIR}/src/c/modules/InputUpdateFromConstantx
     53                          $ENV{ISSM_DIR}/src/c/modules/GetSolutionFromInputsx
     54                          $ENV{ISSM_DIR}/src/c/modules/GetVectorFromInputsx
     55                          $ENV{ISSM_DIR}/src/c/modules/InputUpdateFromVectorx
     56                          $ENV{ISSM_DIR}/src/c/modules/InputArtificialNoisex
     57                          $ENV{ISSM_DIR}/src/c/modules/ConfigureObjectsx
     58                          $ENV{ISSM_DIR}/src/c/modules/ComputeBasalStressx
     59                          $ENV{ISSM_DIR}/src/c/modules/ComputeStrainRatex
     60                          $ENV{ISSM_DIR}/src/c/modules/SpcNodesx
     61                          $ENV{ISSM_DIR}/src/c/modules/PositiveDegreeDayx
     62                          $ENV{ISSM_DIR}/src/c/modules/Delta18oParameterizationx
     63                          $ENV{ISSM_DIR}/src/c/modules/SmbGradientsx
     64                          $ENV{ISSM_DIR}/src/c/modules/MeshPartitionx
     65                          $ENV{ISSM_DIR}/src/c/modules/Reducevectorgtofx
     66                          $ENV{ISSM_DIR}/src/c/modules/Reduceloadx
     67                          $ENV{ISSM_DIR}/src/c/modules/ConstraintsStatex
     68                          $ENV{ISSM_DIR}/src/c/modules/ResetConstraintsx
     69                          $ENV{ISSM_DIR}/src/c/modules/ResetCoordinateSystemx
     70                          $ENV{ISSM_DIR}/src/c/modules/Solverx
     71                          $ENV{ISSM_DIR}/src/c/modules/VecMergex
     72                          $ENV{ISSM_DIR}/src/c/modules/Mergesolutionfromftogx
     73                          $ENV{ISSM_DIR}/src/c/modules/InputToResultx
     74                          $ENV{ISSM_DIR}/src/c/analyses
     75                          $ENV{ISSM_DIR}/src/c/solutionsequences
     76                          $ENV{ISSM_DIR}/src/c/solutionsequences)
    7677# }}}
    77 # Core Sources{{{
    78 set(core_sources        ./datastructures/DataSet.cpp\
    79                                         ./classes/gauss/GaussTria.cpp\
    80                                         ./classes/FemModel.cpp\
    81                                         ./classes/Loads/Friction.cpp\
    82                                         ./classes/Inputs/TransientInput.cpp\
    83                                         ./classes/Constraints/SpcTransient.cpp\
    84                                         ./classes/IndependentObject.cpp\
    85                                         ./classes/DependentObject.cpp\
    86                                         ./classes/DofIndexing.cpp\
    87                                         ./classes/IoModel.cpp\
    88                                         ./classes/Contours.cpp\
    89                                         ./classes/Nodes.cpp\
    90                                         ./classes/Vertices.cpp\
    91                                         ./classes/Node.cpp\
    92                                         ./classes/Vertex.cpp\
    93                                         ./classes/Hook.cpp\
    94                                         ./classes/Patch.cpp\
    95                                         ./classes/ElementResults/DoubleElementResult.cpp\
    96                                         ./classes/ElementResults/TriaP1ElementResult.cpp\
    97                                         ./classes/ElementResults/BoolElementResult.cpp\
    98                                         ./classes/ExternalResults/Results.cpp\
    99                                         ./classes/Elements/Elements.cpp\
    100                                         ./classes/Elements/ElementHook.cpp\
    101                                         ./classes/Elements/Tria.cpp\
    102                                         ./classes/Elements/TriaRef.cpp\
    103                                         ./classes/Inputs/Inputs.cpp\
    104                                         ./classes/Inputs/TriaInput.cpp\
    105                                         ./classes/Inputs/BoolInput.cpp\
    106                                         ./classes/Inputs/IntInput.cpp\
    107                                         ./classes/Inputs/DoubleInput.cpp\
    108                                         ./classes/Inputs/DatasetInput.cpp\
    109                                         ./classes/Materials/Materials.cpp\
    110                                         ./classes/Materials/Matice.cpp\
    111                                         ./classes/Materials/Matdamageice.cpp\
    112                                         ./classes/Materials/Matpar.cpp\
    113                                         ./classes/Constraints/Constraints.cpp\
    114                                         ./classes/Constraints/SpcStatic.cpp\
    115                                         ./classes/Constraints/SpcDynamic.cpp\
    116                                         ./classes/Loads/Loads.cpp\
    117                                         ./classes/Loads/Penpair.cpp\
    118                                         ./classes/Loads/Pengrid.cpp\
    119                                         ./classes/Loads/Icefront.cpp\
    120                                         ./classes/Loads/Numericalflux.cpp\
    121                                         ./classes/matrix/ElementMatrix.cpp\
    122                                         ./classes/matrix/ElementVector.cpp\
    123                                         ./classes/Params/Parameters.cpp\
    124                                         ./classes/Params/BoolParam.cpp\
    125                                         ./classes/Params/IntParam.cpp\
    126                                         ./classes/Params/IntVecParam.cpp\
    127                                         ./classes/Params/IntMatParam.cpp\
    128                                         ./classes/Params/DoubleParam.cpp\
    129                                         ./classes/Params/FileParam.cpp\
    130                                         ./classes/Params/StringArrayParam.cpp\
    131                                         ./classes/Params/DoubleMatParam.cpp\
    132                                         ./classes/Params/DoubleTransientMatParam.cpp\
    133                                         ./classes/Params/DoubleMatArrayParam.cpp\
    134                                         ./classes/Params/DoubleVecParam.cpp\
    135                                         ./classes/Params/StringParam.cpp\
    136                                         ./classes/Params/MatrixParam.cpp\
    137                                         ./classes/Params/VectorParam.cpp\
    138                                         ./classes/Params/TransientParam.cpp\
    139                                         ./classes/Params/DataSetParam.cpp\
    140                                         ./classes/Profiler.cpp\
    141                                         ./shared/Matrix/MatrixUtils.cpp\
    142                                         ./shared/io/Disk/pfopen.cpp\
    143                                         ./shared/io/Disk/pfclose.cpp\
    144                                         ./shared/io/Disk/WriteLockFile.cpp\
    145                                         ./shared/io/Print/PrintfFunction.cpp\
    146                                         ./shared/io/Comm/IssmComm.cpp\
    147                                         ./shared/LatLong/Ll2xyx.cpp\
    148                                         ./shared/LatLong/Xy2llx.cpp\
    149                                         ./shared/Enum/EnumToStringx.cpp\
    150                                         ./shared/Enum/StringToEnumx.cpp\
    151                                         ./shared/Numerics/Verbosity.cpp\
    152                                         ./shared/Numerics/GaussPoints.cpp\
    153                                         ./shared/Numerics/cross.cpp\
    154                                         ./shared/Numerics/isnan.cpp\
    155                                         ./shared/Numerics/cubic.cpp\
    156                                         ./shared/Numerics/extrema.cpp\
    157                                         ./shared/Numerics/XZvectorsToCoordinateSystem.cpp\
    158                                         ./shared/Exceptions/Exceptions.cpp\
    159                                         ./shared/Exceptions/exprintf.cpp\
    160                                         ./shared/Sorting/binary_search.cpp\
    161                                         ./shared/Elements/Paterson.cpp\
    162                                         ./shared/Elements/Arrhenius.cpp\
    163                                         ./shared/Elements/PrintArrays.cpp\
    164                                         ./shared/Elements/PddSurfaceMassBalance.cpp\
    165                                         ./shared/Elements/ComputeDelta18oTemperaturePrecipitation.cpp\
    166                                         ./shared/String/DescriptorIndex.cpp\
    167                                         ./toolkits/issm/IssmToolkitUtils.cpp\
    168                                         ./toolkits/issm/IssmSolver.cpp\
    169                                         ./toolkits/ToolkitOptions.cpp\
    170                                         ./modules/ModelProcessorx/ModelProcessorx.cpp\
    171                                         ./modules/ModelProcessorx/DistributeNumDofs.cpp\
    172                                         ./modules/ModelProcessorx/ElementsAndVerticesPartitioning.cpp\
    173                                         ./modules/ModelProcessorx/NodesPartitioning.cpp\
    174                                         ./modules/ModelProcessorx/SortDataSets.cpp\
    175                                         ./modules/ModelProcessorx/UpdateCounters.cpp\
    176                                         ./modules/ModelProcessorx/CreateDataSets.cpp\
    177                                         ./modules/ModelProcessorx/CreateParameters.cpp\
    178                                         ./modules/ModelProcessorx/Autodiff/CreateParametersAutodiff.cpp\
    179                                         ./modules/ModelProcessorx/CreateSingleNodeToElementConnectivity.cpp\
    180                                         ./modules/ModelProcessorx/CreateNumberNodeToElementConnectivity.cpp\
    181                                         ./modules/ModelProcessorx/CreateElementsVerticesAndMaterials.cpp\
    182                                         ./modules/ParseToolkitsOptionsx/ParseToolkitsOptionsx.cpp\
    183                                         ./modules/NodesDofx/NodesDofx.cpp\
    184                                         ./modules/NodalValuex/NodalValuex.cpp\
    185                                         ./modules/VerticesDofx/VerticesDofx.cpp\
    186                                         ./modules/VertexCoordinatesx/VertexCoordinatesx.cpp\
    187                                         ./modules/OutputResultsx/OutputResultsx.cpp\
    188                                         ./modules/InputDuplicatex/InputDuplicatex.cpp\
    189                                         ./modules/InputScalex/InputScalex.cpp\
    190                                         ./modules/SurfaceAreax/SurfaceAreax.cpp\
    191                                         ./modules/CreateNodalConstraintsx/CreateNodalConstraintsx.cpp\
    192                                         ./modules/UpdateDynamicConstraintsx/UpdateDynamicConstraintsx.cpp\
    193                                         ./modules/IoModelToConstraintsx/IoModelToConstraintsx.cpp\
    194                                         ./modules/InputUpdateFromConstantx/InputUpdateFromConstantx.cpp\
    195                                         ./modules/InputUpdateFromSolutionx/InputUpdateFromSolutionx.cpp\
    196                                         ./modules/GetSolutionFromInputsx/GetSolutionFromInputsx.cpp\
    197                                         ./modules/GetVectorFromInputsx/GetVectorFromInputsx.cpp\
    198                                         ./modules/InputUpdateFromVectorx/InputUpdateFromVectorx.cpp\
    199                                         ./modules/InputArtificialNoisex/InputArtificialNoisex.cpp\
    200                                         ./modules/ConfigureObjectsx/ConfigureObjectsx.cpp\
    201                                         ./modules/ComputeBasalStressx/ComputeBasalStressx.cpp\
    202                                         ./modules/ComputeStrainRatex/ComputeStrainRatex.cpp\
    203                                         ./modules/SpcNodesx/SpcNodesx.cpp\
    204                                         ./modules/PositiveDegreeDayx/PositiveDegreeDayx.cpp\
    205                                         ./modules/Delta18oParameterizationx/Delta18oParameterizationx.cpp\
    206                                         ./modules/SmbGradientsx/SmbGradientsx.cpp\
    207                                         ./modules/Reducevectorgtofx/Reducevectorgtofx.cpp\
    208                                         ./modules/Reduceloadx/Reduceloadx.cpp\
    209                                         ./modules/ConstraintsStatex/ConstraintsStatex.cpp\
    210                                         ./modules/ResetConstraintsx/ResetConstraintsx.cpp\
    211                                         ./modules/ResetCoordinateSystemx/ResetCoordinateSystemx.cpp\
    212                                         ./modules/Solverx/Solverx.cpp\
    213                                         ./modules/VecMergex/VecMergex.cpp\
    214                                         ./modules/Mergesolutionfromftogx/Mergesolutionfromftogx.cpp\
    215                                         ./modules/InputToResultx/InputToResultx.cpp\
    216                                         ./analyses/ProcessArguments.cpp\
    217                                         ./analyses/ResetBoundaryConditions.cpp\
    218                                         ./analyses/AnalysisConfiguration.cpp\
    219                                         ./analyses/WrapperCorePointerFromSolutionEnum.cpp\
    220                                         ./analyses/CorePointerFromSolutionEnum.cpp\
    221                                         ./analyses/EnvironmentInit.cpp\
    222                                         ./analyses/EnvironmentFinalize.cpp\
    223                                         ./analyses/ad_core.cpp\
    224                                         ./solutionsequences/solutionsequence_linear.cpp\
    225                                         ./solutionsequences/solutionsequence_nonlinear.cpp\
    226                                         ./solutionsequences/solutionsequence_newton.cpp\
    227                                         ./solutionsequences/convergence.cpp\
    228                                         ./classes/Options/Options.cpp\
    229                                         ./classes/Options/OptionUtilities.cpp\
    230                                         ./classes/RiftStruct.cpp\
     78
     79# Core Sources {{{
     80set(core_sources    ./datastructures/DataSet.cpp
     81                                        ./classes/gauss/GaussTria.cpp
     82                                        ./classes/FemModel.cpp
     83                                        ./classes/Loads/Friction.cpp
     84                                        ./classes/Inputs/TransientInput.cpp
     85                                        ./classes/Constraints/SpcTransient.cpp
     86                                        ./classes/IndependentObject.cpp
     87                                        ./classes/DependentObject.cpp
     88                                        ./classes/DofIndexing.cpp
     89                                        ./classes/IoModel.cpp
     90                                        ./classes/Contours.cpp
     91                                        ./classes/Nodes.cpp
     92                                        ./classes/Vertices.cpp
     93                                        ./classes/Node.cpp
     94                                        ./classes/Vertex.cpp
     95                                        ./classes/Hook.cpp
     96                                        ./classes/Patch.cpp
     97                                        ./classes/ElementResults/DoubleElementResult.cpp
     98                                        ./classes/ElementResults/TriaP1ElementResult.cpp
     99                                        ./classes/ElementResults/BoolElementResult.cpp
     100                                        ./classes/ExternalResults/Results.cpp
     101                                        ./classes/Elements/Elements.cpp
     102                                        ./classes/Elements/ElementHook.cpp
     103                                        ./classes/Elements/Tria.cpp
     104                                        ./classes/Elements/TriaRef.cpp
     105                                        ./classes/Inputs/Inputs.cpp
     106                                        ./classes/Inputs/TriaInput.cpp
     107                                        ./classes/Inputs/BoolInput.cpp
     108                                        ./classes/Inputs/IntInput.cpp
     109                                        ./classes/Inputs/DoubleInput.cpp
     110                                        ./classes/Inputs/DatasetInput.cpp
     111                                        ./classes/Materials/Materials.cpp
     112                                        ./classes/Materials/Matice.cpp
     113                                        ./classes/Materials/Matdamageice.cpp
     114                                        ./classes/Materials/Matpar.cpp
     115                                        ./classes/Constraints/Constraints.cpp
     116                                        ./classes/Constraints/SpcStatic.cpp
     117                                        ./classes/Constraints/SpcDynamic.cpp
     118                                        ./classes/Loads/Loads.cpp
     119                                        ./classes/Loads/Penpair.cpp
     120                                        ./classes/Loads/Pengrid.cpp
     121                                        ./classes/Loads/Icefront.cpp
     122                                        ./classes/Loads/Numericalflux.cpp
     123                                        ./classes/matrix/ElementMatrix.cpp
     124                                        ./classes/matrix/ElementVector.cpp
     125                                        ./classes/Params/Parameters.cpp
     126                                        ./classes/Params/BoolParam.cpp
     127                                        ./classes/Params/IntParam.cpp
     128                                        ./classes/Params/IntVecParam.cpp
     129                                        ./classes/Params/IntMatParam.cpp
     130                                        ./classes/Params/DoubleParam.cpp
     131                                        ./classes/Params/FileParam.cpp
     132                                        ./classes/Params/StringArrayParam.cpp
     133                                        ./classes/Params/DoubleMatParam.cpp
     134                                        ./classes/Params/DoubleTransientMatParam.cpp
     135                                        ./classes/Params/DoubleMatArrayParam.cpp
     136                                        ./classes/Params/DoubleVecParam.cpp
     137                                        ./classes/Params/StringParam.cpp
     138                                        ./classes/Params/MatrixParam.cpp
     139                                        ./classes/Params/VectorParam.cpp
     140                                        ./classes/Params/TransientParam.cpp
     141                                        ./classes/Params/DataSetParam.cpp
     142                                        ./classes/Profiler.cpp
     143                                        ./shared/Matrix/MatrixUtils.cpp
     144                                        ./shared/io/Disk/pfopen.cpp
     145                                        ./shared/io/Disk/pfclose.cpp
     146                                        ./shared/io/Disk/WriteLockFile.cpp
     147                                        ./shared/io/Print/PrintfFunction.cpp
     148                                        ./shared/io/Comm/IssmComm.cpp
     149                                        ./shared/LatLong/Ll2xyx.cpp
     150                                        ./shared/LatLong/Xy2llx.cpp
     151                                        ./shared/Enum/EnumToStringx.cpp
     152                                        ./shared/Enum/StringToEnumx.cpp
     153                                        ./shared/Numerics/Verbosity.cpp
     154                                        ./shared/Numerics/GaussPoints.cpp
     155                                        ./shared/Numerics/cross.cpp
     156                                        ./shared/Numerics/isnan.cpp
     157                                        ./shared/Numerics/cubic.cpp
     158                                        ./shared/Numerics/extrema.cpp
     159                                        ./shared/Numerics/XZvectorsToCoordinateSystem.cpp
     160                                        ./shared/Exceptions/Exceptions.cpp
     161                                        ./shared/Exceptions/exprintf.cpp
     162                                        ./shared/Sorting/binary_search.cpp
     163                                        ./shared/Elements/Paterson.cpp
     164                                        ./shared/Elements/Arrhenius.cpp
     165                                        ./shared/Elements/PrintArrays.cpp
     166                                        ./shared/Elements/PddSurfaceMassBalance.cpp
     167                                        ./shared/Elements/ComputeDelta18oTemperaturePrecipitation.cpp
     168                                        ./shared/String/DescriptorIndex.cpp
     169                                        ./toolkits/issm/IssmToolkitUtils.cpp
     170                                        ./toolkits/issm/IssmSolver.cpp
     171                                        ./toolkits/ToolkitOptions.cpp
     172                                        ./modules/ModelProcessorx/ModelProcessorx.cpp
     173                                        ./modules/ModelProcessorx/DistributeNumDofs.cpp
     174                                        ./modules/ModelProcessorx/ElementsAndVerticesPartitioning.cpp
     175                                        ./modules/ModelProcessorx/NodesPartitioning.cpp
     176                                        ./modules/ModelProcessorx/SortDataSets.cpp
     177                                        ./modules/ModelProcessorx/UpdateCounters.cpp
     178                                        ./modules/ModelProcessorx/CreateDataSets.cpp
     179                                        ./modules/ModelProcessorx/CreateParameters.cpp
     180                                        ./modules/ModelProcessorx/Autodiff/CreateParametersAutodiff.cpp
     181                                        ./modules/ModelProcessorx/CreateSingleNodeToElementConnectivity.cpp
     182                                        ./modules/ModelProcessorx/CreateNumberNodeToElementConnectivity.cpp
     183                                        ./modules/ModelProcessorx/CreateElementsVerticesAndMaterials.cpp
     184                                        ./modules/ParseToolkitsOptionsx/ParseToolkitsOptionsx.cpp
     185                                        ./modules/NodesDofx/NodesDofx.cpp
     186                                        ./modules/NodalValuex/NodalValuex.cpp
     187                                        ./modules/VerticesDofx/VerticesDofx.cpp
     188                                        ./modules/VertexCoordinatesx/VertexCoordinatesx.cpp
     189                                        ./modules/OutputResultsx/OutputResultsx.cpp
     190                                        ./modules/InputDuplicatex/InputDuplicatex.cpp
     191                                        ./modules/InputScalex/InputScalex.cpp
     192                                        ./modules/SurfaceAreax/SurfaceAreax.cpp
     193                                        ./modules/CreateNodalConstraintsx/CreateNodalConstraintsx.cpp
     194                                        ./modules/UpdateDynamicConstraintsx/UpdateDynamicConstraintsx.cpp
     195                                        ./modules/IoModelToConstraintsx/IoModelToConstraintsx.cpp
     196                                        ./modules/InputUpdateFromConstantx/InputUpdateFromConstantx.cpp
     197                                        ./modules/InputUpdateFromSolutionx/InputUpdateFromSolutionx.cpp
     198                                        ./modules/GetSolutionFromInputsx/GetSolutionFromInputsx.cpp
     199                                        ./modules/GetVectorFromInputsx/GetVectorFromInputsx.cpp
     200                                        ./modules/InputUpdateFromVectorx/InputUpdateFromVectorx.cpp
     201                                        ./modules/InputArtificialNoisex/InputArtificialNoisex.cpp
     202                                        ./modules/ConfigureObjectsx/ConfigureObjectsx.cpp
     203                                        ./modules/ComputeBasalStressx/ComputeBasalStressx.cpp
     204                                        ./modules/ComputeStrainRatex/ComputeStrainRatex.cpp
     205                                        ./modules/SpcNodesx/SpcNodesx.cpp
     206                                        ./modules/PositiveDegreeDayx/PositiveDegreeDayx.cpp
     207                                        ./modules/Delta18oParameterizationx/Delta18oParameterizationx.cpp
     208                                        ./modules/SmbGradientsx/SmbGradientsx.cpp
     209                                        ./modules/Reducevectorgtofx/Reducevectorgtofx.cpp
     210                                        ./modules/Reduceloadx/Reduceloadx.cpp
     211                                        ./modules/ConstraintsStatex/ConstraintsStatex.cpp
     212                                        ./modules/ResetConstraintsx/ResetConstraintsx.cpp
     213                                        ./modules/ResetCoordinateSystemx/ResetCoordinateSystemx.cpp
     214                                        ./modules/Solverx/Solverx.cpp
     215                                        ./modules/VecMergex/VecMergex.cpp
     216                                        ./modules/Mergesolutionfromftogx/Mergesolutionfromftogx.cpp
     217                                        ./modules/InputToResultx/InputToResultx.cpp
     218                                        ./analyses/ProcessArguments.cpp
     219                                        ./analyses/ResetBoundaryConditions.cpp
     220                                        ./analyses/AnalysisConfiguration.cpp
     221                                        ./analyses/WrapperCorePointerFromSolutionEnum.cpp
     222                                        ./analyses/CorePointerFromSolutionEnum.cpp
     223                                        ./analyses/EnvironmentInit.cpp
     224                                        ./analyses/EnvironmentFinalize.cpp
     225                                        ./analyses/ad_core.cpp
     226                                        ./solutionsequences/solutionsequence_linear.cpp
     227                                        ./solutionsequences/solutionsequence_nonlinear.cpp
     228                                        ./solutionsequences/solutionsequence_newton.cpp
     229                                        ./solutionsequences/convergence.cpp
     230                                        ./classes/Options/Options.cpp
     231                                        ./classes/Options/OptionUtilities.cpp)
     232set(issm_sources ${core_sources})
    231233# }}}
    232234
    233 add_library(ISSMCore STATIC ${core_sources})
     235#DAKOTA sources  {{{
     236set(dakota_sources                                ./modules/InputUpdateFromDakotax/InputUpdateFromDakotax.cpp
     237                                                                          ./modules/InputUpdateFromVectorDakotax/InputUpdateFromVectorDakotax.cpp
     238                                                                          ./modules/InputUpdateFromMatrixDakotax/InputUpdateFromMatrixDakotax.cpp
     239                                          ./modules/AverageOntoPartitionx/AverageOntoPartitionx.cpp
     240                                                                          ./modules/ModelProcessorx/Dakota/CreateParametersDakota.cpp
     241                                          ./analyses/dakota_core.cpp
     242                                                                          ./analyses/DakotaSpawnCore.cpp)
     243#}}}
     244#Transient sources  {{{
     245set(transient_sources ./modules/ModelProcessorx/Transient/UpdateElementsTransient.cpp
     246                                                        ./analyses/transient_core.cpp)
     247#}}}
     248#Steadystate sources  {{{
     249set(steadystate_sources ./analyses/steadystate_core.cpp)
     250#}}}
     251#Prognostic sources  {{{
     252set(prognostic_sources ./modules/ModelProcessorx/Prognostic/UpdateElementsPrognostic.cpp
     253                                              ./modules/ModelProcessorx/Prognostic/CreateNodesPrognostic.cpp
     254                                              ./modules/ModelProcessorx/Prognostic/CreateConstraintsPrognostic.cpp
     255                                              ./modules/ModelProcessorx/Prognostic/CreateLoadsPrognostic.cpp
     256                                                        ./analyses/prognostic_core.cpp)
     257#}}}
     258#Thermal sources  {{{
     259set(thermal_sources ./modules/ModelProcessorx/Thermal/UpdateElementsThermal.cpp
     260                                           ./modules/ModelProcessorx/Thermal/CreateNodesThermal.cpp
     261                                           ./modules/ModelProcessorx/Thermal/CreateConstraintsThermal.cpp
     262                                           ./modules/ModelProcessorx/Thermal/CreateLoadsThermal.cpp
     263                                           ./modules/ModelProcessorx/Enthalpy/UpdateElementsEnthalpy.cpp
     264                                           ./modules/ModelProcessorx/Enthalpy/CreateNodesEnthalpy.cpp
     265                                           ./modules/ModelProcessorx/Enthalpy/CreateConstraintsEnthalpy.cpp
     266                                           ./modules/ModelProcessorx/Enthalpy/CreateLoadsEnthalpy.cpp
     267                                           ./modules/ModelProcessorx/Melting/UpdateElementsMelting.cpp
     268                                           ./modules/ModelProcessorx/Melting/CreateNodesMelting.cpp
     269                                           ./modules/ModelProcessorx/Melting/CreateConstraintsMelting.cpp
     270                                           ./modules/ModelProcessorx/Melting/CreateLoadsMelting.cpp
     271                                           ./modules/ConstraintsStatex/ThermalConstraintsState.cpp
     272                                           ./modules/ConstraintsStatex/ThermalIsPresent.cpp
     273                                           ./modules/ResetConstraintsx/ThermalConstraintsReset.cpp
     274                                           ./analyses/thermal_core.cpp
     275                                           ./analyses/enthalpy_core.cpp
     276                                           ./solutionsequences/solutionsequence_thermal_nonlinear.cpp)
     277#}}}
     278#Control sources  {{{
     279set(control_sources ./modules/ControlInputGetGradientx/ControlInputGetGradientx.cpp
     280                                                                          ./modules/ControlInputSetGradientx/ControlInputSetGradientx.cpp
     281                                                                          ./modules/ControlInputScaleGradientx/ControlInputScaleGradientx.cpp
     282                                                                          ./modules/GetVectorFromControlInputsx/GetVectorFromControlInputsx.cpp
     283                                                                          ./modules/SetControlInputsFromVectorx/SetControlInputsFromVectorx.cpp
     284                                                                          ./modules/ModelProcessorx/Control/CreateParametersControl.cpp
     285                                          ./modules/ModelProcessorx/Control/UpdateElementsAndMaterialsControl.cpp
     286                                                                          ./modules/InputControlUpdatex/InputControlUpdatex.cpp
     287                                                                          ./modules/SurfaceAbsVelMisfitx/SurfaceAbsVelMisfitx.cpp
     288                                                                          ./modules/SurfaceRelVelMisfitx/SurfaceRelVelMisfitx.cpp
     289                                                                          ./modules/SurfaceLogVelMisfitx/SurfaceLogVelMisfitx.cpp
     290                                                                          ./modules/SurfaceLogVxVyMisfitx/SurfaceLogVxVyMisfitx.cpp
     291                                                                          ./modules/SurfaceAverageVelMisfitx/SurfaceAverageVelMisfitx.cpp
     292                                                                          ./modules/ThicknessAbsMisfitx/ThicknessAbsMisfitx.cpp
     293                                                                          ./modules/Orthx/Orthx.cpp
     294                                                                          ./modules/Gradjx/Gradjx.cpp
     295                                          ./modules/DragCoefficientAbsGradientx/DragCoefficientAbsGradientx.cpp
     296                                                                          ./modules/ThicknessAlongGradientx/ThicknessAlongGradientx.cpp
     297                                                                          ./modules/ThicknessAcrossGradientx/ThicknessAcrossGradientx.cpp
     298                                                                          ./modules/RheologyBbarAbsGradientx/RheologyBbarAbsGradientx.cpp
     299                                                                                                          ./classes/Inputs/ControlInput.cpp
     300                                          ./shared/Numerics/BrentSearch.cpp
     301                                          ./shared/Numerics/OptimalSearch.cpp
     302                                          ./analyses/control_core.cpp
     303                                          ./analyses/controltao_core.cpp
     304                                          ./analyses/objectivefunction.cpp
     305                                          ./analyses/gradient_core.cpp
     306                                          ./analyses/adjointdiagnostic_core.cpp
     307                                          ./analyses/adjointbalancethickness_core.cpp
     308                                          ./analyses/AdjointCorePointerFromSolutionEnum.cpp
     309                                          ./solutionsequences/solutionsequence_adjoint_linear.cpp)
     310#}}}
     311#Hydrology sources  {{{
     312set(hydrology_sources  ./modules/ModelProcessorx/HydrologyShreve/UpdateElementsHydrologyShreve.cpp
     313                                              ./modules/ModelProcessorx/HydrologyShreve/CreateNodesHydrologyShreve.cpp
     314                                              ./modules/ModelProcessorx/HydrologyShreve/CreateConstraintsHydrologyShreve.cpp
     315                                              ./modules/ModelProcessorx/HydrologyShreve/CreateLoadsHydrologyShreve.cpp
     316                                                        ./modules/ModelProcessorx/HydrologyShreve/CreateParametersHydrologyShreve.cpp
     317                                                        ./modules/ModelProcessorx/HydrologyDCInefficient/UpdateElementsHydrologyDCInefficient.cpp
     318                                                        ./modules/ModelProcessorx/HydrologyDCInefficient/CreateNodesHydrologyDCInefficient.cpp
     319                                                        ./modules/ModelProcessorx/HydrologyDCInefficient/CreateConstraintsHydrologyDCInefficient.cpp
     320                                                        ./modules/ModelProcessorx/HydrologyDCInefficient/CreateLoadsHydrologyDCInefficient.cpp
     321                                                        ./modules/ModelProcessorx/HydrologyDCInefficient/CreateParametersHydrologyDCInefficient.cpp
     322                                                        ./modules/ModelProcessorx/HydrologyDCEfficient/UpdateElementsHydrologyDCEfficient.cpp
     323                                                        ./modules/ModelProcessorx/HydrologyDCEfficient/CreateNodesHydrologyDCEfficient.cpp
     324                                                        ./modules/ModelProcessorx/HydrologyDCEfficient/CreateConstraintsHydrologyDCEfficient.cpp
     325                                                        ./modules/ModelProcessorx/HydrologyDCEfficient/CreateLoadsHydrologyDCEfficient.cpp
     326                                                        ./modules/ModelProcessorx/HydrologyDCEfficient/CreateParametersHydrologyDCEfficient.cpp
     327                                                        ./analyses/hydrology_core.cpp
     328                                                        ./solutionsequences/solutionsequence_hydro_nonlinear.cpp)
     329#}}}
     330#Diagnostic sources  {{{
     331set(diagnostic_sources ./modules/ModelProcessorx/DiagnosticHoriz/UpdateElementsDiagnosticHoriz.cpp
     332                                              ./modules/ModelProcessorx/DiagnosticHoriz/CreateNodesDiagnosticHoriz.cpp
     333                                              ./modules/ModelProcessorx/DiagnosticHoriz/CreateConstraintsDiagnosticHoriz.cpp
     334                                              ./modules/ModelProcessorx/DiagnosticHoriz/CreateLoadsDiagnosticHoriz.cpp
     335                                              ./modules/ModelProcessorx/DiagnosticVert/UpdateElementsDiagnosticVert.cpp
     336                                              ./modules/ModelProcessorx/DiagnosticVert/CreateNodesDiagnosticVert.cpp
     337                                              ./modules/ModelProcessorx/DiagnosticVert/CreateConstraintsDiagnosticVert.cpp
     338                                              ./modules/ModelProcessorx/DiagnosticVert/CreateLoadsDiagnosticVert.cpp
     339                                              ./modules/ModelProcessorx/DiagnosticHutter/UpdateElementsDiagnosticHutter.cpp
     340                                              ./modules/ModelProcessorx/DiagnosticHutter/CreateNodesDiagnosticHutter.cpp
     341                                              ./modules/ModelProcessorx/DiagnosticHutter/CreateConstraintsDiagnosticHutter.cpp
     342                                                        ./modules/ModelProcessorx/DiagnosticHutter/CreateLoadsDiagnosticHutter.cpp
     343                                                        ./analyses/diagnostic_core.cpp
     344                                                        ./solutionsequences/solutionsequence_stokescoupling_nonlinear.cpp)
     345#}}}
     346#Balanced sources  {{{
     347set(balanced_sources ./modules/ModelProcessorx/Balancethickness/UpdateElementsBalancethickness.cpp
     348                                            ./modules/ModelProcessorx/Balancethickness/CreateNodesBalancethickness.cpp
     349                                            ./modules/ModelProcessorx/Balancethickness/CreateConstraintsBalancethickness.cpp
     350                                                 ./modules/ModelProcessorx/Balancethickness/CreateLoadsBalancethickness.cpp
     351                                                 ./analyses/balancethickness_core.cpp
     352                                                 ./analyses/dummy_core.cpp)
     353#}}}
     354#Slope sources  {{{
     355set(slope_sources  ./modules/ModelProcessorx/BedSlope/UpdateElementsBedSlope.cpp
     356                                          ./modules/ModelProcessorx/BedSlope/CreateNodesBedSlope.cpp
     357                                          ./modules/ModelProcessorx/BedSlope/CreateConstraintsBedSlope.cpp
     358                                          ./modules/ModelProcessorx/BedSlope/CreateLoadsBedSlope.cpp
     359                                          ./modules/ModelProcessorx/SurfaceSlope/UpdateElementsSurfaceSlope.cpp
     360                                          ./modules/ModelProcessorx/SurfaceSlope/CreateNodesSurfaceSlope.cpp
     361                                          ./modules/ModelProcessorx/SurfaceSlope/CreateConstraintsSurfaceSlope.cpp
     362                                          ./modules/ModelProcessorx/SurfaceSlope/CreateLoadsSurfaceSlope.cpp
     363                                          ./analyses/surfaceslope_core.cpp
     364                                          ./analyses/bedslope_core.cpp)
     365#}}}
     366#Gia sources  {{{
     367set(gia_sources  ./analyses/gia_core.cpp
     368                                        ./modules/ModelProcessorx/Gia/UpdateElementsGia.cpp
     369                                        ./modules/ModelProcessorx/Gia/CreateNodesGia.cpp
     370                                        ./modules/ModelProcessorx/Gia/CreateConstraintsGia.cpp
     371                                        ./modules/ModelProcessorx/Gia/CreateLoadsGia.cpp
     372                                        ./modules/GiaDeflectionCorex/GiaDeflectionCorex.cpp
     373                                                                        ./modules/GiaDeflectionCorex/distme.f
     374                                        ./modules/GiaDeflectionCorex/freed.f
     375                                        ./modules/GiaDeflectionCorex/ojrule.f
     376                                        ./modules/GiaDeflectionCorex/pwise.f
     377                                        ./modules/GiaDeflectionCorex/qwise.f
     378                                        ./modules/GiaDeflectionCorex/stot.f
     379                                        ./modules/GiaDeflectionCorex/what0.f
     380                                        )
     381#}}}
     382#Groundingline sources  {{{
     383set(groundingline_sources ./modules/GroundinglineMigrationx/GroundinglineMigrationx.cpp
     384                                                )
     385#}}}
     386#Rifts sources  {{{
     387set(rifts_sources ./classes/Loads/Riftfront.cpp
     388                                                            ./modules/ConstraintsStatex/RiftConstraintsState.cpp)
     389#}}}
     390#Android sources  {{{
     391set(android_sources )
     392#}}}
     393#3D sources  {{{
     394set(threed_sources                           ./classes/gauss/GaussPenta.cpp
     395                                                             ./classes/ElementResults/PentaP1ElementResult.cpp
     396                                                             ./classes/Inputs/PentaInput.cpp
     397                                                             ./classes/Elements/Penta.cpp
     398                                                             ./classes/Elements/PentaRef.cpp)
     399#}}}
     400#Bamg sources  {{{
     401set(bamg_sources                                                ./bamg/BamgGeom.cpp
     402                                                        ./bamg/BamgMesh.cpp
     403                                                        ./bamg/BamgOpts.cpp
     404                                                        ./bamg/CrackedEdge.cpp
     405                                                        ./bamg/Curve.cpp
     406                                                        ./bamg/Direction.cpp
     407                                                                                ./bamg/Edge.cpp
     408                                                        ./bamg/GeomEdge.cpp
     409                                                        ./bamg/GeomSubDomain.cpp
     410                                                        ./bamg/GeomVertex.cpp
     411                                ./bamg/Geometry.cpp
     412                                                        ./bamg/ListofIntersectionTriangles.cpp
     413                                                        ./bamg/EigenMetric.cpp
     414                                ./bamg/Metric.cpp
     415                                                        ./bamg/BamgQuadtree.cpp
     416                                                                                ./bamg/SetOfE4.cpp
     417                                                                                ./bamg/SubDomain.cpp
     418                                                        ./bamg/AdjacentTriangle.cpp
     419                                ./bamg/Triangle.cpp
     420                                ./bamg/det.h
     421                                                        ./bamg/BamgVertex.cpp
     422                                                                                ./bamg/VertexOnEdge.cpp
     423                                                        ./bamg/VertexOnGeom.cpp
     424                                                        ./bamg/VertexOnVertex.cpp
     425                                ./bamg/Mesh.cpp
     426                                                        ./shared/Bamg/Abs.h
     427                                                        ./shared/Bamg/BigPrimeNumber.cpp
     428                                ./shared/Bamg/BinaryRand.h
     429                                ./shared/Bamg/Exchange.h
     430                                ./shared/Bamg/extrema.h
     431                                ./shared/Bamg/HeapSort.h
     432                                ./shared/Bamg/OppositeAngle.h
     433                                ./modules/Bamgx/Bamgx.cpp
     434                                                        ./modules/BamgConvertMeshx/BamgConvertMeshx.cpp
     435                                                        ./modules/BamgTriangulatex/BamgTriangulatex.cpp
     436                                )
     437#}}}
     438#Kriging sources  {{{
     439set(kriging_sources                                     ./classes/kriging/Observations.cpp
     440                                                ./classes/kriging/Variogram.h
     441                                                                                        ./classes/kriging/GaussianVariogram.cpp
     442                                                                                        ./classes/kriging/ExponentialVariogram.cpp
     443                                                                                        ./classes/kriging/SphericalVariogram.cpp
     444                                                                                        ./classes/kriging/PowerVariogram.cpp
     445                                                                                        ./classes/kriging/Quadtree.cpp
     446                                                                                        ./classes/kriging/Observation.cpp
     447                                                ./modules/Krigingx/Krigingx.cpp
     448                                                ./modules/Krigingx/Kriging
     449#For parallel kriging, only difference is ./modules/Krigingx/pKrigingx.cpp with no multithreading
     450set(pkriging_sources                                    ./classes/kriging/Observations.cpp
     451                                                ./classes/kriging/Variogram.h
     452                                                                                        ./classes/kriging/GaussianVariogram.cpp
     453                                                                                        ./classes/kriging/ExponentialVariogram.cpp
     454                                                                                        ./classes/kriging/SphericalVariogram.cpp
     455                                                                                        ./classes/kriging/PowerVariogram.cpp
     456                                                                                        ./classes/kriging/Quadtree.cpp
     457                                                                                        ./classes/kriging/Observation.cpp
     458                                                ./modules/Krigingx/pKrigingx.cpp
     459                                                )
     460#}}}
     461#Kml sources  {{{
     462set(kml_sources                      ./modules/Exp2Kmlx/Exp2Kmlx.cpp
     463                                             ./modules/Kml2Expx/Kml2Expx.cpp
     464                                             ./modules/Shp2Expx/Shp2Expx.cpp
     465                                             ./modules/Shp2Kmlx/Shp2Kmlx.cpp
     466                                             ./modules/KMLFileReadx/KMLFileReadx.cpp
     467                                             ./modules/KMLMeshWritex/KMLMeshWritex.cpp
     468                                             ./modules/KMLOverlayx/KMLOverlayx.cpp
     469                                             ./kml/KML_Attribute.cpp
     470                                             ./kml/KML_Comment.cpp
     471                                             ./kml/KML_ColorStyle.cpp
     472                                             ./kml/KML_Container.cpp
     473                                             ./kml/KML_Document.cpp
     474                                             ./kml/KML_Feature.cpp
     475                                             ./kml/KML_File.cpp
     476                                             ./kml/KML_Folder.cpp
     477                                             ./kml/KML_Geometry.cpp
     478                                             ./kml/KML_GroundOverlay.cpp
     479                                             ./kml/KML_Icon.cpp
     480                                             ./kml/KML_LatLonBox.cpp
     481                                             ./kml/KML_LinearRing.cpp
     482                                             ./kml/KML_LineString.cpp
     483                                             ./kml/KML_LineStyle.cpp
     484                                             ./kml/KML_MultiGeometry.cpp
     485                                             ./kml/KML_Object.cpp
     486                                             ./kml/KML_Overlay.cpp
     487                                             ./kml/KML_Point.cpp
     488                                             ./kml/KML_Placemark.cpp
     489                                             ./kml/KML_Polygon.cpp
     490                                             ./kml/KML_PolyStyle.cpp
     491                                             ./kml/KML_Style.cpp
     492                                             ./kml/KML_StyleSelector.cpp
     493                                             ./kml/KML_SubStyle.cpp
     494                                             ./kml/KML_Unknown.cpp
     495                                             ./kml/KMLFileReadUtils.cpp
     496                             )
     497#}}}
     498#Petsc sources  {{{
     499petsc_sources= ./toolkits/petsc
     500                                        ./toolkits/petsc/patches
     501                                                                                                        ./toolkits/petsc/patches/VecToMPISerial.cpp
     502                                        ./toolkits/petsc/patches/MatToSerial.cpp
     503                                        ./toolkits/petsc/patches/VecMerge.cpp
     504                                        ./toolkits/petsc/patches/NewVec.cpp
     505                                        ./toolkits/petsc/patches/PetscOptionsDetermineSolverType.cpp
     506                                        ./toolkits/petsc/patches/PetscOptionsInsertMultipleString.cpp
     507                                        ./toolkits/petsc/patches/NewMat.cpp
     508                                        ./toolkits/petsc/patches/VecFree.cpp
     509                                        ./toolkits/petsc/patches/PetscMatrixToDoubleMatrix.cpp
     510                                        ./toolkits/petsc/patches/PetscVectorToDoubleVector.cpp
     511                                        ./toolkits/petsc/patches/VecDuplicatePatch.cpp
     512                                        ./toolkits/petsc/patches/KSPFree.cpp
     513                                        ./toolkits/petsc/patches/MatFree.cpp
     514                                        ./toolkits/petsc/patches/MatMultPatch.cpp
     515                                        ./toolkits/petsc/patches/ISSMToPetscMatrixType.cpp
     516                                        ./toolkits/petsc/patches/ISSMToPetscInsertMode.cpp
     517                                        ./toolkits/petsc/patches/ISSMToPetscNormMode.cpp
     518                                                                                                        ./toolkits/petsc/objects/PetscMat.cpp
     519                                                                        ./toolkits/petsc/objects/PetscVec.cpp
     520                                        ./toolkits/petsc/objects/PetscSolver.cpp
     521                                                                        )
     522#}}}
     523#Mumps sources  {{{
     524set(mumps_sources      ./toolkits/mumps
     525                                                                        ./toolkits/mumps/MpiDenseMumpsSolve.cpp)
     526#}}}
     527#Gsl sources  {{{
     528set(gsl_sources   ./toolkits/gsl/DenseGslSolve.cpp)
     529#}}}
     530#Mpi sources  {{{
     531set(mpi_sources                                                 ./toolkits/mpi/patches/DetermineLocalSize.cpp
     532                                ./toolkits/mpi/patches/DetermineGlobalSize.cpp
     533                                ./toolkits/mpi/patches/DetermineRowRankFromLocalSize.cpp
     534                                ./toolkits/mpi/patches/GetOwnershipBoundariesFromRange.cpp
     535                                                        )
     536#}}}
     537#Metis sources  {{{
     538set(metis_sources                               ./toolkits/metis/patches/METIS_PartMeshNodalPatch.cpp)
     539#}}}
     540# Modules Sources {{{
     541set(modules_sources ./shared/Threads/LaunchThread.cpp
     542                        ./shared/Threads/PartitionRange.cpp
     543                        ./shared/Exp/exp.cpp
     544                        ./shared/TriMesh/AssociateSegmentToElement.cpp
     545                        ./shared/TriMesh/GridInsideHole.cpp
     546                        ./shared/TriMesh/OrderSegments.cpp
     547                        ./shared/TriMesh/SplitMeshForRifts.cpp
     548                        ./shared/TriMesh/TriMeshUtils.cpp
     549                        ./modules/Chacox/Chacox.cpp
     550                        ./modules/Chacox/input_parse.cpp
     551                        ./modules/Chacox/chaco_seconds.cpp
     552                        ./modules/Chacox/user_params.cpp
     553                        ./modules/TriaSearchx/TriaSearchx.cpp
     554                        ./modules/TriMeshx/TriMeshx.cpp
     555                        ./modules/TriMeshProcessRiftsx/TriMeshProcessRiftsx.cpp
     556                        ./modules/PointCloudFindNeighborsx/PointCloudFindNeighborsx.cpp
     557                        ./modules/PointCloudFindNeighborsx/PointCloudFindNeighborsxt.cpp
     558                        ./modules/InterpFromGridToMeshx/InterpFromGridToMeshx.cpp
     559                        ./modules/InterpFromMesh2dx/InterpFromMesh2dx.cpp
     560                        ./modules/InterpFromMesh2dx/InterpFromMesh2dxt.cpp
     561                        ./modules/InterpFromMeshToMesh2dx/InterpFromMeshToMesh2dx.cpp
     562                        ./modules/InterpFromMeshToMesh3dx/InterpFromMeshToMesh3dx.cpp
     563                        ./modules/InterpFromMeshToGridx/InterpFromMeshToGridx.cpp
     564                        ./modules/HoleFillerx/HoleFillerx.cpp
     565                        ./modules/EdgeDetectionx/EdgeDetectionx.cpp
     566                        ./modules/AverageFilterx/AverageFilterx.cpp
     567                        ./modules/MeshProfileIntersectionx/MeshProfileIntersectionx.cpp
     568                        ./modules/ContourToMeshx/ContourToMeshx.cpp
     569                        ./modules/ContourToMeshx/ContourToMeshxt.cpp
     570                        ./modules/ContourToNodesx/ContourToNodesx.cpp
     571                        ./modules/Reducevectorgtosx/Reducevectorgtosx.cpp
     572                        ./modules/NodeConnectivityx/NodeConnectivityx.cpp
     573                        ./modules/ElementConnectivityx/ElementConnectivityx.cpp
     574                        ./modules/Scotchx/Scotchx.cpp
     575                        ./modules/PropagateFlagsFromConnectivityx/PropagateFlagsFromConnectivityx.cpp)
     576# }}}
     577
     578#{{{ Conditional build-up of sources
     579#ISSM sources are a combination of core sources and sources related to specific capabilities.
     580
     581if DAKOTA
     582issm_sources  +=  $(dakota_sources)
     583endif
     584
     585if PETSC
     586issm_sources  +=  $(petsc_sources)
     587endif
     588
     589if MUMPS
     590issm_sources  +=  $(mumps_sources)
     591endif
     592
     593if GSL
     594issm_sources  +=  $(gsl_sources)
     595endif
     596
     597if TRANSIENT
     598issm_sources  +=  $(transient_sources)
     599endif
     600
     601if STEADYSTATE
     602issm_sources  +=  $(steadystate_sources)
     603endif
     604
     605if PROGNOSTIC
     606issm_sources  +=  $(prognostic_sources)
     607endif
     608
     609if THERMAL
     610issm_sources  +=  $(thermal_sources)
     611endif
     612
     613if GIA
     614issm_sources  +=  $(gia_sources)
     615endif
     616
     617if CONTROL
     618issm_sources  +=  $(control_sources)
     619endif
     620
     621if HYDROLOGY
     622issm_sources  +=  $(hydrology_sources)
     623endif
     624
     625if DIAGNOSTIC
     626issm_sources  +=  $(diagnostic_sources)
     627endif
     628
     629if BALANCED
     630issm_sources  +=  $(balanced_sources)
     631endif
     632
     633if SLOPE
     634issm_sources  +=  $(slope_sources)
     635endif
     636
     637if GROUNDINGLINE
     638issm_sources +=  $(groundingline_sources)
     639endif
     640
     641if RIFTS
     642issm_sources +=  $(rifts_sources)
     643endif
     644
     645if ANDROID
     646issm_sources +=  $(android_sources)
     647endif
     648
     649if THREED
     650issm_sources +=  $(threed_sources)
     651endif
     652
     653if MPI
     654issm_sources +=  $(mpi_sources)
     655endif
     656
     657if METIS
     658issm_sources +=  $(metis_sources)
     659endif
     660
     661if KRIGING
     662issm_sources +=  $(pkriging_sources)
     663endif
     664#}}}
     665
     666add_library(ISSMCore STATIC ${issm_sources})
     667add_library(ISSMModules STATIC ${modules_sources})
    234668add_executable(issm ./main/issm.cpp)
     669
     670# Definitions {{{
     671add_definitions(-DHAVE_CONFIG_H)
     672# }}}
     673# Compilation Flags {{{
     674# }}}
     675# Linking Flags {{{
     676link_directories($ENV{ISSM_DIR}/src/c)
     677target_link_libraries(issm ISSMCore ISSMModules)
     678# }}}
Note: See TracChangeset for help on using the changeset viewer.