mirror of
https://gitee.com/vnotex/vnote.git
synced 2025-07-05 05:49:53 +08:00
parent
0b5a77dc3d
commit
3d7406ff24
35
.github/workflows/ci-linux.yml
vendored
35
.github/workflows/ci-linux.yml
vendored
@ -25,7 +25,6 @@ jobs:
|
|||||||
fetch-depth: 1
|
fetch-depth: 1
|
||||||
|
|
||||||
- name: Init Submodules
|
- name: Init Submodules
|
||||||
shell: bash
|
|
||||||
run: |
|
run: |
|
||||||
auth_header="$(git config --local --get http.https://github.com/.extraheader)"
|
auth_header="$(git config --local --get http.https://github.com/.extraheader)"
|
||||||
git submodule sync --recursive
|
git submodule sync --recursive
|
||||||
@ -34,54 +33,48 @@ jobs:
|
|||||||
- name: Install linuxdeploy
|
- name: Install linuxdeploy
|
||||||
uses: miurahr/install-linuxdeploy-action@v1
|
uses: miurahr/install-linuxdeploy-action@v1
|
||||||
with:
|
with:
|
||||||
plugins: qt appimage
|
plugins: qt appimage
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: |
|
run: |
|
||||||
sudo DEBIAN_FRONTEND=noninteractive apt-get update
|
sudo DEBIAN_FRONTEND=noninteractive apt-get update
|
||||||
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y libfcitx-qt5-dev tree
|
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y libfcitx-qt5-dev tree
|
||||||
|
|
||||||
- name: Install Qt
|
- name: Install Qt
|
||||||
uses: jurplel/install-qt-action@v2
|
uses: jurplel/install-qt-action@v2
|
||||||
with:
|
with:
|
||||||
version: 5.12.10
|
version: 5.12.10
|
||||||
target: desktop
|
target: desktop
|
||||||
arch: ${{matrix.config.arch}}
|
|
||||||
modules: qtwebchannel qtwebengine qtsvg qtlocation qttools qttranslations
|
modules: qtwebchannel qtwebengine qtsvg qtlocation qttools qttranslations
|
||||||
tools: tools_openssl_x64,1.1.1-4,qt.tools.openssl.gcc_64
|
tools: tools_openssl_x64,1.1.1-4,qt.tools.openssl.gcc_64
|
||||||
|
|
||||||
- name: Create Build Dir
|
- name: Create Build Dir
|
||||||
shell: bash
|
|
||||||
run: mkdir build
|
run: mkdir build
|
||||||
working-directory: ${{runner.workspace}}
|
working-directory: ${{runner.workspace}}
|
||||||
|
|
||||||
- name: Compile qt5ct
|
- name: Compile qt5ct
|
||||||
shell: bash
|
|
||||||
run: |
|
run: |
|
||||||
wget -c https://excellmedia.dl.sourceforge.net/project/qt5ct/qt5ct-1.1.tar.bz2
|
wget -c https://excellmedia.dl.sourceforge.net/project/qt5ct/qt5ct-1.1.tar.bz2
|
||||||
tar xf qt5ct-1.*.tar.bz2
|
tar xf qt5ct-1.*.tar.bz2
|
||||||
cd qt5ct-1.*/
|
cd qt5ct-1.*/
|
||||||
QT_SELECT=5 qmake
|
QT_SELECT=5 qmake
|
||||||
make -j$(nproc) && sudo make install
|
make -j$(nproc) && sudo make install
|
||||||
working-directory: ${{runner.workspace}}/build
|
working-directory: ${{runner.workspace}}/build
|
||||||
|
|
||||||
- name: Configure Project
|
- name: Configure Project
|
||||||
shell: bash
|
|
||||||
run: |
|
run: |
|
||||||
qmake -v
|
qmake -v
|
||||||
cp /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so ./
|
cp /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so ./
|
||||||
sudo chmod +rwx ./libfcitxplatforminputcontextplugin.so
|
sudo chmod +rwx ./libfcitxplatforminputcontextplugin.so
|
||||||
cp ./libfcitxplatforminputcontextplugin.so $Qt5_Dir/plugins/platforminputcontexts
|
cp ./libfcitxplatforminputcontextplugin.so $Qt5_Dir/plugins/platforminputcontexts
|
||||||
qmake CONFIG+=release -spec linux-g++-64 ${GITHUB_WORKSPACE}/vnote.pro
|
qmake CONFIG+=release -spec linux-g++-64 ${GITHUB_WORKSPACE}/vnote.pro
|
||||||
working-directory: ${{runner.workspace}}/build
|
working-directory: ${{runner.workspace}}/build
|
||||||
|
|
||||||
- name: Build Project
|
- name: Build Project
|
||||||
shell: bash
|
|
||||||
run: make -j$(nproc)
|
run: make -j$(nproc)
|
||||||
working-directory: ${{runner.workspace}}/build
|
working-directory: ${{runner.workspace}}/build
|
||||||
|
|
||||||
- name: Install Project
|
- name: Install Project
|
||||||
shell: bash
|
|
||||||
run: |
|
run: |
|
||||||
mkdir AppDir
|
mkdir AppDir
|
||||||
make install INSTALL_ROOT=${{runner.workspace}}/build/AppDir
|
make install INSTALL_ROOT=${{runner.workspace}}/build/AppDir
|
||||||
@ -89,7 +82,6 @@ jobs:
|
|||||||
working-directory: ${{runner.workspace}}/build
|
working-directory: ${{runner.workspace}}/build
|
||||||
|
|
||||||
- name: Package Project
|
- name: Package Project
|
||||||
shell: bash
|
|
||||||
run: |
|
run: |
|
||||||
# Move the lib out to avoid duplication
|
# Move the lib out to avoid duplication
|
||||||
mv AppDir/usr/lib ./
|
mv AppDir/usr/lib ./
|
||||||
@ -119,7 +111,6 @@ jobs:
|
|||||||
|
|
||||||
- name: Update Tag
|
- name: Update Tag
|
||||||
if: github.ref == 'refs/heads/master'
|
if: github.ref == 'refs/heads/master'
|
||||||
shell: bash
|
|
||||||
run: |
|
run: |
|
||||||
git tag --force continuous-build ${GITHUB_SHA}
|
git tag --force continuous-build ${GITHUB_SHA}
|
||||||
git push --force --tags
|
git push --force --tags
|
||||||
|
135
.github/workflows/ci-macos.yml
vendored
Normal file
135
.github/workflows/ci-macos.yml
vendored
Normal file
@ -0,0 +1,135 @@
|
|||||||
|
name: CI-MacOS
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [ master ]
|
||||||
|
pull_request:
|
||||||
|
branches: [ master ]
|
||||||
|
|
||||||
|
# Allows you to run this workflow manually from the Actions tab.
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
env:
|
||||||
|
VNOTE_VER: 3.0.0
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-linux:
|
||||||
|
name: Build On MacOS
|
||||||
|
runs-on: macos-latest
|
||||||
|
timeout-minutes: 120
|
||||||
|
|
||||||
|
steps:
|
||||||
|
# Checks-out your repository under $GITHUB_WORKSPACE.
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
fetch-depth: 1
|
||||||
|
|
||||||
|
- name: Init Submodules
|
||||||
|
run: |
|
||||||
|
auth_header="$(git config --local --get http.https://github.com/.extraheader)"
|
||||||
|
git submodule sync --recursive
|
||||||
|
git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1
|
||||||
|
|
||||||
|
- name: Install Dependencies
|
||||||
|
run: |
|
||||||
|
brew install tree
|
||||||
|
|
||||||
|
- name: Install macdeployqtfix
|
||||||
|
run: |
|
||||||
|
git clone https://github.com/tamlok/macdeployqtfix.git macdeployqtfix --depth=1
|
||||||
|
working-directory: ${{runner.workspace}}
|
||||||
|
|
||||||
|
- name: Install Qt
|
||||||
|
uses: jurplel/install-qt-action@v2
|
||||||
|
with:
|
||||||
|
version: 5.12.10
|
||||||
|
target: desktop
|
||||||
|
modules: qtwebchannel qtwebengine qtsvg qtlocation qttools qttranslations
|
||||||
|
|
||||||
|
- name: Create Build Dir
|
||||||
|
run: mkdir build
|
||||||
|
working-directory: ${{runner.workspace}}
|
||||||
|
|
||||||
|
- name: Configure Project
|
||||||
|
run: |
|
||||||
|
qmake -v
|
||||||
|
qmake CONFIG+=release ${GITHUB_WORKSPACE}/vnote.pro
|
||||||
|
working-directory: ${{runner.workspace}}/build
|
||||||
|
|
||||||
|
- name: Build Project
|
||||||
|
run: make -j4
|
||||||
|
working-directory: ${{runner.workspace}}/build
|
||||||
|
|
||||||
|
- name: Deploy VSyntaxHighlighting Framework
|
||||||
|
run: |
|
||||||
|
my_lib_name=VSyntaxHighlighting
|
||||||
|
my_lib_framework=${my_lib_name}.framework
|
||||||
|
my_lib_dir=./libs/vtextedit/src/libs/syntax-highlighting
|
||||||
|
frameworks_dir=./src/vnote.app/Contents/Frameworks
|
||||||
|
mkdir -p ${frameworks_dir}
|
||||||
|
cp -R ${my_lib_dir}/${my_lib_framework} ${frameworks_dir}
|
||||||
|
working-directory: ${{runner.workspace}}/build
|
||||||
|
|
||||||
|
- name: Deploy VTextEdit Framework
|
||||||
|
run: |
|
||||||
|
my_lib_name=VTextEdit
|
||||||
|
my_lib_framework=${my_lib_name}.framework
|
||||||
|
my_lib_dir=./libs/vtextedit/src/editor
|
||||||
|
frameworks_dir=./src/vnote.app/Contents/Frameworks
|
||||||
|
mkdir -p ${frameworks_dir}
|
||||||
|
cp -R ${my_lib_dir}/${my_lib_framework} ${frameworks_dir}
|
||||||
|
working-directory: ${{runner.workspace}}/build
|
||||||
|
|
||||||
|
- name: Cleanup rpath
|
||||||
|
run: |
|
||||||
|
app_target=./src/vnote.app/Contents/MacOS/vnote
|
||||||
|
install_name_tool -delete_rpath ${PWD}/src/../libs/vtextedit/src/editor ${app_target}
|
||||||
|
install_name_tool -delete_rpath ${PWD}/src/../libs/vtextedit/src/libs/syntax-highlighting ${app_target}
|
||||||
|
working-directory: ${{runner.workspace}}/build
|
||||||
|
|
||||||
|
- name: Mac Deploy
|
||||||
|
run: |
|
||||||
|
pushd src
|
||||||
|
sed -i -e 's/com.yourcompany.vnote/com.vnotex.vnote/g' vnote.app/Contents/Info.plist
|
||||||
|
macdeployqt vnote.app
|
||||||
|
python ${{runner.workspace}}/macdeployqtfix/macdeployqtfix.py vnote.app/Contents/MacOS/vnote $Qt5_Dir
|
||||||
|
# Fix Helpers/QtWebEngineProcess.app
|
||||||
|
pushd vnote.app/Contents/Frameworks/QtWebEngineCore.framework/Versions/5/Helpers
|
||||||
|
macdeployqt QtWebEngineProcess.app
|
||||||
|
python ${{runner.workspace}}/macdeployqtfix/macdeployqtfix.py QtWebEngineProcess.app/Contents/MacOS/QtWebEngineProcess $Qt5_Dir
|
||||||
|
popd
|
||||||
|
popd
|
||||||
|
tree ./
|
||||||
|
working-directory: ${{runner.workspace}}/build
|
||||||
|
|
||||||
|
- name: Package Project
|
||||||
|
run: |
|
||||||
|
mkdir -p distrib/vnote
|
||||||
|
pushd distrib/vnote
|
||||||
|
mv ../../src/vnote.app ./
|
||||||
|
ln -s /Applications ./Applications
|
||||||
|
popd
|
||||||
|
hdiutil create -srcfolder ./distrib/vnote -format UDBZ ./vnote-mac-x64_v${{env.VNOTE_VER}}.dmg
|
||||||
|
cp vnote-mac-x64_v${{env.VNOTE_VER}}.dmg vnote-mac-x64.dmg
|
||||||
|
working-directory: ${{runner.workspace}}/build
|
||||||
|
|
||||||
|
- name: Archive Artifacts
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: vnote-mac-x64_v${{env.VNOTE_VER}}
|
||||||
|
path: ${{runner.workspace}}/build/vnote-mac-x64_v${{env.VNOTE_VER}}.dmg
|
||||||
|
|
||||||
|
- name: Update Tag
|
||||||
|
if: github.ref == 'refs/heads/master'
|
||||||
|
run: |
|
||||||
|
git tag --force continuous-build ${GITHUB_SHA}
|
||||||
|
git push --force --tags
|
||||||
|
|
||||||
|
- name: Update Continuous Build Release
|
||||||
|
if: github.ref == 'refs/heads/master'
|
||||||
|
uses: johnwbyrd/update-release@v1.0.0
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
files: ${{runner.workspace}}/build/vnote-mac-x64.dmg
|
||||||
|
release: Continuous Build
|
||||||
|
tag: continuous-build
|
@ -1 +1 @@
|
|||||||
Subproject commit 41a66c75f6d9943b564d61e5c06e7051d1399af7
|
Subproject commit 85585710ce04eaa01ec82d7d7dc4c82fed0dde41
|
27
src/src.pro
27
src/src.pro
@ -34,6 +34,8 @@ include($$LIBS_FOLDER/vtitlebar/vtitlebar_export.pri)
|
|||||||
|
|
||||||
include($$LIBS_FOLDER/vtextedit/src/editor/editor_export.pri)
|
include($$LIBS_FOLDER/vtextedit/src/editor/editor_export.pri)
|
||||||
|
|
||||||
|
include($$LIBS_FOLDER/vtextedit/src/libs/syntax-highlighting/syntax-highlighting_export.pri)
|
||||||
|
|
||||||
include($$PWD/utils/utils.pri)
|
include($$PWD/utils/utils.pri)
|
||||||
|
|
||||||
include($$PWD/core/core.pri)
|
include($$PWD/core/core.pri)
|
||||||
@ -59,6 +61,31 @@ QMAKE_EXTRA_COMPILERS += rcc_binary
|
|||||||
|
|
||||||
OTHER_FILES += $$RCC_BINARY_SOURCES
|
OTHER_FILES += $$RCC_BINARY_SOURCES
|
||||||
|
|
||||||
|
macx {
|
||||||
|
# Process VTextEdit framework
|
||||||
|
vte_lib_name = VTextEdit
|
||||||
|
vte_lib_dir = $${OUT_PWD}/../libs/vtextedit/src/editor
|
||||||
|
vte_lib_full_name = $${vte_lib_name}.framework/Versions/1/$${vte_lib_name}
|
||||||
|
app_bundle_dir = $${TARGET}.app/Contents/MacOS
|
||||||
|
app_target = $${app_bundle_dir}/$${TARGET}
|
||||||
|
QMAKE_POST_LINK += \
|
||||||
|
install_name_tool -add_rpath $${vte_lib_dir} $${app_target} && \
|
||||||
|
install_name_tool -change $${vte_lib_full_name} @rpath/$${vte_lib_full_name} $${app_target} &&
|
||||||
|
|
||||||
|
# Process VSyntaxHighlighting framework
|
||||||
|
sh_lib_name = VSyntaxHighlighting
|
||||||
|
sh_lib_dir = $${OUT_PWD}/../libs/vtextedit/src/libs/syntax-highlighting
|
||||||
|
sh_lib_full_name = $${sh_lib_name}.framework/Versions/1/$${sh_lib_name}
|
||||||
|
QMAKE_POST_LINK += \
|
||||||
|
install_name_tool -add_rpath $${sh_lib_dir} $${app_target} && \
|
||||||
|
install_name_tool -change $${sh_lib_full_name} @rpath/$${sh_lib_full_name} $${app_target}
|
||||||
|
|
||||||
|
# Move vnote_extra.rcc to the bundle.
|
||||||
|
BUNDLE_EXTRA_RCC.files = $${SRC_DESTDIR}/vnote_extra.rcc
|
||||||
|
BUNDLE_EXTRA_RCC.path = Contents/MacOS
|
||||||
|
QMAKE_BUNDLE_DATA += BUNDLE_EXTRA_RCC
|
||||||
|
}
|
||||||
|
|
||||||
## INSTALLS
|
## INSTALLS
|
||||||
unix:!macx {
|
unix:!macx {
|
||||||
isEmpty(PREFIX): PREFIX = /usr
|
isEmpty(PREFIX): PREFIX = /usr
|
||||||
|
@ -9,9 +9,13 @@ CORE_FOLDER = $$SRC_FOLDER/core
|
|||||||
INCLUDEPATH *= $$SRC_FOLDER
|
INCLUDEPATH *= $$SRC_FOLDER
|
||||||
|
|
||||||
LIBS_FOLDER = $$PWD/../../../libs
|
LIBS_FOLDER = $$PWD/../../../libs
|
||||||
|
|
||||||
include($$LIBS_FOLDER/vtitlebar/vtitlebar_export.pri)
|
include($$LIBS_FOLDER/vtitlebar/vtitlebar_export.pri)
|
||||||
|
|
||||||
include($$LIBS_FOLDER/vtextedit/src/editor/editor_export.pri)
|
include($$LIBS_FOLDER/vtextedit/src/editor/editor_export.pri)
|
||||||
|
|
||||||
|
include($$LIBS_FOLDER/vtextedit/src/libs/syntax-highlighting/syntax-highlighting_export.pri)
|
||||||
|
|
||||||
include($$CORE_FOLDER/core.pri)
|
include($$CORE_FOLDER/core.pri)
|
||||||
include($$SRC_FOLDER/widgets/widgets.pri)
|
include($$SRC_FOLDER/widgets/widgets.pri)
|
||||||
include($$SRC_FOLDER/utils/utils.pri)
|
include($$SRC_FOLDER/utils/utils.pri)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user