Skip to content
Snippets Groups Projects
Select Git revision
  • d9b2a6e90045dc940f5edcf36d9ba2d14ce54d2c
  • master default
  • releases/2.10
  • feature/update-buildsystem
  • releases/2.9
  • more-features-for-cholmodsolver
  • releases/2.8
  • fix/error-norm
  • releases/2.7
  • implement-overlappingblockgsstep
  • make-getiterationstep-return-shared-ptr
  • feature/blockgssteps_autoCopy
  • releases/2.6-1
  • feature/use-smart-ptr-ignorenodes
  • feature/update-to-clang-7
  • feature/whitespace-fix
  • flexible-loopsolver-max
  • releases/2.5-1
  • feature/incomplete-cholesky-rebased
  • feature/istl-preconditioners
  • feature/optional-ignore
  • subversion->git
22 results

FindIPOpt.cmake

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    FindIPOpt.cmake 1.36 KiB
    include(FindPackageHandleStandardArgs)
    
    #find_package(PkgConfig REQUIRED)
    #pkg_check_modules(IPOPT ipopt)
    
    # some versions of Ipopt need the DL library
    find_library(DL_LIBRARY dl)
    
    find_path(IPOPT_INCLUDE_DIR
      NAMES "IpNLP.hpp"
      PATH_SUFFIXES "include" "include/coin"
    )
    
    find_library(IPOPT_LIBRARY
      NAMES ipopt
      PATH_SUFFIXES "lib"
    )
    
    # If you want to want to use other linear solver
    find_library(HSL_LIBRARY
      NAMES hsl coinhsl
      PATH_SUFFIXES "lib"
    )
    
    find_package_handle_standard_args(hsl DEFAULT_MSG HSL_LIBRARY)
    find_package_handle_standard_args(dl DEFAULT_MSG DL_LIBRARY)
    find_package_handle_standard_args(Ipopt DEFAULT_MSG IPOPT_INCLUDE_DIR IPOPT_LIBRARY)
    
    if(IPOPT_FOUND)
        set(HAVE_IPOPT ENABLE_IPOPT)
        set(DUNE_IPOPT_CFLAGS "-I${IPOPT_INCLUDE_DIR} -DENABLE_IPOPT=1 -DHAVE_CSTDDEF=1")
        set_property(GLOBAL APPEND PROPERTY ALL_PKG_FLAGS "-I${IPOPT_INCLUDE_DIR}")
        set(IPOPT_LIBRARY ${IPOPT_LIBRARY})
        if (HSL_FOUND)
            set (IPOPT_LIBRARY ${HSL_LIBRARY} ${IPOPT_LIBRARY})
        endif(HSL_FOUND)
        if (DL_FOUND)
            set (IPOPT_LIBRARY ${DL_LIBRARY} ${IPOPT_LIBRARY})
        endif(DL_FOUND)
    
        # register all related flags
        dune_register_package_flags(COMPILE_DEFINITIONS "ENABLE_IPOPT=1" "HAVE_CSTDDEF=1"
                                    LIBRARIES "${IPOPT_LIBRARY}"
                                    INCLUDE_DIRS "${IPOPT_INCLUDE_DIR}")
    endif(IPOPT_FOUND)