|
|
|
@ -304,3 +304,28 @@ endif()
|
|
|
|
|
set(COMPONENT_FILES ${COMPONENT_FILES} PARENT_SCOPE)
|
|
|
|
|
|
|
|
|
|
target_compile_definitions(components PUBLIC BT_USE_DOUBLE_PRECISION)
|
|
|
|
|
|
|
|
|
|
if(OSG_STATIC)
|
|
|
|
|
unset(_osg_plugins_static_files)
|
|
|
|
|
add_library(components_osg_plugins INTERFACE)
|
|
|
|
|
foreach(_plugin ${USED_OSG_PLUGINS})
|
|
|
|
|
string(TOUPPER ${_plugin} _plugin_uc)
|
|
|
|
|
if(OPENMW_USE_SYSTEM_OSG)
|
|
|
|
|
list(APPEND _osg_plugins_static_files ${${_plugin_uc}_LIBRARY})
|
|
|
|
|
else()
|
|
|
|
|
list(APPEND _osg_plugins_static_files $<TARGET_FILE:${${_plugin_uc}_LIBRARY}>)
|
|
|
|
|
target_link_libraries(components_osg_plugins INTERFACE $<TARGET_PROPERTY:${${_plugin_uc}_LIBRARY},LINK_LIBRARIES>)
|
|
|
|
|
add_dependencies(components_osg_plugins ${${_plugin_uc}_LIBRARY})
|
|
|
|
|
endif()
|
|
|
|
|
endforeach()
|
|
|
|
|
# We use --whole-archive because OSG plugins use registration.
|
|
|
|
|
get_whole_archive_options(_opts ${_osg_plugins_static_files})
|
|
|
|
|
target_link_options(components_osg_plugins INTERFACE ${_opts})
|
|
|
|
|
target_link_libraries(components components_osg_plugins)
|
|
|
|
|
|
|
|
|
|
if(OPENMW_USE_SYSTEM_OSG)
|
|
|
|
|
# OSG plugin pkgconfig files are missing these dependencies.
|
|
|
|
|
# https://github.com/openscenegraph/OpenSceneGraph/issues/1052
|
|
|
|
|
target_link_libraries(components freetype jpeg png)
|
|
|
|
|
endif()
|
|
|
|
|
endif(OSG_STATIC)
|
|
|
|
|