diff --git a/modules/java/CMakeLists.txt b/modules/java/CMakeLists.txt index cf99226ee..a4d895a6b 100644 --- a/modules/java/CMakeLists.txt +++ b/modules/java/CMakeLists.txt @@ -281,7 +281,14 @@ if(BUILD_FAT_JAVA_LIB) if(__extradeps) list(REMOVE_ITEM __deps ${__extradeps}) endif() - target_link_libraries(${the_module} -Wl,-whole-archive ${__deps} -Wl,-no-whole-archive ${__extradeps} ${OPENCV_LINKER_LIBS}) + if(APPLE) + foreach(_dep ${__deps}) + target_link_libraries(${the_module} -Wl,-force_load "${_dep}") + endforeach() + else() + target_link_libraries(${the_module} -Wl,-whole-archive ${__deps} -Wl,-no-whole-archive) + endif() + target_link_libraries(${the_module} ${__extradeps} ${OPENCV_LINKER_LIBS}) else() target_link_libraries(${the_module} ${OPENCV_MODULE_${the_module}_DEPS} ${OPENCV_LINKER_LIBS}) endif()