Compare commits
15
Commits
v0.1.0
...
25c9979674
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
25c9979674 | ||
|
|
7d65578a5f | ||
|
|
f883b3d7fe | ||
|
|
49010e2a43 | ||
|
|
a3ca37b51a | ||
|
|
afd08e8aa7 | ||
|
|
7448fc101d | ||
|
|
2e2747ac04 | ||
|
|
55b73eea19 | ||
|
|
94100b6e2f | ||
|
|
60b0844b7f | ||
|
|
1ac8162c30 | ||
|
|
d82b6da074 | ||
|
|
4061cc60a3 | ||
|
|
b943f92c0c |
+10
-19
@@ -2,29 +2,20 @@
|
|||||||
Checks: >
|
Checks: >
|
||||||
-*,
|
-*,
|
||||||
bugprone-*,
|
bugprone-*,
|
||||||
|
-bugprone-easily-swappable-parameters,
|
||||||
|
-bugprone-narrowing-conversions,
|
||||||
|
-bugprone-implicit-widening-of-multiplication-result,
|
||||||
clang-analyzer-*,
|
clang-analyzer-*,
|
||||||
modernize-*,
|
cppcoreguidelines-init-variables,
|
||||||
-modernize-use-trailing-return-type,
|
misc-no-recursion,
|
||||||
performance-*,
|
concurrency-mt-unsafe,
|
||||||
readability-braces-around-statements,
|
|
||||||
readability-else-after-return,
|
readability-else-after-return,
|
||||||
readability-identifier-naming,
|
readability-make-member-function-const,
|
||||||
readability-redundant-*,
|
readability-redundant-*,
|
||||||
readability-simplify-*,
|
readability-simplify-*,
|
||||||
CheckOptions:
|
modernize-use-override,
|
||||||
readability-identifier-naming.ClassCase: CamelCase
|
modernize-use-nullptr,
|
||||||
readability-identifier-naming.EnumCase: CamelCase
|
modernize-deprecated-headers,
|
||||||
readability-identifier-naming.FunctionCase: camelBack
|
|
||||||
readability-identifier-naming.MemberCase: camelBack
|
|
||||||
readability-identifier-naming.MemberPrefix: m_
|
|
||||||
readability-identifier-naming.MethodCase: camelBack
|
|
||||||
readability-identifier-naming.NamespaceCase: CamelCase
|
|
||||||
readability-identifier-naming.ParameterCase: camelBack
|
|
||||||
readability-identifier-naming.PrivateMemberPrefix: m_
|
|
||||||
readability-identifier-naming.StaticConstantCase: UPPER_CASE
|
|
||||||
readability-identifier-naming.StaticConstantPrefix: k
|
|
||||||
readability-identifier-naming.VariableCase: camelBack
|
|
||||||
WarningsAsErrors: "*"
|
|
||||||
HeaderFilterRegex: ".*"
|
HeaderFilterRegex: ".*"
|
||||||
FormatStyle: file
|
FormatStyle: file
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,22 @@
|
|||||||
|
name: Rebuild CI Image
|
||||||
|
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '0 6 * * 1'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: alpine
|
||||||
|
env:
|
||||||
|
IMAGE: git.aramjonghu.nl/aramjonghu/zshell-ci:latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Build image
|
||||||
|
run: docker build -t "$IMAGE" -f ci/Dockerfile .
|
||||||
|
|
||||||
|
- name: Push image
|
||||||
|
run: docker push "$IMAGE"
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
name: C++
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: alpine
|
||||||
|
container:
|
||||||
|
image: git.aramjonghu.nl/aramjonghu/zshell-ci:latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Configure
|
||||||
|
run: cmake -B build -G Ninja -DENABLE_MODULES=plugin -DCMAKE_BUILD_TYPE=Release
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
run: ninja -C build
|
||||||
|
|
||||||
|
- name: clang-tidy
|
||||||
|
continue-on-error: true
|
||||||
|
run: |
|
||||||
|
set -o pipefail
|
||||||
|
run-clang-tidy -p build -j $(nproc) -header-filter="Plugins/.*" 2>&1 | \
|
||||||
|
grep -v 'Suppressed\|non-user\|non-system\|unknown argument.*mno-direct'
|
||||||
+30
-1
@@ -1,6 +1,35 @@
|
|||||||
cmake_minimum_required(VERSION 3.19)
|
cmake_minimum_required(VERSION 3.19)
|
||||||
|
|
||||||
project(ZShell)
|
if(NOT DEFINED VERSION)
|
||||||
|
execute_process(
|
||||||
|
COMMAND git describe --tags --abbrev=0
|
||||||
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||||
|
OUTPUT_VARIABLE GIT_LAST_TAG
|
||||||
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||||
|
ERROR_QUIET
|
||||||
|
)
|
||||||
|
|
||||||
|
if (GIT_LAST_TAG)
|
||||||
|
string(REGEX REPLACE "^v" "" GIT_LAST_TAG "${GIT_LAST_TAG}")
|
||||||
|
|
||||||
|
string(REPLACE "." ";" VERSION_LIST "${GIT_LAST_TAG}")
|
||||||
|
list(GET VERSION_LIST 0 VERSION_MAJOR)
|
||||||
|
list(GET VERSION_LIST 1 VERSION_MINOR)
|
||||||
|
|
||||||
|
execute_process(
|
||||||
|
COMMAND git rev-list v${VERSION_MAJOR}.${VERSION_MINOR}.0..HEAD --count
|
||||||
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||||
|
OUTPUT_VARIABLE VERSION_PATCH
|
||||||
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||||
|
ERROR_QUIET
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}")
|
||||||
|
|
||||||
|
project(ZShell VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH})
|
||||||
|
message(STATUS "ZShell version: ${VERSION}")
|
||||||
|
|
||||||
set(CMAKE_CXX_STANDARD 20)
|
set(CMAKE_CXX_STANDARD 20)
|
||||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
|
|||||||
@@ -66,6 +66,8 @@ qml_module(ZShell
|
|||||||
PkgConfig::Qalculate
|
PkgConfig::Qalculate
|
||||||
)
|
)
|
||||||
|
|
||||||
|
target_compile_definitions(ZShell PRIVATE ZSHELL_VERSION="${VERSION}")
|
||||||
|
|
||||||
add_subdirectory(Models)
|
add_subdirectory(Models)
|
||||||
add_subdirectory(Internal)
|
add_subdirectory(Internal)
|
||||||
add_subdirectory(Services)
|
add_subdirectory(Services)
|
||||||
|
|||||||
@@ -3,9 +3,11 @@
|
|||||||
#include <QtConcurrent/qtconcurrentrun.h>
|
#include <QtConcurrent/qtconcurrentrun.h>
|
||||||
#include <QtQuick/qquickitemgrabresult.h>
|
#include <QtQuick/qquickitemgrabresult.h>
|
||||||
#include <QtQuick/qquickwindow.h>
|
#include <QtQuick/qquickwindow.h>
|
||||||
|
#include <qcontainerfwd.h>
|
||||||
#include <qdir.h>
|
#include <qdir.h>
|
||||||
#include <qfileinfo.h>
|
#include <qfileinfo.h>
|
||||||
#include <qfuturewatcher.h>
|
#include <qfuturewatcher.h>
|
||||||
|
#include <qjsprimitivevalue.h>
|
||||||
#include <qloggingcategory.h>
|
#include <qloggingcategory.h>
|
||||||
#include <qqmlengine.h>
|
#include <qqmlengine.h>
|
||||||
|
|
||||||
@@ -142,4 +144,16 @@ qreal ZUtils::clamp(qreal value, qreal min, qreal max) {
|
|||||||
return qBound(min, value, max);
|
return qBound(min, value, max);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifndef ZSHELL_VERSION
|
||||||
|
#define ZSHELL_VERSION ""
|
||||||
|
#endif
|
||||||
|
|
||||||
|
QString ZUtils::version() const {
|
||||||
|
return QStringLiteral(ZSHELL_VERSION);
|
||||||
|
}
|
||||||
|
|
||||||
|
QString ZUtils::qtVersion() const {
|
||||||
|
return QStringLiteral(QT_VERSION_STR);
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace ZShell
|
} // namespace ZShell
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <QtQuick/qquickitem.h>
|
#include <QtQuick/qquickitem.h>
|
||||||
|
#include <qcontainerfwd.h>
|
||||||
#include <qobject.h>
|
#include <qobject.h>
|
||||||
#include <qqmlintegration.h>
|
#include <qqmlintegration.h>
|
||||||
|
|
||||||
@@ -26,6 +27,9 @@ Q_INVOKABLE static bool deleteFile(const QUrl& path);
|
|||||||
Q_INVOKABLE static QString toLocalFile(const QUrl& url);
|
Q_INVOKABLE static QString toLocalFile(const QUrl& url);
|
||||||
|
|
||||||
Q_INVOKABLE static qreal clamp(qreal value, qreal min, qreal max);
|
Q_INVOKABLE static qreal clamp(qreal value, qreal min, qreal max);
|
||||||
|
|
||||||
|
[[nodiscard]] QString version() const;
|
||||||
|
[[nodiscard]] QString qtVersion() const;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace ZShell
|
} // namespace ZShell
|
||||||
|
|||||||
@@ -0,0 +1,43 @@
|
|||||||
|
FROM archlinux:latest
|
||||||
|
|
||||||
|
RUN pacman -Syu --noconfirm
|
||||||
|
|
||||||
|
# Build toolchain
|
||||||
|
RUN pacman -S --noconfirm \
|
||||||
|
base-devel \
|
||||||
|
cmake \
|
||||||
|
ninja \
|
||||||
|
clang \
|
||||||
|
lld \
|
||||||
|
nodejs \
|
||||||
|
git
|
||||||
|
|
||||||
|
# Qt6
|
||||||
|
RUN pacman -S --noconfirm \
|
||||||
|
qt6-base \
|
||||||
|
qt6-declarative \
|
||||||
|
qt6-shadertools \
|
||||||
|
qt6-5compat \
|
||||||
|
qt6-canvaspainter
|
||||||
|
|
||||||
|
# Project-specific dependencies
|
||||||
|
RUN pacman -S --noconfirm \
|
||||||
|
libqalculate \
|
||||||
|
pipewire \
|
||||||
|
aubio \
|
||||||
|
cava \
|
||||||
|
lm_sensors \
|
||||||
|
glib2
|
||||||
|
|
||||||
|
# AUR: libcava (provides development headers for cava)
|
||||||
|
RUN pacman -S --needed --noconfirm sudo && \
|
||||||
|
useradd -m builder && \
|
||||||
|
echo "builder ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \
|
||||||
|
su builder -c " \
|
||||||
|
git clone https://aur.archlinux.org/libcava.git /tmp/libcava && \
|
||||||
|
cd /tmp/libcava && \
|
||||||
|
makepkg -si --noconfirm \
|
||||||
|
" && \
|
||||||
|
rm -rf /tmp/libcava && \
|
||||||
|
userdel -r builder && \
|
||||||
|
sed -i '/^builder/d' /etc/sudoers
|
||||||
Reference in New Issue
Block a user