mirror of
https://github.com/OpenMW/openmw.git
synced 2025-02-07 05:15:34 +00:00
Merge branch 'osg_plugins' into 'master'
Define dependency to OSG plugins in one place See merge request OpenMW/openmw!1172 (cherry picked from commit 2c0f29ea7e92cdc80ba0fc0ec59094bd32653b89) f75a06ca Define dependency to OSG plugins in one place
This commit is contained in:
parent
6170971ea3
commit
21a945ebf7
3 changed files with 25 additions and 50 deletions
|
@ -232,31 +232,6 @@ target_link_libraries(openmw-cs
|
||||||
components_qt
|
components_qt
|
||||||
)
|
)
|
||||||
|
|
||||||
if(OSG_STATIC)
|
|
||||||
unset(_osg_plugins_static_files)
|
|
||||||
add_library(openmw_cs_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(openmw_cs_osg_plugins INTERFACE $<TARGET_PROPERTY:${${_plugin_uc}_LIBRARY},LINK_LIBRARIES>)
|
|
||||||
add_dependencies(openmw_cs_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(openmw_cs_osg_plugins INTERFACE ${_opts})
|
|
||||||
target_link_libraries(openmw-cs openmw_cs_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(openmw freetype jpeg png)
|
|
||||||
endif()
|
|
||||||
endif(OSG_STATIC)
|
|
||||||
|
|
||||||
target_link_libraries(openmw-cs Qt5::Widgets Qt5::Core Qt5::Network Qt5::OpenGL)
|
target_link_libraries(openmw-cs Qt5::Widgets Qt5::Core Qt5::Network Qt5::OpenGL)
|
||||||
|
|
||||||
if (WIN32)
|
if (WIN32)
|
||||||
|
|
|
@ -155,31 +155,6 @@ target_link_libraries(openmw
|
||||||
${LUA_LIBRARIES}
|
${LUA_LIBRARIES}
|
||||||
)
|
)
|
||||||
|
|
||||||
if(OSG_STATIC)
|
|
||||||
unset(_osg_plugins_static_files)
|
|
||||||
add_library(openmw_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(openmw_osg_plugins INTERFACE $<TARGET_PROPERTY:${${_plugin_uc}_LIBRARY},LINK_LIBRARIES>)
|
|
||||||
add_dependencies(openmw_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(openmw_osg_plugins INTERFACE ${_opts})
|
|
||||||
target_link_libraries(openmw openmw_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(openmw freetype jpeg png)
|
|
||||||
endif()
|
|
||||||
endif(OSG_STATIC)
|
|
||||||
|
|
||||||
if (ANDROID)
|
if (ANDROID)
|
||||||
target_link_libraries(openmw EGL android log z)
|
target_link_libraries(openmw EGL android log z)
|
||||||
endif (ANDROID)
|
endif (ANDROID)
|
||||||
|
|
|
@ -304,3 +304,28 @@ endif()
|
||||||
set(COMPONENT_FILES ${COMPONENT_FILES} PARENT_SCOPE)
|
set(COMPONENT_FILES ${COMPONENT_FILES} PARENT_SCOPE)
|
||||||
|
|
||||||
target_compile_definitions(components PUBLIC BT_USE_DOUBLE_PRECISION)
|
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)
|
||||||
|
|
Loading…
Reference in a new issue