From eeeea96d9a944e58aad4db09cb372513e96d1ec8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jack=C2=B7Boos=C2=B7Yu?= <47264268+JackBoosY@users.noreply.github.com> Date: Fri, 6 Nov 2020 13:21:53 -0800 Subject: [osg-qt] Fix installation when building static on Windows (#14422) --- ports/osg-qt/CONTROL | 3 +- ports/osg-qt/fix-static-install.patch | 57 +++++++++++++++++++++++++++++++++++ ports/osg-qt/portfile.cmake | 1 + scripts/ci.baseline.txt | 1 - 4 files changed, 60 insertions(+), 2 deletions(-) create mode 100644 ports/osg-qt/fix-static-install.patch diff --git a/ports/osg-qt/CONTROL b/ports/osg-qt/CONTROL index da3776a04..6293c82fe 100644 --- a/ports/osg-qt/CONTROL +++ b/ports/osg-qt/CONTROL @@ -1,4 +1,5 @@ Source: osg-qt -Version: Qt4-2 +Version: Qt4 +Port-Version: 3 Description: osgQt - Qt project for making use of OpenSceneGraph(OSG) Build-Depends: osg, protobuf, qt5-base[core] \ No newline at end of file diff --git a/ports/osg-qt/fix-static-install.patch b/ports/osg-qt/fix-static-install.patch new file mode 100644 index 000000000..c4088d331 --- /dev/null +++ b/ports/osg-qt/fix-static-install.patch @@ -0,0 +1,57 @@ +diff --git a/CMakeModules/ModuleInstall.cmake b/CMakeModules/ModuleInstall.cmake +index eb26ba2..14b8bca 100644 +--- a/CMakeModules/ModuleInstall.cmake ++++ b/CMakeModules/ModuleInstall.cmake +@@ -40,10 +40,10 @@ INSTALL( + ARCHIVE DESTINATION ${INSTALL_ARCHIVEDIR} COMPONENT libopenscenegraph-dev + ) + +-IF(MSVC AND NOT CMAKE_BUILD_TYPE STREQUAL "Release") ++IF(MSVC AND NOT CMAKE_BUILD_TYPE STREQUAL "Release" AND DYNAMIC_OPENSCENEGRAPH) + GET_TARGET_PROPERTY(PREFIX ${LIB_NAME} PREFIX) + INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PREFIX}${LIB_NAME}${CMAKE_BUILD_POSTFIX}.pdb DESTINATION ${INSTALL_BINDIR} COMPONENT libopenscenegraph) +-ENDIF(MSVC AND NOT CMAKE_BUILD_TYPE STREQUAL "Release") ++ENDIF(MSVC AND NOT CMAKE_BUILD_TYPE STREQUAL "Release" AND DYNAMIC_OPENSCENEGRAPH) + + IF(NOT OSG_COMPILE_FRAMEWORKS) + INSTALL ( +diff --git a/CMakeModules/OsgMacroUtils.cmake b/CMakeModules/OsgMacroUtils.cmake +index 5688f8f..329f862 100644 +--- a/CMakeModules/OsgMacroUtils.cmake ++++ b/CMakeModules/OsgMacroUtils.cmake +@@ -327,9 +327,9 @@ MACRO(SETUP_PLUGIN PLUGIN_NAME) + RUNTIME DESTINATION bin COMPONENT ${PACKAGE_COMPONENT} + ARCHIVE DESTINATION lib/${OSG_PLUGINS} COMPONENT libopenscenegraph-dev + LIBRARY DESTINATION bin/${OSG_PLUGINS} COMPONENT ${PACKAGE_COMPONENT}) +- IF(MSVC AND NOT CMAKE_BUILD_TYPE STREQUAL "Release") ++ IF(MSVC AND NOT CMAKE_BUILD_TYPE STREQUAL "Release" AND DYNAMIC_OPENSCENEGRAPH) + INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${TARGET_TARGETNAME}${CMAKE_BUILD_POSTFIX}.pdb DESTINATION bin/${OSG_PLUGINS} COMPONENT ${PACKAGE_COMPONENT}) +- ENDIF(MSVC AND NOT CMAKE_BUILD_TYPE STREQUAL "Release") ++ ENDIF(MSVC AND NOT CMAKE_BUILD_TYPE STREQUAL "Release" AND DYNAMIC_OPENSCENEGRAPH) + ELSE(WIN32) + INSTALL(TARGETS ${TARGET_TARGETNAME} + RUNTIME DESTINATION bin COMPONENT ${PACKAGE_COMPONENT} +@@ -432,9 +432,9 @@ MACRO(SETUP_APPLICATION APPLICATION_NAME) + INSTALL(TARGETS ${TARGET_TARGETNAME} RUNTIME DESTINATION bin BUNDLE DESTINATION bin) + ELSE(APPLE) + INSTALL(TARGETS ${TARGET_TARGETNAME} RUNTIME DESTINATION bin COMPONENT openscenegraph ) +- IF(MSVC AND NOT CMAKE_BUILD_TYPE STREQUAL "Release") ++ IF(MSVC AND NOT CMAKE_BUILD_TYPE STREQUAL "Release" AND DYNAMIC_OPENSCENEGRAPH) + INSTALL(FILES ${CMAKE_BINARY_DIR}/bin/${TARGET_NAME}${CMAKE_BUILD_POSTFIX}.pdb DESTINATION bin COMPONENT openscenegraph) +- ENDIF(MSVC AND NOT CMAKE_BUILD_TYPE STREQUAL "Release") ++ ENDIF(MSVC AND NOT CMAKE_BUILD_TYPE STREQUAL "Release" AND DYNAMIC_OPENSCENEGRAPH) + ENDIF(APPLE) + + ENDMACRO(SETUP_APPLICATION) +@@ -464,9 +464,9 @@ MACRO(SETUP_EXAMPLE EXAMPLE_NAME) + INSTALL(TARGETS ${TARGET_TARGETNAME} RUNTIME DESTINATION share/OpenSceneGraph/bin BUNDLE DESTINATION share/OpenSceneGraph/bin ) + ELSE(APPLE) + INSTALL(TARGETS ${TARGET_TARGETNAME} RUNTIME DESTINATION share/OpenSceneGraph/bin COMPONENT openscenegraph-examples ) +- IF(MSVC AND NOT CMAKE_BUILD_TYPE STREQUAL "Release") ++ IF(MSVC AND NOT CMAKE_BUILD_TYPE STREQUAL "Release" AND DYNAMIC_OPENSCENEGRAPH) + INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${TARGET_TARGETNAME}${CMAKE_BUILD_POSTFIX}.pdb DESTINATION share/OpenSceneGraph/bin COMPONENT openscenegraph-examples) +- ENDIF(MSVC AND NOT CMAKE_BUILD_TYPE STREQUAL "Release") ++ ENDIF(MSVC AND NOT CMAKE_BUILD_TYPE STREQUAL "Release" AND DYNAMIC_OPENSCENEGRAPH) + ENDIF(APPLE) + + ENDMACRO(SETUP_EXAMPLE) diff --git a/ports/osg-qt/portfile.cmake b/ports/osg-qt/portfile.cmake index 7d002fc01..3d3dd73ea 100644 --- a/ports/osg-qt/portfile.cmake +++ b/ports/osg-qt/portfile.cmake @@ -6,6 +6,7 @@ vcpkg_from_github( HEAD_REF master PATCHES OsgMacroUtils.patch + fix-static-install.patch ) if(VCPKG_TARGET_IS_OSX) diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index 749b81c20..be4c1b8ec 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -1224,7 +1224,6 @@ orocos-kdl:x64-uwp=fail osgearth:x64-osx=fail osgearth:x64-linux=fail osgearth:x64-windows-static=fail -osg-qt:x64-windows-static=fail paho-mqtt:arm-uwp=fail paho-mqtt:x64-uwp=fail pangomm:x64-osx=fail -- cgit v1.2.3