New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Start at adjusting dependencies to match what windeployqt suggests #537
Conversation
windeployqt is also suggesting:
Those all seem plausible (except maybe Qt6SerialPort) but I am not sure if it is too heavy. Total extra size is 2.67 MB so maybe best to just add them. |
I'll also want to check this on Mac, I think Qt6::DBus might need to be in |
Updated SHA to include hotfix for NREL/OpenStudio#4584 |
…penStudioApplication into 358-install-opengl
@jmarrec I think this is good to go if it looks ok to you |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OpenStudioApplication/src/openstudio_app/CMakeLists.txt
Lines 252 to 254 in 5094cc0
add_custom_command(TARGET ${target_name} | |
POST_BUILD | |
COMMAND ${QT_WINDEPLOY_QT} --dir $<TARGET_FILE_DIR:${target_name}> $<TARGET_FILE:${target_name}> ) |
What you're doing is aligning Mac/Linux onto what windeployqt (that we already use) is doing right?
#add_custom_command(TARGET ${target_name} | ||
# POST_BUILD | ||
# COMMAND ${QT_MACDEPLOY_QT} $<TARGET_BUNDLE_DIR:${target_name}> -verbose=2 | ||
#) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we use macdeployqt, and linuxdeployqt?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Eventually I think so. When I ran macdeployqt (and kept all the other remaining install steps) the app in the resulting package crashed, I don't know why.
@@ -521,7 +521,7 @@ message(STATUS "QT_INSTALL_DIR=${QT_INSTALL_DIR}") | |||
|
|||
find_package(Qt6 ${QT_VERSION} COMPONENTS CoreTools GuiTools WidgetsTools QmlTools WebEngineCoreTools REQUIRED PATHS ${QT_INSTALL_DIR} NO_DEFAULT_PATH) | |||
|
|||
find_package(Qt6 ${QT_VERSION} COMPONENTS Core Core5Compat Gui Widgets Sql Network Xml Concurrent PrintSupport Quick QuickWidgets Qml WebChannel Positioning WebEngineCore WebEngineWidgets REQUIRED PATHS ${QT_INSTALL_DIR} NO_DEFAULT_PATH) | |||
find_package(Qt6 ${QT_VERSION} COMPONENTS Core Core5Compat Gui Widgets Sql Svg Network Xml Concurrent PrintSupport Quick QuickWidgets Qml WebChannel Positioning WebEngineCore WebEngineWidgets REQUIRED PATHS ${QT_INSTALL_DIR} NO_DEFAULT_PATH) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We aren't using QSvg nor do we have any .svg files in the repo. Why would we need it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just checked out the source code for windeployqt, what it does is to find some DLLs you do use, then it reads what this DLL depends on and includes them as well. (findDependentQtLibraries -> readExecutable -> readPeExecutable)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are we ready to merge this?
list(APPEND QT_DIRS iconengines) | ||
list(APPEND QT_DIRS imageformats) | ||
list(APPEND QT_DIRS networkinformation) | ||
list(APPEND QT_DIRS position) | ||
list(APPEND QT_DIRS tls) | ||
foreach(DIR ${QT_DIRS}) | ||
install(DIRECTORY $<TARGET_FILE_DIR:${target_name}>/${DIR} DESTINATION bin/ COMPONENT OpenStudioApp) | ||
endforeach() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are those needed? are they needed on other platforms?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh I see your comment above, "Those all seem plausible (except maybe Qt6SerialPort) but I am not sure if it is too heavy. Total extra size is 2.67 MB so maybe best to just add them."
Fixes #358