Skip to content
Snippets Groups Projects
Select Git revision
  • c25f9b9eb24a88d8b053dbbd52501e839e5d7a14
  • 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
  • user avatar
    Jonathan Youett authored
    c25f9b9e
    History
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    FindIPOpt.cmake 1.14 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 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)
    
    set(HAVE_IPOPT ENABLE_IPOPT)
    
    if(IPOPT_FOUND)
        set(DUNE_IPOPT_CFLAGS -I${IPOPT_INCLUDE_DIR})
        set_property(GLOBAL APPEND PROPERTY ALL_PKG_FLAGS "-DENABLE_IPOPT")
        set_property(GLOBAL APPEND PROPERTY ALL_PKG_FLAGS ${DUNE_IPOPT_CFLAGS})
        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)
    endif(IPOPT_FOUND)