Skip to content

Commit 745df0d

Browse files
authored
Merge pull request #64 from tuna/ci-update
Update CI and upgrade to Qt6
2 parents f32d647 + 5c49cfc commit 745df0d

File tree

16 files changed

+110
-228
lines changed

16 files changed

+110
-228
lines changed

.github/workflows/macOS.yml

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,38 @@
11
name: macOS
2-
on: [push]
2+
on:
3+
push:
4+
branches:
5+
- master
6+
pull_request:
7+
branches:
8+
- master
9+
workflow_dispatch:
10+
311
env:
412
targetName: danmaQ
513
jobs:
614
build:
715
name: Build
8-
runs-on: macos-10.15
16+
runs-on: macos-latest
917
steps:
1018
- name: Install Qt
11-
uses: jurplel/install-qt-action@v2
19+
uses: jurplel/install-qt-action@v4
1220
with:
13-
version: 5.15.2
14-
modules: 'qtwebengine'
15-
cached: 'false'
16-
- uses: actions/checkout@v2
21+
version: 6.8.2
22+
modules: "qtwebengine qtwebchannel qtpositioning" # latter two are required by webengine
23+
cache: true
24+
- uses: actions/checkout@v4
1725
with:
1826
fetch-depth: 1
1927
- name: Build MacOS
2028
run: |
21-
cmake . && make translations
22-
cmake -B build -DCMAKE_INSTALL_PREFIX=/app -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_BUILD_TYPE=Release
23-
cd build && make dmg
24-
- uses: actions/upload-artifact@v2
29+
cmake -B build -DCMAKE_INSTALL_PREFIX=/app -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DQT_DEBUG_FIND_PACKAGE=ON
30+
cd build && make dmg
31+
- uses: actions/upload-artifact@v4
2532
with:
2633
name: ${{ env.targetName }}.macos.amd64.dmg
2734
path: build/${{ env.targetName }}.dmg
28-
- name: uploadRelease
35+
- name: Update to release
2936
if: startsWith(github.event.ref, 'refs/tags/')
3037
uses: svenstaro/upload-release-action@v2
3138
with:

.github/workflows/ubuntu.yml

Lines changed: 44 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
name: Ubuntu
2-
on: [push]
2+
on:
3+
push:
4+
branches:
5+
- master
6+
pull_request:
7+
branches:
8+
- master
9+
workflow_dispatch:
10+
311
env:
412
targetName: danmaQ
513
jobs:
@@ -8,38 +16,47 @@ jobs:
816
runs-on: ${{ matrix.os }}
917
strategy:
1018
matrix:
11-
os: [ubuntu-20.04]
12-
qt_ver: [5.15.2]
19+
os: [ubuntu-latest]
20+
qt_ver: [6.8.2]
1321
qt_arch: [gcc_64]
1422
steps:
1523
- name: Install Qt
16-
uses: jurplel/install-qt-action@v2
24+
uses: jurplel/install-qt-action@v4
1725
with:
1826
version: ${{ matrix.qt_ver }}
19-
modules: 'qtcharts qtwebengine'
20-
cached: 'false'
21-
- name: ubuntu install
22-
run: sudo apt-get install -y libqt5x11extras5-dev cmake flatpak flatpak-builder
23-
- uses: actions/checkout@v2
27+
modules: "qtwebengine qtwebchannel qtpositioning" # latter two are required by webengine
28+
cache: true
29+
- name: Install other dependencies
30+
run: sudo apt-get install -y cmake ninja-build flatpak flatpak-builder
31+
- uses: actions/checkout@v4
2432
with:
2533
fetch-depth: 1
26-
- name: build flatpak
34+
- name: Build native
2735
run: |
28-
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
29-
sudo flatpak install flathub org.kde.Sdk//5.15 io.qt.qtwebengine.BaseApp//5.15 -y
30-
sudo flatpak-builder --repo=repo --force-clean build-dir org.tuna.danmaQ.local.json
31-
sudo flatpak build-bundle repo danmaQ.flatpak org.tuna.danmaQ
32-
working-directory: flatpak
33-
- uses: actions/upload-artifact@v2
36+
cmake -B build -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -GNinja -DQT_DEBUG_FIND_PACKAGE=ON
37+
cmake --build build
38+
- name: Upload build result
39+
uses: actions/upload-artifact@v4
3440
with:
35-
name: ${{ env.targetName }}.linux.amd64.flatpak
36-
path: flatpak/danmaQ.flatpak
37-
- name: uploadRelease
38-
if: startsWith(github.event.ref, 'refs/tags/')
39-
uses: svenstaro/upload-release-action@v2
40-
with:
41-
repo_token: ${{ secrets.GITHUB_TOKEN }}
42-
file: flatpak/danmaQ.flatpak
43-
asset_name: ${{ env.targetName }}.linux.amd64.flatpak
44-
tag: ${{ github.ref }}
45-
overwrite: true
41+
name: ${{ env.targetName }}.linux.amd64
42+
path: build/src/danmaQ
43+
# - name: Build flatpak
44+
# run: |
45+
# sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
46+
# sudo flatpak install flathub org.kde.Sdk//5.15 io.qt.qtwebengine.BaseApp//5.15 -y
47+
# sudo flatpak-builder --repo=repo --force-clean build-dir org.tuna.danmaQ.local.json
48+
# sudo flatpak build-bundle repo danmaQ.flatpak org.tuna.danmaQ
49+
# working-directory: flatpak
50+
# - uses: actions/upload-artifact@v4
51+
# with:
52+
# name: ${{ env.targetName }}.linux.amd64.flatpak
53+
# path: flatpak/danmaQ.flatpak
54+
# - name: Update to release
55+
# if: startsWith(github.event.ref, 'refs/tags/')
56+
# uses: svenstaro/upload-release-action@v2
57+
# with:
58+
# repo_token: ${{ secrets.GITHUB_TOKEN }}
59+
# file: flatpak/danmaQ.flatpak
60+
# asset_name: ${{ env.targetName }}.linux.amd64.flatpak
61+
# tag: ${{ github.ref }}
62+
# overwrite: true

.github/workflows/windows.yml

Lines changed: 23 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,57 @@
11
name: Windows
2-
on: [push]
2+
on:
3+
push:
4+
branches:
5+
- master
6+
pull_request:
7+
branches:
8+
- master
9+
workflow_dispatch:
10+
311
env:
412
targetName: danmaQ
513
jobs:
614
build:
715
name: Build
8-
runs-on: windows-2019
16+
runs-on: windows-latest
917
strategy:
1018
matrix:
1119
include:
12-
- qt_ver: 5.15.2
13-
qt_arch: win64_msvc2019_64
20+
- qt_ver: 6.8.2
21+
qt_arch: win64_msvc2022_64
1422
msvc_arch: x64
15-
qt_arch_install: msvc2019_64
1623
steps:
1724
- name: Install Qt
18-
uses: jurplel/install-qt-action@v2.13.0
25+
uses: jurplel/install-qt-action@v4
1926
with:
2027
version: ${{ matrix.qt_ver }}
21-
modules: 'qtwebengine'
28+
modules: "qtwebengine qtwebchannel qtpositioning" # latter two are required by webengine
2229
arch: ${{ matrix.qt_arch }}
23-
- uses: actions/checkout@v2
30+
cache: true
31+
- uses: actions/checkout@v4
2432
with:
2533
fetch-depth: 1
2634
- name: MSVC Build
2735
id: build
2836
shell: cmd
2937
run: |
30-
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" ${{ matrix.msvc_arch }}
31-
cmake -B . -DCMAKE_INSTALL_PREFIX=/app -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_BUILD_TYPE=Release
32-
msbuild ALL_BUILD.vcxproj
38+
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" ${{ matrix.msvc_arch }}
39+
cmake -B build -DCMAKE_INSTALL_PREFIX=/app -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DQT_DEBUG_FIND_PACKAGE=ON
40+
cmake --build build
3341
- name: Package Qt
3442
env:
35-
VCINSTALLDIR: 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC'
43+
VCINSTALLDIR: 'C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC'
3644
shell: pwsh
3745
run: |
3846
New-Item -ItemType Directory ${env:targetName}
39-
Copy-Item src\Debug\${{ env.targetName }}.exe ${env:targetName}\
47+
Copy-Item build\src\Debug\${{ env.targetName }}.exe ${env:targetName}\
4048
windeployqt ${env:targetName}\${env:targetName}.exe
4149
Compress-Archive -Path ${env:targetName} ${env:targetName}'.zip'
42-
- uses: actions/upload-artifact@v2
50+
- uses: actions/upload-artifact@v4
4351
with:
4452
name: ${{ env.targetName }}.win.${{ matrix.msvc_arch }}.zip
4553
path: ${{ env.targetName }}.zip
46-
- name: Upload Release
54+
- name: Update to release
4755
if: startsWith(github.event.ref, 'refs/tags/')
4856
uses: svenstaro/upload-release-action@v2
4957
with:

.travisci/.travis.sh

Lines changed: 0 additions & 12 deletions
This file was deleted.

.travisci/Dockerfile.debian

Lines changed: 0 additions & 18 deletions
This file was deleted.

.travisci/Dockerfile.fedora

Lines changed: 0 additions & 14 deletions
This file was deleted.

.travisci/Dockerfile.leap

Lines changed: 0 additions & 15 deletions
This file was deleted.

.travisci/Dockerfile.ubuntu

Lines changed: 0 additions & 17 deletions
This file was deleted.

CMakeLists.txt

Lines changed: 6 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,26 @@
1-
cmake_minimum_required(VERSION 2.8.12)
1+
cmake_minimum_required(VERSION 3.16)
22

33
PROJECT(danmaQ)
44

55
option(ENABLE_TEST "Enable test program build" Off)
66

77
set(VERSION "0.3.0")
88

9-
set(CMAKE_CXX_STANDARD 14)
9+
set(CMAKE_CXX_STANDARD 20)
1010
set(CMAKE_EXPORT_COMPILE_COMMANDS True)
1111

1212
IF (WIN32 AND NOT MINGW AND NOT CYGWIN)
1313
set(CMAKE_PREFIX_PATH "$ENV{QTDIR} ${CMAKE_PREFIX_PATH}")
1414
ENDIF()
1515

16-
# From https://github.com/Homebrew/homebrew-core/issues/8392
17-
if(APPLE)
18-
if(EXISTS /usr/local/opt/qt5)
19-
# Because Qt5 is key-only, Homebrew installs Qt5 in
20-
# /usr/local/qt5, ensure it can be found by CMake since
21-
# it is not in the default /usr/local prefix.
22-
list(APPEND CMAKE_PREFIX_PATH "/usr/local/opt/qt5")
23-
set(CMAKE_MACDEPLOYQT_PATH "/usr/local/opt/qt5/bin/macdeployqt")
24-
set(CMAKE_MACOSX_RPATH 1)
25-
# set (_frameworks ${CMAKE_FRAMEWORK_PATH} $ENV{CMAKE_FRAMEWORK_PATH} ~/Library/Frameworks /usr/local/Frameworks ${CMAKE_SYSTEM_FRAMEWORK_PATH})
26-
# list (REMOVE_DUPLICATES _frameworks)
27-
set(CMAKE_INSTALL_RPATH "$INSTALL_DIR/lib")
28-
# set(CMAKE_INSTALL_RPATH_USE_LINK_PATH 1)
29-
else()
30-
set(CMAKE_MACDEPLOYQT_PATH "macdeployqt")
31-
endif()
32-
endif()
33-
34-
find_package(Qt5Core)
35-
find_package(Qt5Widgets)
36-
find_package(Qt5Network)
37-
find_package(Qt5WebEngineWidgets)
16+
find_package(Qt6 REQUIRED COMPONENTS Core Widgets Network WebEngineWidgets LinguistTools)
3817

3918
IF (UNIX)
4019
set(CMAKE_CXX_FLAGS "-Wall ${CMAKE_CXX_FLAGS}")
4120
ENDIF ()
4221

4322
IF (WIN32 AND NOT MINGW AND NOT CYGWIN)
44-
set(CMAKE_CXX_FLAGS "/permissive- /MP ${CMAKE_CXX_FLAGS}")
23+
set(CMAKE_CXX_FLAGS "/permissive- /MP /DNOMINMAX ${CMAKE_CXX_FLAGS}")
4524
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SUBSYSTEM:WINDOWS /ENTRY:\"mainCRTStartup\"")
4625
ENDIF()
4726

@@ -71,14 +50,14 @@ if (APPLE)
7150
COMMAND mkdir -p ${CMAKE_PROJECT_NAME}.app/Contents/Resources
7251
COMMAND touch ${CMAKE_PROJECT_NAME}.app/Contents/Resources/empty.lproj
7352
COMMAND cp Icon.icns ${CMAKE_PROJECT_NAME}.app/Contents/Resources/
74-
COMMAND ${CMAKE_MACDEPLOYQT_PATH} ${CMAKE_PROJECT_NAME}.app -no-strip
53+
COMMAND macdeployqt ${CMAKE_PROJECT_NAME}.app -no-strip
7554
DEPENDS ${CMAKE_BINARY_DIR}/src/${CMAKE_PROJECT_NAME}
7655
DEPENDS ${CMAKE_BINARY_DIR}/Icon.icns
7756
OUTPUT ${CMAKE_BINARY_DIR}/${CMAKE_PROJECT_NAME}.app
7857
)
7958
add_custom_command(
8059
COMMAND cp -r ${CMAKE_PROJECT_NAME}.app ${CMAKE_PROJECT_NAME}.app.bak
81-
COMMAND ${CMAKE_MACDEPLOYQT_PATH} ${CMAKE_PROJECT_NAME}.app -dmg
60+
COMMAND macdeployqt ${CMAKE_PROJECT_NAME}.app -dmg
8261
COMMAND rm -rf ${CMAKE_PROJECT_NAME}.app
8362
COMMAND mv ${CMAKE_PROJECT_NAME}.app.bak ${CMAKE_PROJECT_NAME}.app
8463
DEPENDS ${CMAKE_BINARY_DIR}/${CMAKE_PROJECT_NAME}.app

0 commit comments

Comments
 (0)