CI: add brew update in macos.yml #1788
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Author: Kang Lin <kl222@126.com> | ||
| name: msvc | ||
| on: | ||
| workflow_call: | ||
| outputs: | ||
| name: | ||
| description: "The artifact name" | ||
| value: ${{ jobs.build_msvc.outputs.name }} | ||
| jobs: | ||
| build_msvc: | ||
| strategy: | ||
| matrix: | ||
| include: | ||
| - CMAKE_GENERATOR_PLATFORM: x64 | ||
| VCPKG_TARGET_TRIPLET: x64-windows | ||
| VCPKG_PLATFORM_TOOLSET: v143 | ||
| qt_version: 6.9.2 | ||
| qt_arch: win64_msvc2022_64 | ||
| qt_modules: qtscxml qtmultimedia qtimageformats qtserialport qt5compat qtwebsockets qtpositioning qtwebchannel qtwebengine | ||
| BUILD_TYPE: Release | ||
| os: windows-2022 | ||
| - CMAKE_GENERATOR_PLATFORM: arm64 | ||
| VCPKG_TARGET_TRIPLET: arm64-windows | ||
| VCPKG_PLATFORM_TOOLSET: v143 | ||
| qt_version: 6.9.2 | ||
| qt_arch: win64_msvc2022_arm64 | ||
| qt_modules: qt5compat qtimageformats qtmultimedia qtpositioning qtscxml qtserialport qtwebchannel qtwebsockets | ||
| BUILD_TYPE: Release | ||
| os: windows-11-arm | ||
| - CMAKE_GENERATOR_PLATFORM: Win32 | ||
| VCPKG_TARGET_TRIPLET: x86-windows | ||
| VCPKG_PLATFORM_TOOLSET: v143 | ||
| VCPKG_OVERLAY_PORTS: "vcpkg/ports" | ||
| #VCPKG_MANIFEST_FEATURES: "ffmpeg" | ||
| qt_version: 5.15.2 | ||
| qt_arch: win32_msvc2019 | ||
| qt_modules: qtwebengine | ||
| BUILD_TYPE: Release | ||
| os: windows-2022 | ||
| # See: [About GitHub-hosted runners](https://docs.github.com/actions/using-github-hosted-runners/about-github-hosted-runners/about-github-hosted-runners) | ||
| # See: [Choosing the runner for a job](https://docs.github.com/actions/writing-workflows/choosing-where-your-workflow-runs/choosing-the-runner-for-a-job) | ||
| # See: https://github.com/actions/runner-images/ | ||
| runs-on: ${{matrix.os}} | ||
| env: | ||
| BUILD_DIR: ${{github.workspace}}/build | ||
| SOURCE_DIR: ${{github.workspace}}\.cache\source | ||
| TOOLS_DIR: ${{github.workspace}}\.cache\tools | ||
| INSTALL_DIR: ${{github.workspace}}\.cache\install | ||
| VCPKGGITCOMMITID: 7213cf8135c329c37c7e2778e40774489a0583a8 | ||
| VCPKG_TARGET_TRIPLET: ${{matrix.VCPKG_TARGET_TRIPLET}} | ||
| VCPKG_DEFAULT_TRIPLET: ${{matrix.VCPKG_TARGET_TRIPLET}} | ||
| VCPKG_PLATFORM_TOOLSET: ${{matrix.VCPKG_PLATFORM_TOOLSET}} | ||
| VCPKG_OVERLAY_PORTS: "${{github.workspace}}/${{matrix.VCPKG_OVERLAY_PORTS}}" | ||
| VCPKG_MANIFEST_FEATURES: "freerdp;vnc;terminal" | ||
| VCPKG_INSTALLED_DIR: ${{github.workspace}}\.cache\install | ||
| CMAKE_GENERATOR: "Visual Studio 17 2022" | ||
| CMAKE_GENERATOR_PLATFORM: ${{matrix.CMAKE_GENERATOR_PLATFORM}} | ||
| qt_modules: "${{matrix.qt_modules}}" | ||
| artifact_name: build_msvc | ||
| RabbitRemoteControl_VERSION: v0.0.36 | ||
| # Map the job outputs to step outputs | ||
| outputs: | ||
| name: ${{ env.artifact_name }} | ||
| defaults: | ||
| run: | ||
| shell: cmd | ||
| steps: | ||
| - name: Checkout Repository | ||
| uses: actions/checkout@v3 | ||
| with: | ||
| submodules: recursive | ||
| fetch-depth: 0 | ||
| - name: Make directories | ||
| run: | | ||
| cmake -E make_directory ${{env.BUILD_DIR}} | ||
| cmake -E make_directory ${{env.SOURCE_DIR}} | ||
| cmake -E make_directory ${{env.TOOLS_DIR}} | ||
| cmake -E make_directory ${{env.INSTALL_DIR}} | ||
| - name: Cache installed | ||
| uses: actions/cache@v4 | ||
| id: cache-installed | ||
| with: | ||
| path: | | ||
| ${{env.INSTALL_DIR}} | ||
| key: install_msvc_qt${{matrix.qt_version}}_${{matrix.qt_arch}}_${{matrix.BUILD_TYPE}} | ||
| - name: run-vcpkg | ||
| uses: lukka/run-vcpkg@v11 | ||
| with: | ||
| vcpkgGitCommitId: ${{env.VCPKGGITCOMMITID}} | ||
| vcpkgDirectory: ${{env.SOURCE_DIR}}/vcpkg | ||
| - name: run vcpkg | ||
| if: false | ||
| working-directory: ${{github.workspace}} | ||
| run: | | ||
| vcpkg install --triplet ${{matrix.VCPKG_TARGET_TRIPLET}} --x-feature=vnc | ||
| - name: build npcap | ||
| if: ${{matrix.os != 'windows-11-arm'}} | ||
| working-directory: ${{env.SOURCE_DIR}} | ||
| run: | | ||
| IF NOT EXIST ${{env.INSTALL_DIR}}/npcap ( | ||
| C:\msys64\usr\bin\pacman.exe -S --noconfirm unzip | ||
| C:\msys64\usr\bin\wget https://npcap.com/dist/npcap-sdk-1.15.zip | ||
| C:\msys64\usr\bin\unzip -d ${{env.INSTALL_DIR}}\npcap npcap-sdk-1.15.zip | ||
| ) | ||
| # 因为 vcpkg 中 PcapPlusPlus 依赖 winpcap , winpcap 不能在 windows 10 上工作, | ||
| # 所以编译依赖于 npcap | ||
| - name: build PcapPlusPlus | ||
| if: ${{matrix.os != 'windows-11-arm'}} | ||
| working-directory: ${{env.SOURCE_DIR}} | ||
| run: | | ||
| IF NOT EXIST ${{env.INSTALL_DIR}}/lib/cmake/pcapplusplus ( | ||
| git clone --recursive https://github.com/seladb/PcapPlusPlus.git | ||
| cd PcapPlusPlus | ||
| git checkout -b v24.09 v24.09 | ||
| cmake -E make_directory build | ||
| cd build | ||
| cmake .. -DCMAKE_BUILD_TYPE=${{matrix.BUILD_TYPE}} ^ | ||
| -A ${{matrix.CMAKE_GENERATOR_PLATFORM}} ^ | ||
| -T ${{matrix.VCPKG_PLATFORM_TOOLSET}} ^ | ||
| -DCMAKE_INSTALL_PREFIX="${{env.INSTALL_DIR}}" ^ | ||
| -DPCAP_ROOT=${{env.INSTALL_DIR}}/npcap ^ | ||
| -DPCAPPP_BUILD_TESTS=OFF ^ | ||
| -DPCAPPP_BUILD_EXAMPLES=OFF | ||
| cmake --build . --config ${{matrix.BUILD_TYPE}} | ||
| cmake --install . --config ${{matrix.BUILD_TYPE}} --strip | ||
| ) | ||
| - name: build RabbitVNC | ||
| if: false | ||
| working-directory: ${{env.SOURCE_DIR}} | ||
| run: | | ||
| IF NOT EXIST ${{env.INSTALL_DIR}}/lib/cmake/RabbitVNC ( | ||
| git clone --depth=1 https://github.com/KangLin/RabbitVNC.git | ||
| cd RabbitVNC | ||
| cmake -E make_directory build | ||
| cd build | ||
| cmake .. ^ | ||
| -A ${{matrix.CMAKE_GENERATOR_PLATFORM}} ^ | ||
| -T ${{matrix.VCPKG_PLATFORM_TOOLSET}} ^ | ||
| -DCMAKE_BUILD_TYPE=${{matrix.BUILD_TYPE}} ^ | ||
| -DCMAKE_INSTALL_PREFIX="${{ env.INSTALL_DIR }}" ^ | ||
| -DBUILD_TESTS=OFF -DBUILD_VIEWER=OFF ^ | ||
| -DBUILD_VIEWER=OFF ^ | ||
| -DBUILD_TESTS=OFF ^ | ||
| -DCMAKE_TOOLCHAIN_FILE="${{env.VCPKG_ROOT}}/scripts/buildsystems/vcpkg.cmake" ^ | ||
| -DVCPKG_INSTALLED_DIR=${{env.INSTALL_DIR}}/RabbitVNC ^ | ||
| -DVCPKG_VERBOSE=ON ^ | ||
| -DVCPKG_TARGET_TRIPLET=${{matrix.VCPKG_TARGET_TRIPLET}} ^ | ||
| -DX_VCPKG_APPLOCAL_DEPS_INSTALL=ON ^ | ||
| -DVCPKG_APPLOCAL_DEPS=ON ^ | ||
| -DVCPKG_TRACE_FIND_PACKAGE=ON | ||
| cmake --build . --config ${{matrix.BUILD_TYPE}} | ||
| cmake --install . --config ${{matrix.BUILD_TYPE}} --strip | ||
| ) | ||
| - name: build tigervnc | ||
| #if: ${{ matrix.BUILD_TYPE == 'Debug'}} | ||
| working-directory: ${{env.SOURCE_DIR}} | ||
| run: | | ||
| IF NOT EXIST ${{env.INSTALL_DIR}}/lib/cmake/tigervnc ( | ||
| git clone --depth=1 https://github.com/KangLin/tigervnc.git | ||
| cd tigervnc | ||
| cmake -E make_directory build | ||
| cd build | ||
| cmake .. ^ | ||
| -A ${{matrix.CMAKE_GENERATOR_PLATFORM}} ^ | ||
| -T ${{matrix.VCPKG_PLATFORM_TOOLSET}} ^ | ||
| -DCMAKE_BUILD_TYPE=${{matrix.BUILD_TYPE}} ^ | ||
| -DCMAKE_INSTALL_PREFIX="${{env.INSTALL_DIR}}" ^ | ||
| -DBUILD_TESTS=OFF -DBUILD_VIEWER=OFF ^ | ||
| -DBUILD_VIEWER=OFF ^ | ||
| -DBUILD_TESTS=OFF ^ | ||
| -DCMAKE_TOOLCHAIN_FILE="${{env.VCPKG_ROOT}}/scripts/buildsystems/vcpkg.cmake" ^ | ||
| -DVCPKG_INSTALLED_DIR=${{env.INSTALL_DIR}}/tigervnc ^ | ||
| -DVCPKG_VERBOSE=ON ^ | ||
| -DVCPKG_TARGET_TRIPLET=${{matrix.VCPKG_TARGET_TRIPLET}} ^ | ||
| -DX_VCPKG_APPLOCAL_DEPS_INSTALL=ON ^ | ||
| -DVCPKG_APPLOCAL_DEPS=ON ^ | ||
| -DVCPKG_TRACE_FIND_PACKAGE=ON | ||
| cmake --build . --config ${{matrix.BUILD_TYPE}} | ||
| cmake --install . --config ${{matrix.BUILD_TYPE}} --strip | ||
| ) | ||
| - name: Build libvncserver | ||
| #if: ${{ matrix.BUILD_TYPE == 'Debug'}} | ||
| working-directory: ${{env.SOURCE_DIR}} | ||
| run: | | ||
| IF NOT EXIST ${{env.INSTALL_DIR}}/lib/cmake/LibVNCServer ( | ||
| git clone --depth=1 https://github.com/KangLin/libvncserver.git | ||
| #git clone https://github.com/LibVNC/libvncserver.git | ||
| cd libvncserver | ||
| cmake -E make_directory build | ||
| cd build | ||
| cmake .. ^ | ||
| -A ${{matrix.CMAKE_GENERATOR_PLATFORM}} ^ | ||
| -T ${{matrix.VCPKG_PLATFORM_TOOLSET}} ^ | ||
| -DCMAKE_BUILD_TYPE=${{matrix.BUILD_TYPE}} ^ | ||
| -DWITH_OPENSSL=ON -DWITH_GCRYPT=OFF -DBUILD_TESTS=OFF ^ | ||
| -DWITH_EXAMPLES=OFF ^ | ||
| -DWITH_TESTS=OFF ^ | ||
| -DCMAKE_INSTALL_PREFIX="${{ env.INSTALL_DIR }}" ^ | ||
| -DCMAKE_TOOLCHAIN_FILE="${{env.VCPKG_ROOT}}/scripts/buildsystems/vcpkg.cmake" ^ | ||
| -DVCPKG_INSTALLED_DIR=${{env.INSTALL_DIR}}/libvncserver ^ | ||
| -DVCPKG_VERBOSE=ON ^ | ||
| -DVCPKG_TARGET_TRIPLET=${{matrix.VCPKG_TARGET_TRIPLET}} ^ | ||
| -DX_VCPKG_APPLOCAL_DEPS_INSTALL=ON ^ | ||
| -DVCPKG_APPLOCAL_DEPS=ON ^ | ||
| -DVCPKG_TRACE_FIND_PACKAGE=ON | ||
| cmake --build . --config ${{matrix.BUILD_TYPE}} | ||
| cmake --install . --config ${{matrix.BUILD_TYPE}} --strip | ||
| ) | ||
| - name: Install Qt | ||
| uses: jurplel/install-qt-action@v4 | ||
| with: | ||
| dir: '${{env.TOOLS_DIR}}/qt' # optional | ||
| version: '${{matrix.qt_version}}' # optional, default is 5.15.2 | ||
| arch: '${{matrix.qt_arch}}' # optional | ||
| modules: '${{env.qt_modules}}' # optional. see: https://ddalcino.github.io/aqt-list-server/ | ||
| cache: true | ||
| cache-key-prefix: cached-qt_${{matrix.qt_version}}_${{matrix.qt_arch}} | ||
| - name: build qxmpp | ||
| if: false | ||
| working-directory: ${{env.SOURCE_DIR}} | ||
| run: | | ||
| IF NOT EXIST ${{env.INSTALL_DIR}}/lib/cmake/qxmpp ( | ||
| git clone https://invent.kde.org/libraries/qxmpp.git | ||
| cd qxmpp | ||
| git checkout -b v1.10.3 v1.10.3 | ||
| cmake -E make_directory build | ||
| cd build | ||
| cmake .. ^ | ||
| -A ${{matrix.CMAKE_GENERATOR_PLATFORM}} ^ | ||
| -T ${{matrix.VCPKG_PLATFORM_TOOLSET}} ^ | ||
| -DCMAKE_BUILD_TYPE=${{matrix.BUILD_TYPE}} ^ | ||
| -DBUILD_EXAMPLES=OFF -DBUILD_TESTS=OFF ^ | ||
| -DBUILD_DOCUMENTATION=OFF ^ | ||
| -DCMAKE_INSTALL_PREFIX=${{env.INSTALL_DIR}} ^ | ||
| -DCMAKE_PREFIX_PATH=${{env.INSTALL_DIR}}/lib/cmake ^ | ||
| -DCMAKE_TOOLCHAIN_FILE=${{env.VCPKG_ROOT}}/scripts/buildsystems/vcpkg.cmake ^ | ||
| -DVCPKG_INSTALLED_DIR=${{env.INSTALL_DIR}}/qxmpp ^ | ||
| -DVCPKG_VERBOSE=ON ^ | ||
| -DVCPKG_TARGET_TRIPLET=${{matrix.VCPKG_TARGET_TRIPLET}} ^ | ||
| -DX_VCPKG_APPLOCAL_DEPS_INSTALL=OFF ^ | ||
| -DVCPKG_APPLOCAL_DEPS=OFF ^ | ||
| -DVCPKG_TRACE_FIND_PACKAGE=ON | ||
| cmake --build . --config ${{matrix.BUILD_TYPE}} | ||
| cmake --install . --config ${{matrix.BUILD_TYPE}} --strip | ||
| ) | ||
| - name: build QtService | ||
| if: false | ||
| working-directory: ${{env.SOURCE_DIR}} | ||
| run: | | ||
| IF NOT EXIST ${{env.INSTALL_DIR}}/lib/cmake/QtService ( | ||
| git clone --depth=1 "https://github.com/KangLin/qt-solutions.git" | ||
| cd qt-solutions/qtservice | ||
| cmake -E make_directory build | ||
| cd build | ||
| cmake .. ^ | ||
| -A ${{matrix.CMAKE_GENERATOR_PLATFORM}} ^ | ||
| -T ${{matrix.VCPKG_PLATFORM_TOOLSET}} ^ | ||
| -DBUILD_EXAMPLES=OFF ^ | ||
| -DCMAKE_BUILD_TYPE=${{matrix.BUILD_TYPE}} ^ | ||
| -DCMAKE_INSTALL_PREFIX=${{env.INSTALL_DIR}} ^ | ||
| -DCMAKE_PREFIX_PATH=${{env.INSTALL_DIR}}/lib/cmake ^ | ||
| -DCMAKE_TOOLCHAIN_FILE=${{env.VCPKG_ROOT}}/scripts/buildsystems/vcpkg.cmake ^ | ||
| -DVCPKG_INSTALLED_DIR=${{env.INSTALL_DIR}}/QtService ^ | ||
| -DVCPKG_VERBOSE=ON ^ | ||
| -DVCPKG_TARGET_TRIPLET=${{matrix.VCPKG_TARGET_TRIPLET}} ^ | ||
| -DX_VCPKG_APPLOCAL_DEPS_INSTALL=ON ^ | ||
| -DVCPKG_APPLOCAL_DEPS=OFF ^ | ||
| -DVCPKG_TRACE_FIND_PACKAGE=ON | ||
| cmake --build . --config ${{matrix.BUILD_TYPE}} | ||
| cmake --install . --config ${{matrix.BUILD_TYPE}} --strip | ||
| ) | ||
| - name: lxqt-build-tools | ||
| working-directory: ${{env.SOURCE_DIR}} | ||
| if: ${{ matrix.qt_version != '5.15.2' }} | ||
| run: | | ||
| IF NOT EXIST ${{env.INSTALL_DIR}}/share/cmake/lxqt2-build-tools ( | ||
| git clone -b 2.2.0 --depth=1 "https://github.com/lxqt/lxqt-build-tools.git" | ||
| cd lxqt-build-tools | ||
| cmake -E make_directory build | ||
| cd build | ||
| cmake .. -DCMAKE_BUILD_TYPE=${{matrix.BUILD_TYPE}} ^ | ||
| -DCMAKE_INSTALL_PREFIX=${{env.INSTALL_DIR}} | ||
| cmake --build . --config ${{matrix.BUILD_TYPE}} | ||
| cmake --build . --config ${{matrix.BUILD_TYPE}} --target install | ||
| ) | ||
| - name: qtermwidget6 | ||
| working-directory: ${{env.SOURCE_DIR}} | ||
| if: ${{ matrix.qt_version != '5.15.2' }} | ||
| run: | | ||
| IF NOT EXIST ${{env.INSTALL_DIR}}/lib/cmake/qtermwidget6 ( | ||
| git clone --depth=1 "https://github.com/KangLin/qtermwidget.git" | ||
| cd qtermwidget | ||
| cmake -E make_directory build | ||
| cd build | ||
| cmake .. -DCMAKE_BUILD_TYPE=${{matrix.BUILD_TYPE}} ^ | ||
| -DCMAKE_INSTALL_PREFIX=${{env.INSTALL_DIR}} ^ | ||
| -Dlxqt2-build-tools_DIR=${{env.INSTALL_DIR}}\share\cmake\lxqt2-build-tools ^ | ||
| -DVCPKG_VERBOSE=ON ^ | ||
| -DVCPKG_TARGET_TRIPLET=${{matrix.VCPKG_TARGET_TRIPLET}} ^ | ||
| -DX_VCPKG_APPLOCAL_DEPS_INSTALL=ON ^ | ||
| -DVCPKG_APPLOCAL_DEPS=ON ^ | ||
| -DVCPKG_TRACE_FIND_PACKAGE=ON | ||
| cmake --build . --config ${{matrix.BUILD_TYPE}} | ||
| cmake --build . --config ${{matrix.BUILD_TYPE}} --target install | ||
| ) | ||
| - name: RabbitCommon | ||
| working-directory: ${{env.SOURCE_DIR}} | ||
| run: git clone https://github.com/KangLin/RabbitCommon.git | ||
| - name: Build RabbitRemoteControl with cmake preset | ||
| if: false #${{ matrix.BUILD_TYPE == 'Release' && matrix.qt_version == '6.9.2' && startsWith(github.ref, 'refs/heads/master')}} | ||
| working-directory: ${{github.workspace}} | ||
| env: | ||
| RabbitCommon_ROOT: ${{env.SOURCE_DIR}}/RabbitCommon | ||
| run: | | ||
| cmake --workflow --preset "msvc-x64-qt6" | ||
| - name: Build RabbitRemoteControl | ||
| working-directory: ${{env.BUILD_DIR}} | ||
| env: | ||
| RabbitCommon_ROOT: ${{env.SOURCE_DIR}}/RabbitCommon | ||
| run: | | ||
| cd ${{env.BUILD_DIR}} | ||
| cmake ${{github.workspace}} ^ | ||
| -A ${{matrix.CMAKE_GENERATOR_PLATFORM}} ^ | ||
| -T ${{matrix.VCPKG_PLATFORM_TOOLSET}} ^ | ||
| -DCMARK_SHARED=OFF ^ | ||
| -DCMARK_TESTS=OFF ^ | ||
| -DCMARK_STATIC=ON ^ | ||
| -DWITH_CMARK=OFF ^ | ||
| -DWITH_CMARK_GFM=ON ^ | ||
| -DCMAKE_BUILD_TYPE=${{matrix.BUILD_TYPE}} ^ | ||
| -DCMAKE_INSTALL_PREFIX=${{env.BUILD_DIR}}/install ^ | ||
| -DCMAKE_PREFIX_PATH=${{env.INSTALL_DIR}}/lib/cmake ^ | ||
| -DCMAKE_TOOLCHAIN_FILE=${{env.VCPKG_ROOT}}/scripts/buildsystems/vcpkg.cmake ^ | ||
| -DVCPKG_VERBOSE=ON ^ | ||
| -DVCPKG_TARGET_TRIPLET=${{matrix.VCPKG_TARGET_TRIPLET}} ^ | ||
| -DX_VCPKG_APPLOCAL_DEPS_INSTALL=ON ^ | ||
| -DVCPKG_APPLOCAL_DEPS=ON ^ | ||
| -DVCPKG_TRACE_FIND_PACKAGE=ON ^ | ||
| -DBUILD_QUIWidget=OFF ^ | ||
| -DBUILD_APP=ON ^ | ||
| -DRABBIT_ENABLE_INSTALL_DEPENDENT=ON ^ | ||
| -DRABBIT_ENABLE_INSTALL_QT=ON ^ | ||
| -DRABBIT_ENABLE_INSTALL_TO_BUILD_PATH=ON ^ | ||
| -DBUILD_FREERDP=ON | ||
| cmake --build . --config ${{matrix.BUILD_TYPE}} | ||
| IF "${{matrix.BUILD_TYPE}}" == "Release" ( | ||
| echo "cmake install config: ${{matrix.BUILD_TYPE}} component: DependLibraries" | ||
| cmake --install . --config ${{matrix.BUILD_TYPE}} --component DependLibraries --strip | ||
| echo "cmake install config: ${{matrix.BUILD_TYPE}} component: Runtime" | ||
| cmake --install . --config ${{matrix.BUILD_TYPE}} --component Runtime --strip | ||
| echo "cmake install config: ${{matrix.BUILD_TYPE}} component: Application" | ||
| cmake --install . --config ${{matrix.BUILD_TYPE}} --component Application --strip | ||
| echo "cmake install config: ${{matrix.BUILD_TYPE}} component: Plugin" | ||
| cmake --install . --config ${{matrix.BUILD_TYPE}} --component Plugin --strip | ||
| ) else ( | ||
| echo "cmake install config: ${{matrix.BUILD_TYPE}} component: Runtime Application Plugin" | ||
| cmake --install . --config ${{matrix.BUILD_TYPE}} --component Runtime | ||
| cmake --install . --config ${{matrix.BUILD_TYPE}} --component Application | ||
| cmake --install . --config ${{matrix.BUILD_TYPE}} --component Plugin | ||
| cmake --install . --config ${{matrix.BUILD_TYPE}} --component DependLibraries | ||
| ) | ||
| - name: Package | ||
| if: ${{ matrix.BUILD_TYPE == 'Release' }} | ||
| working-directory: ${{env.BUILD_DIR}} | ||
| run: | | ||
| copy /Y ${{env.INSTALL_DIR}}\bin\*.dll install\bin | ||
| copy /Y ${{env.INSTALL_DIR}}\lib\*.dll install\bin | ||
| copy /Y vcpkg_installed\${{matrix.VCPKG_TARGET_TRIPLET}}\bin\*.dll install\bin | ||
| IF EXIST "${{env.INSTALL_DIR}}\share\qtermwidget6" ( | ||
| xcopy "${{env.INSTALL_DIR}}\share\qtermwidget6" install\share\qtermwidget6 /Y /S /I | ||
| ) | ||
| C:\msys64\usr\bin\wget https://npcap.com/dist/npcap-1.80.exe | ||
| copy npcap-1.80.exe install\bin | ||
| ;7z a RabbitRemoteControl_${{env.RabbitRemoteControl_VERSION}}_${{matrix.qt_arch}}_qt${{matrix.qt_version}}_Portable.zip .\install\* | ||
| makensis Windows.nsi | ||
| copy /Y RabbitRemoteControl_Setup_${{env.RabbitRemoteControl_VERSION}}.exe RabbitRemoteControl_${{env.RabbitRemoteControl_VERSION}}_${{matrix.qt_arch}}_qt${{matrix.qt_version}}_Setup.exe | ||
| - name: Update configure file | ||
| if: ${{ matrix.BUILD_TYPE == 'Release' }} | ||
| working-directory: ${{env.BUILD_DIR}} | ||
| run: | | ||
| install\bin\RabbitRemoteControlApp.exe ^ | ||
| -f "update_msvc_${{matrix.qt_arch}}_qt${{matrix.qt_version}}.json" ^ | ||
| --foc 1 ^ | ||
| -u https://github.com/KangLin/RabbitRemoteControl/releases/download/${{env.RabbitRemoteControl_VERSION}}/RabbitRemoteControl_${{env.RabbitRemoteControl_VERSION}}_${{matrix.qt_arch}}_qt${{matrix.qt_version}}_Setup.exe;https://master.dl.sourceforge.net/project/rabbitremotecontrol/${{env.RabbitRemoteControl_VERSION}}/RabbitRemoteControl_${{env.RabbitRemoteControl_VERSION}}_${{matrix.qt_arch}}_qt${{matrix.qt_version}}_Setup.exe?viasf=1 ^ | ||
| --pf RabbitRemoteControl_${{env.RabbitRemoteControl_VERSION}}_${{matrix.qt_arch}}_qt${{matrix.qt_version}}_Setup.exe ^ | ||
| -m "${{env.RabbitRemoteControl_VERSION}}" | ||
| RENAME update_msvc_${{matrix.qt_arch}}_qt${{matrix.qt_version}}.json.xml update_windows.xml | ||
| - name: Update artifact | ||
| if: ${{ matrix.BUILD_TYPE == 'Release' }} | ||
| uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: ${{ env.artifact_name }}_${{matrix.qt_version}}_${{matrix.qt_arch}} | ||
| path: | | ||
| ${{env.BUILD_DIR}}\RabbitRemoteControl_${{env.RabbitRemoteControl_VERSION}}_${{matrix.qt_arch}}_qt${{matrix.qt_version}}_Setup.exe | ||
| ${{env.BUILD_DIR}}\update_msvc_${{matrix.qt_arch}}_qt${{matrix.qt_version}}.json | ||
| #${{env.BUILD_DIR}}\RabbitRemoteControl_${{env.RabbitRemoteControl_VERSION}}_${{matrix.qt_arch}}_qt${{matrix.qt_version}}_Portable.zip | ||
| - name: Update artifact update_windows.xml | ||
| if: ${{ matrix.BUILD_TYPE == 'Release' && matrix.qt_version == '6.9.2' }} | ||
| uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: ${{ env.artifact_name }}_${{matrix.qt_version}}_${{matrix.qt_arch}}_xml | ||
| path: | | ||
| ${{env.BUILD_DIR}}\update_windows.xml | ||