Changeset 15480


Ignore:
Timestamp:
07/10/13 17:53:12 (12 years ago)
Author:
glperez
Message:

CHG: Further modifications relating to CMake build.

Location:
issm/trunk-jpl
Files:
3 edited

Legend:

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

    r15468 r15480  
    1616include(CheckLanguage)
    1717include(./m4/issm_options.cmake)
    18 # }}}
    19 
    20 # Environment Variables {{{
    21 # Out of source build can be done here.
    22 set(CMAKE_BINARY_DIR ${ISSM_DIR})
    23 # }}}
    24 
    25 # Install Targets {{{
    26 # Install 'issm.exe'
    27 #install(TARGETS issm RUNTIME)
    28 
    29 # Install 'libISSMCore.a' and 'libISSMOverload.a'
    30 # install(TARGETS ISSMCore
    31 #                ISSMOverload
    32 #        ARCHIVE)
    33 # }}}
    34 # Optional Install {{{
    35 #if(${SHARED_LIBS} IS ON)
    36 #   install(TARGETS ISSMCore
    37 #                   ISSMOverload
    38 #           LIBRARY)
    39 #endif(${SHARED_LIBS} IS ON)
    4018# }}}
    4119
  • TabularUnified issm/trunk-jpl/m4/issm_options.cmake

    r15468 r15480  
    1 option(threed "Compile with 3D capabilities (Default is yes)." ON)
     1# ISSM Options {{{
     2option(DAKOTA "DAKOTA" OFF)
     3option(PETSC "PETSC" OFF)
     4option(MUMPS "MUMPS" OFF)
     5#option(GSL "GSL" OFF)
     6option(TRANSIENT "TRANSIENT" ON)
     7option(STEADYSTATE "STEADYSTATE" ON)
     8option(PROGNOSTIC "PROGNOSTIC" ON)
     9option(THERMAL "THERMAL" ON)
     10option(GIA "GIA" OFF)
     11option(CONTROL "CONTROL" ON)
     12option(HYDROLOGY "HYDROLOGY" ON)
     13option(DIAGNOSTIC "DIAGNOSTIC" ON)
     14option(BALANCED "BALANCED" ON)
     15option(SLOPE "SLOPE" ON)
     16option(GROUNDINGLINE "GROUNDINGLINE" ON)
     17option(RIFTS "RIFTS" ON)
     18option(ANDROID "ANDROID" OFF)
     19option(THREED "THREED" ON)
     20option(MPI "MPI" OFF)
     21option(METIS "METIS" OFF)
     22option(KRIGING "KRIGING" OFF)
     23# }}}
     24
     25if(NOT GSL_DIR)
     26    message(FATAL_ERROR "Non GSL build not supported")
     27else(NOT GSL_DIR)
     28    find_path(GSL lib ${GSL_DIR})
     29
     30    if(GSL)
     31        message("Found GSL: ${GSL_DIR}")
     32        set(GSL_INC_DIR ${GSL_DIR}/include)
     33        set(GSL_LIB_DIR ${GSL_DIR}/lib)
     34    else(GSL)
     35        message(FATAL_ERROR "GSL installation directory not found!")
     36    endif(GSL)
     37endif(NOT GSL_DIR)
  • TabularUnified issm/trunk-jpl/src/c/CMakeLists.txt

    r15468 r15480  
     1# config.h {{{
     2set(CPP_FLAGS -DHAVE_CONFIG_H)
     3# }}}
    14# Include Directory {{{
    25include_directories(AFTER $ENV{ISSM_DIR}/
     
    7881
    7982# Core Sources {{{
    80 set(core_sources    ./datastructures/DataSet.cpp
     83set(core_sources        ./datastructures/DataSet.cpp
    8184                                        ./classes/gauss/GaussTria.cpp
    8285                                        ./classes/FemModel.cpp
     
    174177                                        ./modules/ModelProcessorx/ElementsAndVerticesPartitioning.cpp
    175178                                        ./modules/ModelProcessorx/NodesPartitioning.cpp
     179                                        ./modules/ModelProcessorx/EdgesPartitioning.cpp
    176180                                        ./modules/ModelProcessorx/SortDataSets.cpp
    177181                                        ./modules/ModelProcessorx/UpdateCounters.cpp
     
    179183                                        ./modules/ModelProcessorx/CreateParameters.cpp
    180184                                        ./modules/ModelProcessorx/Autodiff/CreateParametersAutodiff.cpp
     185                                        ./modules/ModelProcessorx/CreateEdges.cpp
     186                                        ./modules/ModelProcessorx/CreateElementToEdgeConnectivity.cpp
    181187                                        ./modules/ModelProcessorx/CreateSingleNodeToElementConnectivity.cpp
    182188                                        ./modules/ModelProcessorx/CreateNumberNodeToElementConnectivity.cpp
    183189                                        ./modules/ModelProcessorx/CreateElementsVerticesAndMaterials.cpp
     190                                        ./modules/ModelProcessorx/CreateNodes.cpp
    184191                                        ./modules/ParseToolkitsOptionsx/ParseToolkitsOptionsx.cpp
    185192                                        ./modules/NodesDofx/NodesDofx.cpp
     
    229236                                        ./solutionsequences/convergence.cpp
    230237                                        ./classes/Options/Options.cpp
    231                                         ./classes/Options/OptionUtilities.cpp)
     238                                        ./classes/Options/OptionUtilities.cpp
     239                                        ./classes/RiftStruct.cpp)
    232240set(issm_sources ${core_sources})
    233241# }}}
    234242
    235 #DAKOTA sources  {{{
     243# DAKOTA sources  {{{
    236244set(dakota_sources                                ./modules/InputUpdateFromDakotax/InputUpdateFromDakotax.cpp
    237245                                                                          ./modules/InputUpdateFromVectorDakotax/InputUpdateFromVectorDakotax.cpp
     
    538546set(metis_sources                               ./toolkits/metis/patches/METIS_PartMeshNodalPatch.cpp)
    539547#}}}
     548
     549# API Print {{{
     550if(NOT PYTHON AND NOT MATLAB)
     551    add_library(ISSMOverload STATIC ./shared/String/stricmp.cpp
     552            ./shared/String/ApiPrintf.cpp)
     553    list(APPEND issm_deps ISSMOverload)
     554else(NOT PYTHON AND NOT MATLAB)
     555    message(FATAL_ERROR "Python and Matlab are not supported yet.")
     556endif(NOT PYTHON AND NOT MATLAB)
     557# }}}
     558
    540559# Modules Sources {{{
    541560set(modules_sources ./shared/Threads/LaunchThread.cpp
     
    579598#ISSM sources are a combination of core sources and sources related to specific capabilities.
    580599
    581 if DAKOTA
    582 issm_sources  +=  $(dakota_sources)
    583 endif
    584 
    585 if PETSC
    586 issm_sources  +=  $(petsc_sources)
    587 endif
    588 
    589 if MUMPS
    590 issm_sources  +=  $(mumps_sources)
    591 endif
    592 
    593 if GSL
    594 issm_sources  +=  $(gsl_sources)
    595 endif
    596 
    597 if TRANSIENT
    598 issm_sources  +=  $(transient_sources)
    599 endif
    600 
    601 if STEADYSTATE
    602 issm_sources  +=  $(steadystate_sources)
    603 endif
    604 
    605 if PROGNOSTIC
    606 issm_sources  +=  $(prognostic_sources)
    607 endif
    608 
    609 if THERMAL
    610 issm_sources  +=  $(thermal_sources)
    611 endif
    612 
    613 if GIA
    614 issm_sources  +=  $(gia_sources)
    615 endif
    616 
    617 if CONTROL
    618 issm_sources  +=  $(control_sources)
    619 endif
    620 
    621 if HYDROLOGY
    622 issm_sources  +=  $(hydrology_sources)
    623 endif
    624 
    625 if DIAGNOSTIC
    626 issm_sources  +=  $(diagnostic_sources)
    627 endif
    628 
    629 if BALANCED
    630 issm_sources  +=  $(balanced_sources)
    631 endif
    632 
    633 if SLOPE
    634 issm_sources  +=  $(slope_sources)
    635 endif
    636 
    637 if GROUNDINGLINE
    638 issm_sources +=  $(groundingline_sources)
    639 endif
    640 
    641 if RIFTS
    642 issm_sources +=  $(rifts_sources)
    643 endif
    644 
    645 if ANDROID
    646 issm_sources +=  $(android_sources)
    647 endif
    648 
    649 if THREED
    650 issm_sources +=  $(threed_sources)
    651 endif
    652 
    653 if MPI
    654 issm_sources +=  $(mpi_sources)
    655 endif
    656 
    657 if METIS
    658 issm_sources +=  $(metis_sources)
    659 endif
    660 
    661 if KRIGING
    662 issm_sources +=  $(pkriging_sources)
    663 endif
     600if(DAKOTA)
     601list(APPEND CPP_FLAGS '-D_HAVE_DAKOTA_')
     602list(APPEND issm_sources ${dakota_sources})
     603endif(DAKOTA)
     604
     605if(PETSC)
     606list(APPEND CPP_FLAGS '-D_HAVE_PETSC_')
     607list(APPEND issm_sources ${petsc_sources})
     608endif(PETSC)
     609
     610if(MUMPS)
     611list(APPEND CPP_FLAGS '-D_HAVE_MUMPS_')
     612list(APPEND issm_sources ${mumps_sources})
     613endif(MUMPS)
     614
     615if(GSL)
     616list(APPEND CPP_FLAGS '-D_HAVE_GSL_')
     617list(APPEND issm_sources ${gsl_sources})
     618list(APPEND issm_deps gsl gslcblas)
     619list(APPEND issm_lib_paths ${GSL_LIB_DIR})
     620include_directories(AFTER ${GSL_INC_DIR})
     621message("GSL_INC: ${GSL_INC_DIR}")
     622message("GSL_LIB: ${GSL_LIB_DIR}")
     623endif(GSL)
     624
     625if(TRANSIENT)
     626list(APPEND CPP_FLAGS '-D_HAVE_TRANSIENT_')
     627list(APPEND issm_sources ${transient_sources})
     628endif(TRANSIENT)
     629
     630if(STEADYSTATE)
     631list(APPEND CPP_FLAGS '-D_HAVE_STEADYSTATE_')
     632list(APPEND issm_sources ${steadystate_sources})
     633endif(STEADYSTATE)
     634
     635if(PROGNOSTIC)
     636list(APPEND CPP_FLAGS '-D_HAVE_PROGNOSTIC_')
     637list(APPEND issm_sources ${prognostic_sources})
     638endif(PROGNOSTIC)
     639
     640if(THERMAL)
     641list(APPEND CPP_FLAGS '-D_HAVE_THERMAL_')
     642list(APPEND issm_sources ${thermal_sources})
     643endif(THERMAL)
     644
     645if(GIA)
     646list(APPEND CPP_FLAGS '-D_HAVE_GIA_')
     647list(APPEND issm_sources ${gia_sources})
     648endif(GIA)
     649
     650if(CONTROL)
     651list(APPEND CPP_FLAGS '-D_HAVE_CONTROL_')
     652list(APPEND issm_sources ${control_sources})
     653endif(CONTROL)
     654
     655if(HYDROLOGY)
     656list(APPEND CPP_FLAGS '-D_HAVE_HYDROLOGY_')
     657list(APPEND issm_sources ${hydrology_sources})
     658endif(HYDROLOGY)
     659
     660if(DIAGNOSTIC)
     661list(APPEND CPP_FLAGS '-D_HAVE_DIAGNOSTIC_')
     662list(APPEND issm_sources ${diagnostic_sources})
     663endif(DIAGNOSTIC)
     664
     665if(BALANCED)
     666list(APPEND CPP_FLAGS '-D_HAVE_BALANCED_')
     667list(APPEND issm_sources ${balanced_sources})
     668endif(BALANCED)
     669
     670if(SLOPE)
     671list(APPEND CPP_FLAGS '-D_HAVE_SLOPE_')
     672list(APPEND issm_sources ${slope_sources})
     673endif(SLOPE)
     674
     675if(GROUNDINGLINE)
     676list(APPEND CPP_FLAGS '-D_HAVE_GROUNDINGLINE_')
     677list(APPEND issm_sources ${groundingline_sources})
     678endif(GROUNDINGLINE)
     679
     680if(RIFTS)
     681list(APPEND CPP_FLAGS '-D_HAVE_RIFTS_')
     682list(APPEND issm_sources ${rifts_sources})
     683endif(RIFTS)
     684
     685if(ANDROID)
     686list(APPEND CPP_FLAGS '-D_HAVE_ANDROID_')
     687list(APPEND issm_sources ${android_sources})
     688endif(ANDROID)
     689
     690if(THREED)
     691list(APPEND CPP_FLAGS '-D_HAVE_THREED_')
     692list(APPEND issm_sources ${threed_sources})
     693endif(THREED)
     694
     695if(MPI)
     696list(APPEND CPP_FLAGS '-D_HAVE_MPI_')
     697list(APPEND issm_sources ${mpi_sources})
     698endif(MPI)
     699
     700if(METIS)
     701list(APPEND CPP_FLAGS '-D_HAVE_METIS_')
     702list(APPEND issm_sources ${metis_sources})
     703endif(METIS)
     704
     705if(KRIGING)
     706list(APPEND CPP_FLAGS '-D_HAVE_KRIGING_')
     707list(APPEND issm_sources ${pkriging_sources})
     708endif(KRIGING)
    664709#}}}
    665710
    666711add_library(ISSMCore STATIC ${issm_sources})
    667712add_library(ISSMModules STATIC ${modules_sources})
     713
     714list(INSERT issm_deps 0 ISSMCore ISSMModules)
    668715add_executable(issm ./main/issm.cpp)
    669716
    670717# Definitions {{{
    671 add_definitions(-DHAVE_CONFIG_H)
     718add_definitions(${CPP_FLAGS})
    672719# }}}
    673720# Compilation Flags {{{
    674721# }}}
    675722# Linking Flags {{{
    676 link_directories($ENV{ISSM_DIR}/src/c)
    677 target_link_libraries(issm ISSMCore ISSMModules)
    678 # }}}
     723link_directories($ENV{ISSM_DIR}/src/c )
     724target_link_libraries(issm ${issm_deps})
     725message("ISSM_DEPS: ${issm_deps}")
     726# }}}
     727
     728# Install Targets {{{
     729# Install 'issm.exe'
     730install(TARGETS issm RUNTIME DESTINATION $ENV{ISSM_DIR}/bin)
     731
     732# Install 'libISSMCore.a' and 'libISSMOverload.a'
     733install(TARGETS ISSMCore
     734                ISSMModules
     735                ISSMOverload
     736        ARCHIVE DESTINATION $ENV{ISSM_DIR}/lib)
     737# }}}
     738# Optional Install {{{
     739#if(${SHARED_LIBS} IS ON)
     740#   install(TARGETS ISSMCore
     741#                   ISSMOverload
     742#           LIBRARY)
     743#endif(${SHARED_LIBS} IS ON)
     744# }}}
Note: See TracChangeset for help on using the changeset viewer.