Skip to content

Commit

Permalink
build: Fix Qt library install for Windows (#1870)
Browse files Browse the repository at this point in the history
  • Loading branch information
rprospero authored Apr 23, 2024
1 parent 6760188 commit 1778b2b
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 23 deletions.
8 changes: 7 additions & 1 deletion .github/workflows/build/windows/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -165,9 +165,15 @@ runs:
# Build
mkdir build && cd build
cmake ../ -G Ninja -DCMAKE_BUILD_TYPE:STRING="Release" -DCMAKE_C_COMPILER=cl -DANTLR_EXECUTABLE:string=$ANTLR_EXE -DJava_JAVA_EXECUTABLE:string=$JAVA_EXE -DCMAKE_CXX_COMPILER=cl -DMULTI_THREADING:bool=${{ inputs.threading }} -DGUI:bool=true
TEMPD=$(mktemp -d)
mkdir -p $TEMPD/bin
cmake ../ -G Ninja -DCMAKE_BUILD_TYPE:STRING="Release" -DCMAKE_C_COMPILER=cl -DANTLR_EXECUTABLE:string=$ANTLR_EXE -DJava_JAVA_EXECUTABLE:string=$JAVA_EXE -DCMAKE_CXX_COMPILER=cl -DMULTI_THREADING:bool=${{ inputs.threading }} -DGUI:bool=true -DCMAKE_INSTALL_PREFIX:PATH=$TEMPD
cmake --build . --config Release --target keywordWidgets
cmake --build . --config Release
cp bin/* $TEMPD/bin
ninja install
mkdir -p install
cp -r $TEMPD/* install/
- name: Upload Raw Build Artifacts
if: ${{ inputs.cacheOnly == 'false' }}
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/package/windows/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ runs:
export PATH="${Qt6_DIR}\bin;$PATH"
export FREETYPE_DIR="${RUNNER_TEMP}\freetype-install\bin"
export FTGL_DIR="${RUNNER_TEMP}\ftgl-install\bin"
export DISSOLVE_DIR="${GITHUB_WORKSPACE}\build\bin"
export DISSOLVE_DIR="${GITHUB_WORKSPACE}\build\install\bin"
export DEPLOY_DIR="${GITHUB_WORKSPACE}\build"
# Run Inno Setup Compiler
Expand All @@ -66,8 +66,8 @@ runs:
# Create Zip from Exe
innoextract.exe $exe -d $exeBase
mv ${exeBase}/app/bin/* $exeBase
mv ${exeBase}/app ./
mv ${exeBase}/app/* $exeBase
rm -r ${exeBase}/app
zipFile="${exeBase}.zip"
zip -r $zipFile $exeBase
Expand Down
12 changes: 12 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -353,4 +353,16 @@ if(GUI)
${CORE_LINK_LIBS}
${THREADING_LINK_LIBS}
)

qt_generate_deploy_qml_app_script(
TARGET
${gui_target_name}
FILENAME_VARIABLE
deploy_script
NO_UNSUPPORTED_PLATFORM_ERROR
MACOS_BUNDLE_POST_BUILD
NO_UNSUPPORTED_PLATFORM_ERROR
DEPLOY_USER_QML_MODULES_ON_UNSUPPORTED_PLATFORM
)
install(SCRIPT ${deploy_script})
endif(GUI)
25 changes: 6 additions & 19 deletions ci/windows/dissolve-gui.iss
Original file line number Diff line number Diff line change
Expand Up @@ -43,31 +43,18 @@ Name: "english"; MessagesFile: "compiler:Default.isl"
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked

[Files]
Source: "{#DissolveDir}\Dissolve.exe"; DestDir: "{app}\bin"; Flags: ignoreversion
Source: "{#DissolveDir}\Dissolve-GUI.exe"; DestDir: "{app}\bin"; Flags: ignoreversion
Source: "{#DeployDir}\install\bin\*"; DestDir: "{app}\bin"
Source: "{#DeployDir}\install\plugins\*"; DestDir: "{app}\plugins"; Flags: recursesubdirs
Source: "{#DeployDir}\install\qml\*"; DestDir: "{app}\qml"; Flags: recursesubdirs
Source: "{#DeployDir}\install\translations\*"; DestDir: "{app}\translations"
Source: "Dissolve.ico"; DestDir: "{app}\bin"; Flags: ignoreversion
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
Source: "{#FreetypeDir}\freetype.dll"; DestDir: "{app}\bin"
Source: "{#FTGLDir}\ftgl.dll"; DestDir: "{app}\bin"
Source: "{#QtDir}\bin\Qt6Gui.dll"; DestDir: "{app}\bin"; Flags: ignoreversion
Source: "{#QtDir}\bin\Qt6Core.dll"; DestDir: "{app}\bin"; Flags: ignoreversion
Source: "{#QtDir}\bin\Qt6OpenGL.dll"; DestDir: "{app}\bin"; Flags: ignoreversion
Source: "{#QtDir}\bin\Qt6Qml.dll"; DestDir: "{app}\bin"; Flags: ignoreversion
Source: "{#QtDir}\bin\Qt6QmlModels.dll"; DestDir: "{app}\bin"; Flags: ignoreversion
Source: "{#QtDir}\bin\Qt6QuickWidgets.dll"; DestDir: "{app}\bin"; Flags: ignoreversion
Source: "{#QtDir}\bin\Qt6Quick.dll"; DestDir: "{app}\bin"; Flags: ignoreversion
Source: "{#QtDir}\bin\Qt6Network.dll"; DestDir: "{app}\bin"; Flags: ignoreversion
Source: "{#QtDir}\bin\Qt6OpenGLWidgets.dll"; DestDir: "{app}\bin"; Flags: ignoreversion
Source: "{#QtDir}\bin\Qt6Svg.dll"; DestDir: "{app}\bin"; Flags: ignoreversion
Source: "{#QtDir}\bin\Qt6Widgets.dll"; DestDir: "{app}\bin"; Flags: ignoreversion
Source: "{#QtDir}\bin\Qt6PrintSupport.dll"; DestDir: "{app}\bin"; Flags: ignoreversion
Source: "{#QtDir}\plugins\iconengines\qsvgicon.dll"; DestDir: "{app}\bin\iconengines"; Flags: ignoreversion
Source: "{#QtDir}\plugins\platforms\qwindows.dll"; DestDir: "{app}\bin\platforms"; Flags: ignoreversion
Source: "{#QtDir}\plugins\imageformats\*.dll"; DestDir: "{app}\bin\imageformats"; Flags: ignoreversion
; Windows 7
;Source: "C:\Windows\System32\D3DCompiler_43.dll"; DestDir: "{app}\bin"; Flags: ignoreversion
; Windows 10
Source: "C:\Windows\System32\D3DCompiler_47.dll"; DestDir: "{app}\bin"; Flags: ignoreversion
; Windows 10 - Now handled by windeployqt
; Source: "C:\Windows\System32\D3DCompiler_47.dll"; DestDir: "{app}\bin"; Flags: ignoreversion
; Conan Dependencies
Source: "{#DeployDir}\onetbb\bin\tbb12.dll"; DestDir: "{app}\bin"
Source: "{#DeployDir}\onetbb\bin\tbbmalloc.dll"; DestDir: "{app}\bin"
Expand Down

0 comments on commit 1778b2b

Please sign in to comment.