From 9862705232ee85a11365bd7ed8e8ad04dd9a396a Mon Sep 17 00:00:00 2001 From: BagelSketches <112355083+BagelSketches@users.noreply.github.com> Date: Sun, 6 Jul 2025 05:33:19 +1000 Subject: [PATCH] Added building config.exe with qt dlls on msvc 64-bit builds (#520) --- .github/workflows/ci.yml | 7 ++++++- CMakeLists.txt | 19 +++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 57d6e539..97b338c8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -36,7 +36,7 @@ jobs: include: - { name: 'Linux', os: 'ubuntu-latest', dx5: false, config: true, linux: true, werror: true, clang-tidy: true } - { name: 'MSVC (x86)', os: 'windows-latest', dx5: true, config: false, msvc: true, werror: false, clang-tidy: false, vc-arch: 'amd64_x86' } - - { name: 'MSVC (x64)', os: 'windows-latest', dx5: false, config: false, msvc: true, werror: false, clang-tidy: false, vc-arch: 'amd64' } + - { name: 'MSVC (x64)', os: 'windows-latest', dx5: false, config: true, msvc: true, werror: false, clang-tidy: false, vc-arch: 'amd64' } - { name: 'MSVC (arm64)', os: 'windows-latest', dx5: false, config: false, msvc: true, werror: false, clang-tidy: false, vc-arch: 'amd64_arm64' } - { name: 'msys2 mingw32', os: 'windows-latest', dx5: false, config: false, mingw: true, werror: true, clang-tidy: true, msystem: 'mingw32', msys-env: 'mingw-w64-i686', shell: 'msys2 {0}' } - { name: 'msys2 mingw64', os: 'windows-latest', dx5: false, config: true, mingw: true, werror: true, clang-tidy: true, msystem: 'mingw64', msys-env: 'mingw-w64-x86_64', shell: 'msys2 {0}' } @@ -61,6 +61,11 @@ jobs: ${{ matrix.msys-env }}-ninja ${{ matrix.msys-env }}-clang-tools-extra ${{ (matrix.config && format('{0}-qt6-base', matrix.msys-env)) || '' }} + - name: Install Qt + if: ${{ !!matrix.msvc && matrix.config }} + uses: jurplel/install-qt-action@v4 + with: + cache: 'true' - name: Install Linux dependencies (apt-get) if: ${{ matrix.linux }} diff --git a/CMakeLists.txt b/CMakeLists.txt index 00ba25ea..00d087df 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -680,6 +680,25 @@ install(TARGETS isle ${install_extra_targets} LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ) if (ISLE_BUILD_CONFIG) + if(WIN32) + find_program(WINDEPLOYQT_EXECUTABLE windeployqt) + if(WINDEPLOYQT_EXECUTABLE) + install(CODE "message(STATUS \"Running windeployqt with minimal dependencies\") + execute_process(COMMAND \"${WINDEPLOYQT_EXECUTABLE}\" + \"$\" + --dir QTLibs + --no-compiler-runtime + --no-opengl-sw + --no-system-d3d-compiler + --no-translations + --no-quick-import + )" + ) + install(DIRECTORY "Build/QTLibs/" DESTINATION "${CMAKE_INSTALL_BINDIR}") + else() + message(STATUS "windeployqt not found: Qt binaries will not be installed") + endif() + endif() install(TARGETS isle-config RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" )