diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8aed5f92f..3d0ac8648 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,6 +1,7 @@ name: Build Notepad Next on: + workflow_dispatch: push: branches: - master @@ -48,6 +49,14 @@ jobs: if: runner.os == 'Linux' run: | echo "DISTRIBUTION=AppImage" >> "$GITHUB_ENV" + + # Qt 6.10+ renamed wayland plugins + if [[ "${{ matrix.qt_version }}" == "6.10" ]]; then + echo "EXTRA_PLATFORM_PLUGINS=libqwayland.so" >> "$GITHUB_ENV" + else + echo "EXTRA_PLATFORM_PLUGINS=libqwayland-generic.so" >> "$GITHUB_ENV" + fi + sudo apt-get install libxkbcommon-dev libxkbcommon-x11-0 fuse libxcb-cursor-dev libcups2-dev - name: Configure @@ -102,7 +111,6 @@ jobs: needs: [build] if: github.repository == 'dail8859/NotepadNext' && github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') - env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.gitignore b/.gitignore index 83fe960dc..9f7006b05 100644 --- a/.gitignore +++ b/.gitignore @@ -44,6 +44,10 @@ target_wrapper.* # QtCtreator CMake CMakeLists.txt.user* +CMakeCache. +cmake_install.cmake +Makefile +__cmake_systeminformation *.pyc @@ -61,3 +65,9 @@ CMakeLists.txt.user* ._* .cpm-cache/ + +# ninja +.ninja_deps +.ninja_lock +.ninja_log +build.ninja diff --git a/doc/Building.md b/doc/Building.md index 90df7f875..e34b32a54 100644 --- a/doc/Building.md +++ b/doc/Building.md @@ -37,8 +37,44 @@ This section specifically describes how to build Notepad Next using Microsoft's 1. Qt Creator will build and run the project. # Linux +Here's instructions for ubuntu/debian. Should be same across all distros as long as you get the packages. -TODO +```sh +export DISTRIBUTION=AppImage +export EXTRA_PLATFORM_PLUGINS="libqwayland-generic.so" + +sudo apt update +sudo apt install -y \ + cmake \ + ninja-build \ + file \ + libxkbcommon-dev \ + libxkbcommon-x11-0 \ + fuse \ + libxcb-cursor-dev \ + libcups2-dev \ + libglib2.0-0 \ + libglib2.0-dev \ + libproxy1v5 \ + libproxy-dev \ + qt6-base-dev \ + qt6-base-dev-tools \ + qt6-tools-dev \ + qt6-tools-dev-tools \ + qt6-wayland \ + qt6-wayland-dev \ + libqt6waylandclient6 \ + qml6-module-qtwayland-compositor \ + libqt6core5compat6 \ + libqt6core5compat6-dev \ + qt6-base-private-dev + +cmake -S . -B build \ + -G Ninja \ + -DCMAKE_BUILD_TYPE=Release \ + -DAPP_DISTRIBUTION=$DISTRIBUTION +cmake --build build --target appimage --parallel +``` # MacOS