From ef492e8127e350f48840f98cd0505a4eb7c949ab Mon Sep 17 00:00:00 2001 From: Simone Date: Tue, 23 Jan 2024 14:58:22 +0100 Subject: [PATCH] Prepare for master attempt to fix ci attempt to fix ci attempt to fix ci attempt to fix ci attempt to fix ci attempt to fix ci attempt to fix ci --- .github/workflows/build.yml | 27 +++++++++++++-------------- README.md | 8 +++----- 2 files changed, 16 insertions(+), 19 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8d74f6cd..bb10b67d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -14,22 +14,16 @@ jobs: run: | sudo add-apt-repository universe sudo apt-get update -qq - sudo apt-get install -y build-essential libgtk-3-dev libsdl2-dev git ninja-build nlohmann-json3-dev libfmt-dev + sudo apt-get install -y clang build-essential libgtk-3-dev libsdl2-dev git ninja-build qt6-base-dev sudo apt-get install -y vulkan-tools libvulkan1 libvulkan-dev vulkan-validationlayers-dev spirv-tools - - git clone --recursive https://github.com/mandreyel/mio - cd mio - cmake -B build -DBUILD_TESTING=False -DCMAKE_BUILD_TYPE=Release - cd build - sudo make install - name: Build Kaizen run: | - cmake -G Ninja -B build -DCMAKE_BUILD_TYPE=Release + cmake -G Ninja -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -B build -DCMAKE_BUILD_TYPE=Release cmake --build build --config Release - name: Collect artifacts run: | mkdir upload - cp -r build/{kaizen,resources} upload + cp -r build/src/frontend/{kaizen-qt,resources} upload - name: Upload artifacts uses: actions/upload-artifact@master with: @@ -44,7 +38,12 @@ jobs: submodules: recursive - name: Setup dependencies run: | - vcpkg install sdl2[vulkan]:x64-windows fmt:x64-windows nlohmann-json:x64-windows mio:x64-windows + vcpkg install sdl2[vulkan]:x64-windows + - name: Setup Qt + uses: jurplel/install-qt-action@v3 + with: + arch: win64_msvc2019_64 + version: 6.6.* - name: Build Kaizen run: | cmake -B build -T clangcl -DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake -DCMAKE_BUILD_TYPE=Release @@ -52,11 +51,11 @@ jobs: - name: Collect artifacts run: | mkdir upload - cp build/Release/kaizen.exe upload + cp build/src/frontend/Release/kaizen-qt.exe upload mkdir upload/resources - cp build/resources/* upload/resources - cp build/Release/SDL2.dll upload - cp build/Release/fmt.dll upload + cp resources/* upload/resources + cp build/src/frontend/Release/SDL2.dll upload + windeployqt --dir upload upload/kaizen-qt.exe - name: Upload artifacts uses: actions/upload-artifact@master with: diff --git a/README.md b/README.md index 380925f0..6cb30c78 100644 --- a/README.md +++ b/README.md @@ -36,8 +36,7 @@ This build uses Visual Studio with Vcpkg and Clang-cl Dependencies: - CMake 3.20 or higher - SDL2 (install it by making sure that you're choosing the "vulkan" extension of the package and the x64-windows triplet: `vcpkg install sdl2[vulkan]:x64-windows`) -- fmtlib (install it by making sure that you're choosing the x64-windows triplet: `vcpkg install fmt:x64-windows`) -- nlohmann-json (install it by making sure that you're choosing the x64-windows triplet: `vcpkg install nlohmann-json:x64-windows`) +- Qt6 (install it with `vcpkg install qtbase[core,gui,widgets,vulkan]:x64-windows`) ``` cd path/to/kaizen @@ -53,9 +52,8 @@ Dependencies: - GCC or Clang with C++17 support - CMake 3.20 or higher - SDL2 -- fmtlib - Vulkan API (including the validation layers) + SPIR-V tools -- nlohmann-json +- Qt6 ``` cd path/to/kaizen @@ -78,7 +76,7 @@ Your GPU needs to support Vulkan 1.1+, because the RDP is implemented via [ParaL - [x] Full TLB emulation - [x] Full joybus emulation (but it's not configurable by the user at the moment) - [x] TAS replay (using Mupen's format) -- [ ] Qt or wxWidgets for native GUI (keeping ImGui as opt-in). +- [x] Qt for native GUI - [ ] JIT, with support for x86_64 and ARM (using an IR). - [ ] Debug tools: disassembly, breakpoints, single-step and memory editor - [ ] TAS tools: TAS input, recording (using Mupen's format), save-states, rewind and frame-advance