Add branch support for updates

This commit is contained in:
woblight
2024-08-12 12:13:38 +02:00
parent d0de2533a7
commit c41e67dc14
3 changed files with 25 additions and 20 deletions
+6 -2
View File
@@ -8,6 +8,10 @@ wine=$(WINEPATH) $(wineenv) wine
winepwd:=$(shell $(wine) winepath -w $(pwd))
WINEPREFIX=WINEPREFIX="$(pwd)/wine"
WINEPATH=WINEPATH='C:\Program Files (x86)\CMake\bin;$(shell $(winepath) -w "$(pwd)/mingw64/bin");$(shell $(winepath) -w "$(pwd)/Qt/6.7.2/mingw_64/bin")' QTDIR="Z:$(pwd)/Qt/6.7.2/mingw_64/"
branch:=$(CI_COMMIT_BRANCH)
ifeq ($(branch),)
branch:=$(CI_DEFAULT_BRANCH)
endif
.PHONY: build winbuild windeploy linuxdeploy finalize
@@ -15,7 +19,7 @@ finalize:
cd GitAddonsManager && echo "# DO NOT EDIT" > .installedFiles && find ! -path . >> .installedFiles
build:
mkdir -p build && cd build && cmake ../ -DGIT_DESCRIBE="$(shell git describe --tags --long)" -DGAM_BUILD_NAME=Linux_x64 -G"Ninja" -DCMAKE_BUILD_TYPE=Release --install-prefix="$(pwd)/release" && ninja && ninja install
mkdir -p build && cd build && cmake ../ -DGIT_DESCRIBE="$(shell git describe --tags --long)" -DGitAddonsManager_BUILD_NAME=$(CI_JOB_NAME) -DGitAddonsManager_BRANCH_NAME=$(branch) -G"Ninja" -DCMAKE_BUILD_TYPE=Release --install-prefix="$(pwd)/release" && ninja && ninja install
linuxdeploy: build
mkdir GitAddonsManager
@@ -107,7 +111,7 @@ quazip/release/bin/libquazip1-qt6.dll: quazip/CMakeLists.txt
$(wine) mingw32-make -C quazip/build install
build_win64/GitAddonsManager.exe: Qt libgit2-0.27.2/release/bin/libgit2.dll zlib/build/libzlib.dll quazip/release/bin/libquazip1-qt6.dll
mkdir -p build_win64 && cd build_win64 && $(wine) cmake ../ -DGIT_DESCRIBE="$(shell git describe --tags --long)" -DGAM_BUILD_NAME=Win64 -G"MinGW Makefiles" -DQuaZip-Qt6_DIR=$(pwd)/quazip/release/lib/cmake/QuaZip-Qt6-1.4/ -DLIBGIT2_LIBRARY=$(pwd)/libgit2-0.27.2/release/bin/libgit2.dll -DLIBGIT2_INCLUDE_DIR=$(pwd)/libgit2-0.27.2/release/include -DZLIB_LIBRARY=$(pwd)/zlib/build/libzlib.dll.a -DZLIB_INCLUDE_DIR=$(pwd)/zlib -DCMAKE_BUILD_TYPE=Release --install-prefix="$(winepwd)/release"
mkdir -p build_win64 && cd build_win64 && $(wine) cmake ../ -DGIT_DESCRIBE="$(shell git describe --tags --long)" -DGitAddonsManager_BUILD_NAME=$(CI_JOB_NAME) -DGitAddonsManager_BRANCH_NAME=$(branch) -G"MinGW Makefiles" -DQuaZip-Qt6_DIR=$(pwd)/quazip/release/lib/cmake/QuaZip-Qt6-1.4/ -DLIBGIT2_LIBRARY=$(pwd)/libgit2-0.27.2/release/bin/libgit2.dll -DLIBGIT2_INCLUDE_DIR=$(pwd)/libgit2-0.27.2/release/include -DZLIB_LIBRARY=$(pwd)/zlib/build/libzlib.dll.a -DZLIB_INCLUDE_DIR=$(pwd)/zlib -DCMAKE_BUILD_TYPE=Release --install-prefix="$(winepwd)/release"
$(wine) mingw32-make -C build_win64 -j $(shell nproc)
$(wine) mingw32-make -C build_win64 install
+16 -15
View File
@@ -1,8 +1,9 @@
cmake_minimum_required(VERSION 3.1.0)
project(GitAddonsManager LANGUAGES CXX)
find_package(Qt6 COMPONENTS Quick Core QuickControls2 Concurrent Network Widgets REQUIRED)
find_package(Qt6 COMPONENTS Quick Gui Core QuickControls2 Concurrent Network Widgets REQUIRED)
find_package(Qt6LinguistTools)
find_package(QuaZip-Qt6)
if (NOT WIN32)
find_package(PkgConfig REQUIRED)
pkg_check_modules(LIBGIT2 REQUIRED IMPORTED_TARGET libgit2)
@@ -38,9 +39,13 @@ set(qml_files
Update.qml
)
set(${PROJECT_NAME}_BUILD_NAME "" CACHE STRING "name of the build pipeline for self updates")
set(${PROJECT_NAME}_BRANCH_NAME "" CACHE STRING "name of the branch for self updates")
qt_add_executable(GitAddonsManager
addon.h control.h utils.h
main.cpp addon.cpp control.cpp
addon.h control.h remote.h utils.h
main.cpp addon.cpp control.cpp remote.cpp
CI.mk .gitlab-ci.yml
${RESOURCES}
MANUAL_FINALIZATION
@@ -51,11 +56,18 @@ set_property(TARGET GitAddonsManager PROPERTY CXX_STANDARD 20)
add_compile_definitions(
GIT_DESCRIBE="${GIT_DESCRIBE}"
GAM_EXEC="GitAddonsManager${CMAKE_EXECUTABLE_SUFFIX}"
GAM_BUILD_NAME="${GAM_BUILD_NAME}"
)
if (NOT ${PROJECT_NAME}_BUILD_NAME STREQUAL "")
add_compile_definitions(GAM_BUILD_NAME="${${PROJECT_NAME}_BUILD_NAME}")
endif()
if (NOT ${PROJECT_NAME}_BRANCH_NAME STREQUAL "")
add_compile_definitions(GAM_BRANCH_NAME="${${PROJECT_NAME}_BRANCH_NAME}")
endif()
target_link_libraries(GitAddonsManager PUBLIC Qt6::Core)
target_link_libraries(GitAddonsManager PUBLIC Qt6::Quick)
target_link_libraries(GitAddonsManager PUBLIC Qt6::Gui)
target_link_libraries(GitAddonsManager PUBLIC Qt6::QuickControls2)
target_link_libraries(GitAddonsManager PUBLIC Qt6::Concurrent)
target_link_libraries(GitAddonsManager PUBLIC Qt6::Network)
@@ -68,17 +80,6 @@ else()
endif()
# qt6_add_qml_module(GitAddonsManager
# URI raffarti.GitAddonsManager
# VERSION 1.0
# SOURCES
# sound.cpp sound.h
# QML_FILES
# main.qml
# Sounds.qml
# Sound.qml
# # ENABLE_TYPE_COMPILER
# )
target_link_libraries(GitAddonsManager PRIVATE Qt6::QmlPrivate Qt6::QuickPrivate)
set(APPNAME GitAddonsManager)
+3 -3
View File
@@ -520,8 +520,8 @@ void Control::setAvailableStyles(QStringList availableStyles)
void Control::checkForUpdates()
{
#ifdef GAM_BUILD_NAME
QNetworkRequest req(QUrl(QString("https://gitlab.com/woblight/GitAddonsManager/-/jobs/artifacts/master/download?job=%1").arg(GAM_BUILD_NAME)));
#if defined(GAM_BUILD_NAME) && defined(GAM_BRANCH_NAME)
QNetworkRequest req(QUrl(QString("https://gitlab.com/woblight/GitAddonsManager/-/jobs/artifacts/%1/download?job=%2").arg(GAM_BRANCH_NAME).arg(GAM_BUILD_NAME)));
req.setAttribute(QNetworkRequest::RedirectPolicyAttribute, QNetworkRequest::NoLessSafeRedirectPolicy);
connect(nam, &QNetworkAccessManager::finished, [](auto reply){
QApplication::setApplicationDisplayName(reply->errorString());
@@ -542,7 +542,7 @@ void Control::checkForUpdates()
void Control::downloadUpdate()
{
#ifdef GAM_BUILD_NAME
#if defined(GAM_BUILD_NAME) && defined(GAM_BRANCH_NAME)
QFile *zip = new QFile(QApplication::applicationDirPath() + "/GitAddonsManager.zip");
if (!zip->open(QFile::WriteOnly)) {
setUpdateStatus(UpdateStatus::UpdateError);