diff --git a/cmake/modules/AddIPOptFlags.cmake b/cmake/modules/AddIPOptFlags.cmake
index 1db2f1f14207ecf5e489ecb7b41ed76872e8acb9..e30d24b3aecc6fa871f414fe1bb070fb8055e6df 100644
--- a/cmake/modules/AddIPOptFlags.cmake
+++ b/cmake/modules/AddIPOptFlags.cmake
@@ -7,7 +7,7 @@ function(add_dune_ipopt_flags _targets)
       set_target_properties(${_target} PROPERTIES COMPILE_FLAGS
           "${_props} ${DUNE_IPOPT_CFLAGS}")
       if(NOT ADD_DUNE_IPOPT_FLAGS_OBJECT)
-        target_link_libraries(${_target} ${IPOPT_LIBRARY})
+        target_link_libraries(${_target} PUBLIC ${IPOPT_LIBRARY})
       endif()
     endforeach(_target ${_targets})
   endif(IPOPT_FOUND)