Select Git revision
FindIPOpt.cmake
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)