mirror of
https://github.com/Chatterino/chatterino2.git
synced 2024-11-13 19:49:51 +01:00
Remove official support for QMake (#3839)
* delet chatterino.pro * Update documentation * Update Github Actions config * Update Cirrus CI config * Attempt to fix Cirrus CI * Add changelog entry * Delete tools/update_filelist.py It was a QMake-only script? Maybe will need revert + change to CMake or something? * fix? * Fuck this linter * Attempt to clean up build.yml a little * Add cmaake to install list, remove step for qmake PATH * Change list entries to always use 1. Sneaky unrelated change * These are no longer tests! * FUCK YOU PRETTIER * Make BUILDING_ON_LINUX.md simpler * Get rid of Jenkins * Get rid of travis * Remove dupes * Remove appveyor * Remove qmake from conanfile * Try removing explicit qmake path * Nothing uses the qt style plugins installer anymore * Update manual linux building instructions * Update freebsd compilation instructions with a copy paste from the linux instructions * Remove unused docker files * Remove linux breakpad build script as it's unused * Update changelog entry phrasing * Lint build markdown files * Change top changelog entry to not be confused as a link * Skip QtCreator conan setup if conan is disabled This reduces the amount of warnings & errors Windows users get with QtCreator * lint building on linux file Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
This commit is contained in:
parent
9aa15f1ff5
commit
044dd8a616
|
@ -14,7 +14,6 @@ script_path=$(readlink -f "$0")
|
||||||
script_dir=$(dirname "$script_path")
|
script_dir=$(dirname "$script_path")
|
||||||
chatterino_dir=$(dirname "$script_dir")
|
chatterino_dir=$(dirname "$script_dir")
|
||||||
|
|
||||||
qmake_path=$(command -v qmake)
|
|
||||||
|
|
||||||
echo "Running LDD on chatterino binary:"
|
echo "Running LDD on chatterino binary:"
|
||||||
ldd ./bin/chatterino
|
ldd ./bin/chatterino
|
||||||
|
@ -42,8 +41,7 @@ echo "Run LinuxDeployQT"
|
||||||
appdir/usr/share/applications/*.desktop \
|
appdir/usr/share/applications/*.desktop \
|
||||||
-no-translations \
|
-no-translations \
|
||||||
-bundle-non-qt-libs \
|
-bundle-non-qt-libs \
|
||||||
-unsupported-allow-new-glibc \
|
-unsupported-allow-new-glibc
|
||||||
-qmake="$qmake_path"
|
|
||||||
|
|
||||||
rm -rf appdir/home
|
rm -rf appdir/home
|
||||||
rm -f appdir/AppRun
|
rm -f appdir/AppRun
|
||||||
|
|
|
@ -1,6 +0,0 @@
|
||||||
git clone http://code.qt.io/qt/qtstyleplugins.git
|
|
||||||
cd qtstyleplugins
|
|
||||||
/opt/qt512/bin/qmake CONFIG+=release
|
|
||||||
make -j$(nproc)
|
|
||||||
sudo make install
|
|
||||||
cd -
|
|
|
@ -3,11 +3,11 @@ freebsd_instance:
|
||||||
|
|
||||||
task:
|
task:
|
||||||
install_script:
|
install_script:
|
||||||
- pkg install -y boost-libs git qt5-buildtools qt5-concurrent qt5-core qt5-multimedia qt5-qmake qt5-svg qtkeychain rapidjson
|
- pkg install -y boost-libs git qt5-buildtools qt5-concurrent qt5-core qt5-multimedia qt5-svg qtkeychain qt5-qmake cmake qt5-linguist
|
||||||
script: |
|
script: |
|
||||||
git submodule init
|
git submodule init
|
||||||
git submodule update
|
git submodule update
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
qmake-qt5 RAPIDJSON_SYSTEM=1 QMAKE_CC="cc" QMAKE_CXX="c++" QMAKE_LINK_C="cc" QMAKE_LINK_C_SHLIB="cc" QMAKE_LINK="c++" QMAKE_LINK_SHLIB="c++" QMAKE_CFLAGS="-O2 -pipe -fstack-protector-strong -fno-strict-aliasing " QMAKE_CXXFLAGS="-O2 -pipe -fstack-protector-strong -fno-strict-aliasing " QMAKE_LFLAGS="-fstack-protector-strong" QMAKE_LIBS="" QMAKE_CFLAGS_DEBUG="" QMAKE_CFLAGS_RELEASE="" QMAKE_CXXFLAGS_DEBUG="" QMAKE_CXXFLAGS_RELEASE="" PREFIX="/usr/local" CONFIG+="release" CONFIG-="debug separate_debug_info" -recursive ..
|
cmake CMAKE_C_COMPILER="cc" -DCMAKE_CXX_COMPILER="c++" -DCMAKE_C_FLAGS="-O2 -pipe -fstack-protector-strong -fno-strict-aliasing " -DCMAKE_CXX_FLAGS="-O2 -pipe -fstack-protector-strong -fno-strict-aliasing " -DLINK_OPTIONS="-fstack-protector-strong" -DCMAKE_INSTALL_PREFIX="/usr/local" -DCMAKE_BUILD_TYPE="release" ..
|
||||||
make -j $(getconf _NPROCESSORS_ONLN)
|
make -j $(getconf _NPROCESSORS_ONLN)
|
||||||
|
|
|
@ -1,22 +0,0 @@
|
||||||
FROM ubuntu:18.04
|
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
|
||||||
|
|
||||||
RUN apt-get update && \
|
|
||||||
apt-get -y install wget libdbus-1-dev qt5-default
|
|
||||||
|
|
||||||
RUN apt-get -y install libboost-dev libssl-dev libboost-system-dev libboost-filesystem-dev
|
|
||||||
RUN apt-get -y install libpulse-dev
|
|
||||||
|
|
||||||
WORKDIR /build
|
|
||||||
|
|
||||||
RUN wget --quiet http://download.qt.io/official_releases/qt/5.12/5.12.4/qt-opensource-linux-x64-5.12.4.run && chmod +x *qt*.run
|
|
||||||
ADD qt-installer-noninteractive.qs .
|
|
||||||
RUN ls -la
|
|
||||||
RUN ./qt-opensource-linux-x64-*.run --platform minimal --verbose --script qt-installer-noninteractive.qs
|
|
||||||
RUN qtchooser -install 5.12.4 ~/Qt/5.12.4/gcc_64/bin/qmake
|
|
||||||
ENV QT_SELECT=5.12.4
|
|
||||||
RUN qmake --version
|
|
||||||
|
|
||||||
CMD ["/bin/sh"]
|
|
||||||
ENTRYPOINT ["./tools/docker/build.sh"]
|
|
|
@ -1,81 +0,0 @@
|
||||||
// Emacs mode hint: -*- mode: JavaScript -*-
|
|
||||||
|
|
||||||
function Controller() {
|
|
||||||
installer.autoRejectMessageBoxes();
|
|
||||||
installer.installationFinished.connect(function() {
|
|
||||||
gui.clickButton(buttons.NextButton);
|
|
||||||
|
|
||||||
})
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
Controller.prototype.WelcomePageCallback = function() {
|
|
||||||
// click delay here because the next button is initially disabled for ~1 second
|
|
||||||
gui.clickButton(buttons.NextButton, 3000);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
Controller.prototype.CredentialsPageCallback = function() {
|
|
||||||
gui.clickButton(buttons.NextButton);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
Controller.prototype.IntroductionPageCallback = function() {
|
|
||||||
gui.clickButton(buttons.NextButton);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
Controller.prototype.TargetDirectoryPageCallback = function()
|
|
||||||
{
|
|
||||||
gui.currentPageWidget().TargetDirectoryLineEdit.setText(installer.value("HomeDir") + "/Qt");
|
|
||||||
gui.clickButton(buttons.NextButton);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
Controller.prototype.ComponentSelectionPageCallback = function() {
|
|
||||||
var widget = gui.currentPageWidget();
|
|
||||||
|
|
||||||
widget.deselectAll();
|
|
||||||
widget.selectComponent("qt.qt5.5124.gcc_64");
|
|
||||||
|
|
||||||
// widget.deselectComponent("qt.tools.qtcreator");
|
|
||||||
// widget.deselectComponent("qt.55.qt3d");
|
|
||||||
// widget.deselectComponent("qt.55.qtcanvas3d");
|
|
||||||
// widget.deselectComponent("qt.55.qtlocation");
|
|
||||||
// widget.deselectComponent("qt.55.qtquick1");
|
|
||||||
// widget.deselectComponent("qt.55.qtscript");
|
|
||||||
// widget.deselectComponent("qt.55.qtwebengine");
|
|
||||||
// widget.deselectComponent("qt.extras");
|
|
||||||
// widget.deselectComponent("qt.tools.doc");
|
|
||||||
// widget.deselectComponent("qt.tools.examples");
|
|
||||||
|
|
||||||
gui.clickButton(buttons.NextButton);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
Controller.prototype.LicenseAgreementPageCallback = function() {
|
|
||||||
gui.currentPageWidget().AcceptLicenseRadioButton.setChecked(true);
|
|
||||||
gui.clickButton(buttons.NextButton);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
Controller.prototype.StartMenuDirectoryPageCallback = function() {
|
|
||||||
gui.clickButton(buttons.NextButton);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
Controller.prototype.ReadyForInstallationPageCallback = function()
|
|
||||||
{
|
|
||||||
gui.clickButton(buttons.NextButton);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
Controller.prototype.FinishedPageCallback = function() {
|
|
||||||
var checkBoxForm = gui.currentPageWidget().LaunchQtCreatorCheckBoxForm;
|
|
||||||
if (checkBoxForm && checkBoxForm.launchQtCreatorCheckBox) {
|
|
||||||
checkBoxForm.launchQtCreatorCheckBox.checked = false;
|
|
||||||
|
|
||||||
}
|
|
||||||
gui.clickButton(buttons.FinishButton);
|
|
||||||
|
|
||||||
}
|
|
115
.github/workflows/build.yml
vendored
115
.github/workflows/build.yml
vendored
|
@ -19,12 +19,10 @@ jobs:
|
||||||
matrix:
|
matrix:
|
||||||
os: [windows-latest, ubuntu-latest, macos-latest]
|
os: [windows-latest, ubuntu-latest, macos-latest]
|
||||||
qt-version: [5.15.2, 5.12.12]
|
qt-version: [5.15.2, 5.12.12]
|
||||||
build-system: [qmake, cmake]
|
|
||||||
pch: [true]
|
pch: [true]
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
qt-version: 5.15.2
|
qt-version: 5.15.2
|
||||||
build-system: cmake
|
|
||||||
pch: false
|
pch: false
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
|
|
||||||
|
@ -84,21 +82,7 @@ jobs:
|
||||||
uses: ilammy/msvc-dev-cmd@v1.10.0
|
uses: ilammy/msvc-dev-cmd@v1.10.0
|
||||||
|
|
||||||
- name: Build (Windows)
|
- name: Build (Windows)
|
||||||
if: startsWith(matrix.os, 'windows') && matrix.build-system == 'qmake'
|
if: startsWith(matrix.os, 'windows')
|
||||||
run: |
|
|
||||||
mkdir build
|
|
||||||
cd build
|
|
||||||
conan install .. -b missing
|
|
||||||
qmake ..
|
|
||||||
set cl=/MP
|
|
||||||
nmake /S /NOLOGO
|
|
||||||
windeployqt release/chatterino.exe --release --no-compiler-runtime --no-translations --no-opengl-sw --dir Chatterino2/
|
|
||||||
cp release/chatterino.exe Chatterino2/
|
|
||||||
echo nightly > Chatterino2/modes
|
|
||||||
7z a chatterino-windows-x86-64.zip Chatterino2/
|
|
||||||
|
|
||||||
- name: Build with CMake (Windows)
|
|
||||||
if: startsWith(matrix.os, 'windows') && matrix.build-system == 'cmake'
|
|
||||||
run: |
|
run: |
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
|
@ -115,7 +99,7 @@ jobs:
|
||||||
if: startsWith(matrix.os, 'windows')
|
if: startsWith(matrix.os, 'windows')
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: chatterino-windows-x86-64-${{ matrix.qt-version }}-${{ matrix.build-system }}.zip
|
name: chatterino-windows-x86-64-${{ matrix.qt-version }}.zip
|
||||||
path: build/chatterino-windows-x86-64.zip
|
path: build/chatterino-windows-x86-64.zip
|
||||||
|
|
||||||
- name: Clean Conan pkgs
|
- name: Clean Conan pkgs
|
||||||
|
@ -149,16 +133,7 @@ jobs:
|
||||||
libxcb-xinerama0
|
libxcb-xinerama0
|
||||||
|
|
||||||
- name: Build (Ubuntu)
|
- name: Build (Ubuntu)
|
||||||
if: startsWith(matrix.os, 'ubuntu') && matrix.build-system == 'qmake'
|
if: startsWith(matrix.os, 'ubuntu')
|
||||||
run: |
|
|
||||||
mkdir build
|
|
||||||
cd build
|
|
||||||
qmake PREFIX=/usr ..
|
|
||||||
make -j$(nproc)
|
|
||||||
shell: bash
|
|
||||||
|
|
||||||
- name: Build with CMake (Ubuntu)
|
|
||||||
if: startsWith(matrix.os, 'ubuntu') && matrix.build-system == 'cmake'
|
|
||||||
run: |
|
run: |
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
|
@ -189,14 +164,14 @@ jobs:
|
||||||
if: startsWith(matrix.os, 'ubuntu')
|
if: startsWith(matrix.os, 'ubuntu')
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: Chatterino-x86_64-${{ matrix.qt-version }}-${{ matrix.build-system }}.AppImage
|
name: Chatterino-x86_64-${{ matrix.qt-version }}.AppImage
|
||||||
path: build/Chatterino-x86_64.AppImage
|
path: build/Chatterino-x86_64.AppImage
|
||||||
|
|
||||||
- name: Upload artifact - .deb (Ubuntu)
|
- name: Upload artifact - .deb (Ubuntu)
|
||||||
if: startsWith(matrix.os, 'ubuntu')
|
if: startsWith(matrix.os, 'ubuntu')
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: Chatterino-${{ matrix.qt-version }}-${{ matrix.build-system }}.deb
|
name: Chatterino-${{ matrix.qt-version }}.deb
|
||||||
path: build/Chatterino.deb
|
path: build/Chatterino.deb
|
||||||
|
|
||||||
# MACOS
|
# MACOS
|
||||||
|
@ -207,16 +182,7 @@ jobs:
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
- name: Build (MacOS)
|
- name: Build (MacOS)
|
||||||
if: startsWith(matrix.os, 'macos') && matrix.build-system == 'qmake'
|
if: startsWith(matrix.os, 'macos')
|
||||||
run: |
|
|
||||||
mkdir build
|
|
||||||
cd build
|
|
||||||
$Qt5_DIR/bin/qmake .. DEFINES+=$dateOfBuild
|
|
||||||
make -j$(sysctl -n hw.logicalcpu)
|
|
||||||
shell: bash
|
|
||||||
|
|
||||||
- name: Build with CMake (MacOS)
|
|
||||||
if: startsWith(matrix.os, 'macos') && matrix.build-system == 'cmake'
|
|
||||||
run: |
|
run: |
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
|
@ -242,7 +208,7 @@ jobs:
|
||||||
if: startsWith(matrix.os, 'macos')
|
if: startsWith(matrix.os, 'macos')
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: chatterino-osx-${{ matrix.qt-version }}-${{ matrix.build-system }}.dmg
|
name: chatterino-osx-${{ matrix.qt-version }}.dmg
|
||||||
path: build/chatterino-osx.dmg
|
path: build/chatterino-osx.dmg
|
||||||
|
|
||||||
create-release:
|
create-release:
|
||||||
|
@ -266,44 +232,24 @@ jobs:
|
||||||
|
|
||||||
- uses: actions/download-artifact@v3
|
- uses: actions/download-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: chatterino-windows-x86-64-5.15.2-qmake.zip
|
name: chatterino-windows-x86-64-5.15.2.zip
|
||||||
path: windows/
|
path: windows/
|
||||||
|
|
||||||
- uses: actions/download-artifact@v3
|
- uses: actions/download-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: chatterino-windows-x86-64-5.15.2-cmake.zip
|
name: Chatterino-x86_64-5.15.2.AppImage
|
||||||
path: windows-cmake/
|
|
||||||
|
|
||||||
- uses: actions/download-artifact@v3
|
|
||||||
with:
|
|
||||||
name: Chatterino-x86_64-5.15.2-qmake.AppImage
|
|
||||||
path: linux/
|
path: linux/
|
||||||
|
|
||||||
- uses: actions/download-artifact@v3
|
- uses: actions/download-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: Chatterino-x86_64-5.15.2-cmake.AppImage
|
name: Chatterino-5.15.2.deb
|
||||||
path: linux-cmake/
|
|
||||||
|
|
||||||
- uses: actions/download-artifact@v3
|
|
||||||
with:
|
|
||||||
name: Chatterino-5.15.2-qmake.deb
|
|
||||||
path: ubuntu/
|
path: ubuntu/
|
||||||
|
|
||||||
- uses: actions/download-artifact@v3
|
- uses: actions/download-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: Chatterino-5.15.2-cmake.deb
|
name: chatterino-osx-5.15.2.dmg
|
||||||
path: ubuntu-cmake/
|
|
||||||
|
|
||||||
- uses: actions/download-artifact@v3
|
|
||||||
with:
|
|
||||||
name: chatterino-osx-5.15.2-qmake.dmg
|
|
||||||
path: macos/
|
path: macos/
|
||||||
|
|
||||||
- uses: actions/download-artifact@v3
|
|
||||||
with:
|
|
||||||
name: chatterino-osx-5.15.2-cmake.dmg
|
|
||||||
path: macos-cmake/
|
|
||||||
|
|
||||||
# TODO: Extract dmg and appimage
|
# TODO: Extract dmg and appimage
|
||||||
|
|
||||||
# - name: Read upload URL into output
|
# - name: Read upload URL into output
|
||||||
|
@ -321,16 +267,6 @@ jobs:
|
||||||
asset_name: chatterino-windows-x86-64.zip
|
asset_name: chatterino-windows-x86-64.zip
|
||||||
asset_content_type: application/zip
|
asset_content_type: application/zip
|
||||||
|
|
||||||
- name: Upload release asset (Windows) CMake
|
|
||||||
uses: actions/upload-release-asset@v1.0.2
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
with:
|
|
||||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
|
||||||
asset_path: ./windows-cmake/chatterino-windows-x86-64.zip
|
|
||||||
asset_name: test-cmake-chatterino-windows-x86-64.zip
|
|
||||||
asset_content_type: application/zip
|
|
||||||
|
|
||||||
- name: Upload release asset (Ubuntu)
|
- name: Upload release asset (Ubuntu)
|
||||||
uses: actions/upload-release-asset@v1.0.2
|
uses: actions/upload-release-asset@v1.0.2
|
||||||
env:
|
env:
|
||||||
|
@ -341,16 +277,6 @@ jobs:
|
||||||
asset_name: Chatterino-x86_64.AppImage
|
asset_name: Chatterino-x86_64.AppImage
|
||||||
asset_content_type: application/x-executable
|
asset_content_type: application/x-executable
|
||||||
|
|
||||||
- name: Upload release asset (Ubuntu) CMake
|
|
||||||
uses: actions/upload-release-asset@v1.0.2
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
with:
|
|
||||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
|
||||||
asset_path: ./linux-cmake/Chatterino-x86_64.AppImage
|
|
||||||
asset_name: test-cmake-Chatterino-x86_64.AppImage
|
|
||||||
asset_content_type: application/x-executable
|
|
||||||
|
|
||||||
- name: Upload release asset (Ubuntu .deb)
|
- name: Upload release asset (Ubuntu .deb)
|
||||||
uses: actions/upload-release-asset@v1.0.2
|
uses: actions/upload-release-asset@v1.0.2
|
||||||
env:
|
env:
|
||||||
|
@ -361,16 +287,6 @@ jobs:
|
||||||
asset_name: Chatterino-x86_64.deb
|
asset_name: Chatterino-x86_64.deb
|
||||||
asset_content_type: application/vnd.debian.binary-package
|
asset_content_type: application/vnd.debian.binary-package
|
||||||
|
|
||||||
- name: Upload release asset (Ubuntu .deb) CMake
|
|
||||||
uses: actions/upload-release-asset@v1.0.2
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
with:
|
|
||||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
|
||||||
asset_path: ./ubuntu-cmake/Chatterino.deb
|
|
||||||
asset_name: test-cmake-Chatterino-x86_64.deb
|
|
||||||
asset_content_type: application/vnd.debian.binary-package
|
|
||||||
|
|
||||||
- name: Upload release asset (MacOS)
|
- name: Upload release asset (MacOS)
|
||||||
uses: actions/upload-release-asset@v1.0.2
|
uses: actions/upload-release-asset@v1.0.2
|
||||||
env:
|
env:
|
||||||
|
@ -381,12 +297,3 @@ jobs:
|
||||||
asset_name: chatterino-osx.dmg
|
asset_name: chatterino-osx.dmg
|
||||||
asset_content_type: application/x-bzip2
|
asset_content_type: application/x-bzip2
|
||||||
|
|
||||||
- name: Upload release asset (MacOS) CMake
|
|
||||||
uses: actions/upload-release-asset@v1.0.2
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
with:
|
|
||||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
|
||||||
asset_path: ./macos-cmake/chatterino-osx.dmg
|
|
||||||
asset_name: test-cmake-chatterino-osx.dmg
|
|
||||||
asset_content_type: application/x-bzip2
|
|
||||||
|
|
|
@ -9,8 +9,17 @@ high that this also works on older FreeBSD releases, architectures and
|
||||||
FreeBSD 13.0-CURRENT.
|
FreeBSD 13.0-CURRENT.
|
||||||
|
|
||||||
1. Install build dependencies from package sources (or build from the
|
1. Install build dependencies from package sources (or build from the
|
||||||
ports tree): `# pkg install qt5-core qt5-multimedia qt5-svg qt5-qmake qt5-buildtools gstreamer-plugins-good boost-libs rapidjson`
|
ports tree): `# pkg install qt5-core qt5-multimedia qt5-svg qt5-buildtools gstreamer-plugins-good boost-libs rapidjson cmake`
|
||||||
1. Go into the project directory
|
1. In the project directory, create a build directory and enter it
|
||||||
1. Create a build folder and go into it (`mkdir build && cd build`)
|
```sh
|
||||||
1. Proceed to compiling using the command
|
mkdir build
|
||||||
`qmake .. && make`
|
cd build
|
||||||
|
```
|
||||||
|
1. Generate build files
|
||||||
|
```sh
|
||||||
|
cmake ..
|
||||||
|
```
|
||||||
|
1. Build the project
|
||||||
|
```sh
|
||||||
|
make
|
||||||
|
```
|
||||||
|
|
|
@ -2,80 +2,49 @@
|
||||||
|
|
||||||
Note on Qt version compatibility: If you are installing Qt from a package manager, please ensure the version you are installing is at least **Qt 5.12 or newer**.
|
Note on Qt version compatibility: If you are installing Qt from a package manager, please ensure the version you are installing is at least **Qt 5.12 or newer**.
|
||||||
|
|
||||||
## Ubuntu 20.04
|
## Install dependencies
|
||||||
|
|
||||||
|
### Ubuntu 20.04
|
||||||
|
|
||||||
_Most likely works the same for other Debian-like distros_
|
_Most likely works the same for other Debian-like distros_
|
||||||
|
|
||||||
1. Install all of the dependencies using `sudo apt install qttools5-dev qtmultimedia5-dev libqt5svg5-dev libboost-dev libssl-dev libboost-system-dev libboost-filesystem-dev cmake g++`
|
Install all of the dependencies using `sudo apt install qttools5-dev qtmultimedia5-dev libqt5svg5-dev libboost-dev libssl-dev libboost-system-dev libboost-filesystem-dev cmake g++`
|
||||||
|
|
||||||
### Compiling through Qt Creator
|
### Arch Linux
|
||||||
|
|
||||||
1. Install C++ IDE Qt Creator by using `sudo apt install qtcreator`
|
Install all of the dependencies using `sudo pacman -S --needed qt5-base qt5-multimedia qt5-svg qt5-tools gst-plugins-ugly gst-plugins-good boost rapidjson pkgconf openssl cmake`
|
||||||
1. Open `chatterino.pro` with Qt Creator and select build
|
|
||||||
|
|
||||||
### Manually
|
Alternatively you can use the [chatterino2-git](https://aur.archlinux.org/packages/chatterino2-git/) package to build and install Chatterino for you.
|
||||||
|
|
||||||
1. Go into the project directory
|
### Fedora 28 and above
|
||||||
1. Create a build folder and go into it (`mkdir build && cd build`)
|
|
||||||
1. Use one of the options below to compile it
|
|
||||||
|
|
||||||
### Using CMake
|
|
||||||
|
|
||||||
`cmake .. && make`
|
|
||||||
|
|
||||||
### Using QMake
|
|
||||||
|
|
||||||
`qmake .. && make`
|
|
||||||
|
|
||||||
## Arch Linux
|
|
||||||
|
|
||||||
### Through AUR
|
|
||||||
|
|
||||||
- [chatterino2-git](https://aur.archlinux.org/packages/chatterino2-git/)
|
|
||||||
|
|
||||||
### Manually
|
|
||||||
|
|
||||||
1. Install all of the dependencies using `sudo pacman -S --needed qt5-base qt5-multimedia qt5-svg qt5-tools gst-plugins-ugly gst-plugins-good boost rapidjson pkgconf openssl cmake`
|
|
||||||
1. Go into the project directory
|
|
||||||
1. Create a build folder and go into it (`mkdir build && cd build`)
|
|
||||||
1. Use one of the options below to compile it
|
|
||||||
|
|
||||||
### Using CMake
|
|
||||||
|
|
||||||
`cmake .. && make`
|
|
||||||
|
|
||||||
### Using QMake
|
|
||||||
|
|
||||||
`qmake .. && make`
|
|
||||||
|
|
||||||
## Fedora 28 and above
|
|
||||||
|
|
||||||
_Most likely works the same for other Red Hat-like distros. Substitute `dnf` with `yum`._
|
_Most likely works the same for other Red Hat-like distros. Substitute `dnf` with `yum`._
|
||||||
|
|
||||||
1. Install all of the dependencies using `sudo dnf install qt5-qtbase-devel qt5-qtmultimedia-devel qt5-qtsvg-devel qt5-linguist libsecret-devel openssl-devel boost-devel cmake`
|
Install all of the dependencies using `sudo dnf install qt5-qtbase-devel qt5-qtmultimedia-devel qt5-qtsvg-devel qt5-linguist libsecret-devel openssl-devel boost-devel cmake`
|
||||||
1. Go into the project directory
|
|
||||||
1. Create a build folder and go into it (`mkdir build && cd build`)
|
|
||||||
1. Use one of the options below to compile it
|
|
||||||
|
|
||||||
### Using CMake
|
### NixOS 18.09+
|
||||||
|
|
||||||
`cmake .. && make -j$(nproc)`
|
Enter the development environment with all of the dependencies: `nix-shell -p openssl boost qt5.full pkg-config cmake`
|
||||||
|
|
||||||
### Using QMake
|
## Compile
|
||||||
|
|
||||||
`qmake-qt5 .. && make -j$(nproc)`
|
### Through Qt Creator
|
||||||
|
|
||||||
## NixOS 18.09+
|
1. Install C++ IDE Qt Creator by using `sudo apt install qtcreator`
|
||||||
|
1. Open `CMakeLists.txt` with Qt Creator and select build
|
||||||
|
|
||||||
1. Enter the development environment with all of the dependencies: `nix-shell -p openssl boost qt5.full pkg-config cmake`
|
## Manually
|
||||||
1. Go into the project directory
|
|
||||||
1. Create a build folder and go into it (`mkdir build && cd build`)
|
|
||||||
1. Use one of the options below to compile it
|
|
||||||
|
|
||||||
### Using CMake
|
1. In the project directory, create a build directory and enter it
|
||||||
|
```sh
|
||||||
`cmake .. && make`
|
mkdir build
|
||||||
|
cd build
|
||||||
### Using QMake
|
```
|
||||||
|
1. Generate build files
|
||||||
`qmake .. && make`
|
```sh
|
||||||
|
cmake ..
|
||||||
|
```
|
||||||
|
1. Build the project
|
||||||
|
```sh
|
||||||
|
make
|
||||||
|
```
|
||||||
|
|
|
@ -1,21 +1,18 @@
|
||||||
# Building on macOS
|
# Building on macOS
|
||||||
|
|
||||||
#### Note - If you want to develop Chatterino 2 you might also want to install Qt Creator (make sure to install **Qt 5.12 or newer**), it is not required though and any C++ IDE (might require additional setup for cmake to find Qt libraries) or a normal text editor + running qmake/cmake from terminal should work as well
|
#### Note - If you want to develop Chatterino 2 you might also want to install Qt Creator (make sure to install **Qt 5.12 or newer**), it is not required though and any C++ IDE (might require additional setup for cmake to find Qt libraries) or a normal text editor + running cmake from terminal should work as well
|
||||||
|
|
||||||
#### Note - Chatterino 2 is only tested on macOS 10.14 and above - anything below that is considered unsupported. It may or may not work on earlier versions
|
#### Note - Chatterino 2 is only tested on macOS 10.14 and above - anything below that is considered unsupported. It may or may not work on earlier versions
|
||||||
|
|
||||||
1. Install Xcode and Xcode Command Line Utilities
|
1. Install Xcode and Xcode Command Line Utilities
|
||||||
2. Start Xcode, go into Settings -> Locations, and activate your Command Line Tools
|
1. Start Xcode, go into Settings -> Locations, and activate your Command Line Tools
|
||||||
3. Install brew https://brew.sh/
|
1. Install brew https://brew.sh/
|
||||||
4. Install the dependencies using `brew install boost openssl rapidjson`
|
1. Install the dependencies using `brew install boost openssl rapidjson cmake`
|
||||||
5. Install Qt5 using `brew install qt@5`
|
1. Install Qt5 using `brew install qt@5`
|
||||||
6. Step 5 should output some directions to add Qt to your path, you will need to do this for qmake
|
1. (_OPTIONAL_) Install [ccache](https://ccache.dev) (used to speed up compilation by using cached results from previous builds) using `brew install ccache`
|
||||||
7. (_OPTIONAL_) Install [ccache](https://ccache.dev) (used to speed up compilation by using cached results from previous builds) using `brew install ccache`
|
1. Go into the project directory
|
||||||
8. Go into the project directory
|
1. Create a build folder and go into it (`mkdir build && cd build`)
|
||||||
9. Create a build folder and go into it (`mkdir build && cd build`)
|
1. Compile using `cmake .. && make`
|
||||||
10. Compile using `qmake .. && make`
|
|
||||||
|
|
||||||
_If you want to use cmake instead of qmake, just replace the above qmake command with cmake_
|
|
||||||
|
|
||||||
If the Project does not build at this point, you might need to add additional Paths/Libs, because brew does not install openssl and boost in the common path. You can get their path using
|
If the Project does not build at this point, you might need to add additional Paths/Libs, because brew does not install openssl and boost in the common path. You can get their path using
|
||||||
|
|
||||||
|
|
|
@ -83,7 +83,7 @@ Compiling with Breakpad support enables crash reports that can be of use for dev
|
||||||
|
|
||||||
## Run the build in Qt Creator
|
## Run the build in Qt Creator
|
||||||
|
|
||||||
1. Open the `chatterino.pro` file by double-clicking it, or by opening it via Qt Creator.
|
1. Open the `CMakeLists.txt` file by double-clicking it, or by opening it via Qt Creator.
|
||||||
2. You will be presented with a screen that is titled "Configure Project". In this screen, you should have at least one option present ready to be configured, like this:
|
2. You will be presented with a screen that is titled "Configure Project". In this screen, you should have at least one option present ready to be configured, like this:
|
||||||
![Qt Create Configure Project screenshot](https://user-images.githubusercontent.com/69117321/169887645-2ae0871a-fe8a-4eb9-98db-7b996dea3a54.png)
|
![Qt Create Configure Project screenshot](https://user-images.githubusercontent.com/69117321/169887645-2ae0871a-fe8a-4eb9-98db-7b996dea3a54.png)
|
||||||
3. Select the profile(s) you want to build with and click "Configure Project".
|
3. Select the profile(s) you want to build with and click "Configure Project".
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
## Unversioned
|
## Unversioned
|
||||||
|
|
||||||
- Major: Added multi-channel searching to search dialog via keyboard shortcut. [Ctrl+Shift+F by default] (#3694)
|
- Major: Added multi-channel searching to search dialog via keyboard shortcut. (Ctrl+Shift+F by default) (#3694)
|
||||||
- Minor: Added `is:first-msg` search option. (#3700)
|
- Minor: Added `is:first-msg` search option. (#3700)
|
||||||
- Minor: Added quotation marks in the permitted/blocked Automod messages for clarity. (#3654)
|
- Minor: Added quotation marks in the permitted/blocked Automod messages for clarity. (#3654)
|
||||||
- Minor: Added a `Scroll to top` keyboard shortcut for splits. (#3802)
|
- Minor: Added a `Scroll to top` keyboard shortcut for splits. (#3802)
|
||||||
|
@ -42,6 +42,7 @@
|
||||||
- Bugfix: Adopt popup windows in order to force floating behavior on some window managers. (#3836)
|
- Bugfix: Adopt popup windows in order to force floating behavior on some window managers. (#3836)
|
||||||
- Bugfix: Fix split focusing being broken in certain circumstances when the "Show input when it's empty" setting was disabled. (#3838)
|
- Bugfix: Fix split focusing being broken in certain circumstances when the "Show input when it's empty" setting was disabled. (#3838)
|
||||||
- Bugfix: Always refresh tab when a contained split's channel is set. (#3849)
|
- Bugfix: Always refresh tab when a contained split's channel is set. (#3849)
|
||||||
|
- Dev: Remove official support for QMake. (#3839)
|
||||||
- Dev: Rewrite LimitedQueue (#3798)
|
- Dev: Rewrite LimitedQueue (#3798)
|
||||||
- Dev: Overhaul highlight system by moving all checks into a Controller allowing for easier tests. (#3399, #3801, #3835)
|
- Dev: Overhaul highlight system by moving all checks into a Controller allowing for easier tests. (#3399, #3801, #3835)
|
||||||
- Dev: Use Game Name returned by Get Streams instead of querying it from the Get Games API. (#3662)
|
- Dev: Use Game Name returned by Get Streams instead of querying it from the Get Games API. (#3662)
|
||||||
|
|
|
@ -30,6 +30,8 @@ endif()
|
||||||
if (USE_CONAN OR CONAN_EXPORTED)
|
if (USE_CONAN OR CONAN_EXPORTED)
|
||||||
include(${CMAKE_CURRENT_BINARY_DIR}/conanbuildinfo.cmake)
|
include(${CMAKE_CURRENT_BINARY_DIR}/conanbuildinfo.cmake)
|
||||||
conan_basic_setup(TARGETS NO_OUTPUT_DIRS)
|
conan_basic_setup(TARGETS NO_OUTPUT_DIRS)
|
||||||
|
else ()
|
||||||
|
set(QT_CREATOR_SKIP_CONAN_SETUP ON)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
find_program(CCACHE_PROGRAM ccache)
|
find_program(CCACHE_PROGRAM ccache)
|
||||||
|
|
20
Jenkinsfile
vendored
20
Jenkinsfile
vendored
|
@ -1,20 +0,0 @@
|
||||||
pipeline {
|
|
||||||
agent any
|
|
||||||
|
|
||||||
stages {
|
|
||||||
stage('Build') {
|
|
||||||
parallel {
|
|
||||||
stage('GCC') {
|
|
||||||
steps {
|
|
||||||
sh 'mkdir -p build-linux-gcc && cd build-linux-gcc && make distclean; qmake .. && make'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
stage('Clang') {
|
|
||||||
steps {
|
|
||||||
sh 'mkdir -p build-linux-clang && cd build-linux-clang && make distclean; qmake -spec linux-clang .. && make'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
98
_.travis.yml
98
_.travis.yml
|
@ -1,98 +0,0 @@
|
||||||
|
|
||||||
matrix:
|
|
||||||
include:
|
|
||||||
# gcc build
|
|
||||||
- os: linux
|
|
||||||
name: Linux Build (Bionic)
|
|
||||||
dist: bionic
|
|
||||||
language: cpp
|
|
||||||
addons:
|
|
||||||
apt:
|
|
||||||
sources:
|
|
||||||
- sourceline: 'ppa:beineri/opt-qt-5.12.3-bionic'
|
|
||||||
packages:
|
|
||||||
- qt512-meta-minimal
|
|
||||||
- qt512multimedia
|
|
||||||
- qt512svg
|
|
||||||
- libboost-dev
|
|
||||||
- libgl1-mesa-dev
|
|
||||||
- libboost-system-dev
|
|
||||||
- libboost-filesystem-dev
|
|
||||||
- libgtk2.0-dev
|
|
||||||
|
|
||||||
install:
|
|
||||||
- sh ./.CI/InstallQTStylePlugins.sh
|
|
||||||
|
|
||||||
script:
|
|
||||||
- dateOfBuild="CHATTERINO_NIGHTLY_VERSION_STRING=\"\\\"$(date +%d.%m.%Y)\\\"\""
|
|
||||||
- /opt/qt512/bin/qmake CONFIG+=release PREFIX=/usr DEFINES+=$dateOfBuild
|
|
||||||
- make -j$(nproc)
|
|
||||||
|
|
||||||
before_deploy:
|
|
||||||
- git config --global user.email "builds@travis-ci.com"
|
|
||||||
- git config --global user.name "Travis CI"
|
|
||||||
- export GIT_TAG=nightly-build
|
|
||||||
- export TRAVIS_TAG=nightly-build
|
|
||||||
- git tag $GIT_TAG -f
|
|
||||||
- sh ./.CI/CreateAppImage.sh
|
|
||||||
|
|
||||||
deploy:
|
|
||||||
skip_cleanup: true
|
|
||||||
overwrite: true
|
|
||||||
provider: releases
|
|
||||||
api_key:
|
|
||||||
secure: ZzS55wlwtLAVEBaDDMqiuqZwuTpvLbNnaNw0enfiqpjWT7hgbbp/SBw2rbYIkVqm7tBHCLnEzKto6p4Gz6ROo0gGACARmx7EwIloX18rMCuBWygNHRyVruDSlmEOLWRqYByDbUdCkKhYr9aegnkm7zhzCmSBCTW28/uVlxM2bTHIgqKEpB4k1W8OqKdJDxqZKeF4r7nDNSOx5ylhpiK+WNFK8yfiaF1SQlSwsdv9o1RkbJlew7iigvHvEM2kDMkiMWYlJ2khkUWVCVQDQGe4/ya5pgTIHDLu5sZuclp5zhgfDf1U3STvsbQWvxJfsmCId7IQHJ83OSFeoUf6y849i3GMqlNi3aXrxEx0fi0dILQ76/Sj246FPMA4kC0/W49uaxqD784wFuJDjSWeWwi/NPoJ/gz0mGZy+08BoztOGqqOKjJJdESBYTio71N8VcK09zQ0LjXRmX+g3BbrK6a2F3hiMKeuYwdaN2/KdMMoqFDau6L3fXLdpcHKdJC8K/yzJtyyIe0CRB2nj8sZLHfxDwoRm7gOTDXq1zPL7CP9cCwCnCR6nm3CqUW/CnSWuMKpSoQRlP5EBI7zzYT2/tZc/vat5nob7Xif6yFF9fh/VHx4tC6zsfkA1nPPN3+QpdVInRo7dCVxtTqey5FdVjSiv7n11TrFhZ7+Fr5x6CZqa58=
|
|
||||||
file: "Chatterino-x86_64.AppImage"
|
|
||||||
prerelease: true
|
|
||||||
on:
|
|
||||||
branch: master
|
|
||||||
|
|
||||||
- os: osx
|
|
||||||
osx_image: xcode11
|
|
||||||
name: xcode Build
|
|
||||||
compiler: clang
|
|
||||||
|
|
||||||
addons:
|
|
||||||
homebrew:
|
|
||||||
packages:
|
|
||||||
- boost
|
|
||||||
- openssl
|
|
||||||
- rapidjson
|
|
||||||
- qt
|
|
||||||
- p7zip
|
|
||||||
- create-dmg
|
|
||||||
|
|
||||||
script:
|
|
||||||
- mkdir build && cd build
|
|
||||||
- dateOfBuild="CHATTERINO_NIGHTLY_VERSION_STRING=\"\\\"$(date +%d.%m.%Y)\\\"\""
|
|
||||||
- /usr/local/opt/qt/bin/qmake .. DEFINES+=$dateOfBuild
|
|
||||||
- make -j8
|
|
||||||
- /usr/local/opt/qt/bin/macdeployqt chatterino.app -dmg
|
|
||||||
- mkdir app
|
|
||||||
- hdiutil attach chatterino.dmg
|
|
||||||
- cp -r /Volumes/chatterino/chatterino.app app/
|
|
||||||
- "create-dmg \
|
|
||||||
--volname Chatterino2 \
|
|
||||||
--volicon ../resources/chatterino.icns \
|
|
||||||
--icon-size 50 \
|
|
||||||
--app-drop-link 0 0 \
|
|
||||||
--format UDBZ \
|
|
||||||
chatterino-osx.dmg app/"
|
|
||||||
|
|
||||||
before_deploy:
|
|
||||||
- git config --global user.email "builds@travis-ci.com"
|
|
||||||
- git config --global user.name "Travis CI"
|
|
||||||
- export GIT_TAG=nightly-build
|
|
||||||
- export TRAVIS_TAG=nightly-build
|
|
||||||
- git tag $GIT_TAG -f
|
|
||||||
|
|
||||||
deploy:
|
|
||||||
skip_cleanup: true
|
|
||||||
overwrite: true
|
|
||||||
provider: releases
|
|
||||||
api_key:
|
|
||||||
secure: ZzS55wlwtLAVEBaDDMqiuqZwuTpvLbNnaNw0enfiqpjWT7hgbbp/SBw2rbYIkVqm7tBHCLnEzKto6p4Gz6ROo0gGACARmx7EwIloX18rMCuBWygNHRyVruDSlmEOLWRqYByDbUdCkKhYr9aegnkm7zhzCmSBCTW28/uVlxM2bTHIgqKEpB4k1W8OqKdJDxqZKeF4r7nDNSOx5ylhpiK+WNFK8yfiaF1SQlSwsdv9o1RkbJlew7iigvHvEM2kDMkiMWYlJ2khkUWVCVQDQGe4/ya5pgTIHDLu5sZuclp5zhgfDf1U3STvsbQWvxJfsmCId7IQHJ83OSFeoUf6y849i3GMqlNi3aXrxEx0fi0dILQ76/Sj246FPMA4kC0/W49uaxqD784wFuJDjSWeWwi/NPoJ/gz0mGZy+08BoztOGqqOKjJJdESBYTio71N8VcK09zQ0LjXRmX+g3BbrK6a2F3hiMKeuYwdaN2/KdMMoqFDau6L3fXLdpcHKdJC8K/yzJtyyIe0CRB2nj8sZLHfxDwoRm7gOTDXq1zPL7CP9cCwCnCR6nm3CqUW/CnSWuMKpSoQRlP5EBI7zzYT2/tZc/vat5nob7Xif6yFF9fh/VHx4tC6zsfkA1nPPN3+QpdVInRo7dCVxtTqey5FdVjSiv7n11TrFhZ7+Fr5x6CZqa58=
|
|
||||||
file: "chatterino-osx.dmg"
|
|
||||||
prerelease: true
|
|
||||||
on:
|
|
||||||
branch: master
|
|
65
appveyor.yml
65
appveyor.yml
|
@ -1,65 +0,0 @@
|
||||||
version: "{build}"
|
|
||||||
branches:
|
|
||||||
only:
|
|
||||||
- dont-automatically-build-appveyor
|
|
||||||
image: Visual Studio 2017
|
|
||||||
platform: Any CPU
|
|
||||||
clone_depth: 1
|
|
||||||
install:
|
|
||||||
- cmd: >-
|
|
||||||
choco source add -n=AFG -s="https://api.bintray.com/nuget/anotherfoxguy/choco-pkg"
|
|
||||||
|
|
||||||
choco install conan -y
|
|
||||||
|
|
||||||
refreshenv
|
|
||||||
|
|
||||||
conan user
|
|
||||||
|
|
||||||
git submodule update --init --recursive
|
|
||||||
|
|
||||||
set QTDIR=C:\Qt\5.13\msvc2017_64
|
|
||||||
|
|
||||||
set PATH=%PATH%;%QTDIR%\bin
|
|
||||||
|
|
||||||
call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" x64
|
|
||||||
build_script:
|
|
||||||
- cmd: >-
|
|
||||||
dir
|
|
||||||
|
|
||||||
mkdir build
|
|
||||||
|
|
||||||
cd build
|
|
||||||
|
|
||||||
conan install ..
|
|
||||||
|
|
||||||
set dateOfBuild=%date:~7,2%.%date:~4,2%.%date:~10,4%
|
|
||||||
|
|
||||||
qmake ../chatterino.pro DEFINES+="CHATTERINO_NIGHTLY_VERSION_STRING=\\\"'$s%dateOfBuild% '$$system(git describe --always)-$$system(git rev-list master --count)\\\""
|
|
||||||
|
|
||||||
set cl=/MP
|
|
||||||
|
|
||||||
nmake /S /NOLOGO
|
|
||||||
|
|
||||||
windeployqt release/chatterino.exe --release --no-compiler-runtime --no-translations --no-opengl-sw --dir Chatterino2/
|
|
||||||
|
|
||||||
cp release/chatterino.exe Chatterino2/
|
|
||||||
|
|
||||||
echo nightly > Chatterino2/modes
|
|
||||||
|
|
||||||
7z a chatterino-windows-x86-64.zip Chatterino2/
|
|
||||||
artifacts:
|
|
||||||
- path: build/chatterino-windows-x86-64.zip
|
|
||||||
name: chatterino
|
|
||||||
deploy:
|
|
||||||
- provider: GitHub
|
|
||||||
tag: nightly-build
|
|
||||||
release: nightly-build
|
|
||||||
description: 'nightly v$(appveyor_build_version) built 👉 $(APPVEYOR_REPO_COMMIT_TIMESTAMP) 👈\nLast change: $(APPVEYOR_REPO_COMMIT_MESSAGE) \n$(APPVEYOR_REPO_COMMIT_MESSAGE_EXTENDED)'
|
|
||||||
auth_token:
|
|
||||||
secure: sAJzAbiQSsYZLT+byDar9u61X0E9o35anaPMSFkOzdHeDFHjx1kW4cDP/4EEbxhx
|
|
||||||
repository: Chatterino/chatterino2
|
|
||||||
artifact: build/chatterino-windows-x86-64.zip
|
|
||||||
prerelease: true
|
|
||||||
force_update: true
|
|
||||||
on:
|
|
||||||
branch: master
|
|
699
chatterino.pro
699
chatterino.pro
|
@ -1,699 +0,0 @@
|
||||||
# Exposed build flags:
|
|
||||||
# from lib/websocketpp.pri
|
|
||||||
# - WEBSOCKETPP_PREFIX ($$PWD by default)
|
|
||||||
# - WEBSOCKETPP_SYSTEM (1 = true) (unix only)
|
|
||||||
# from lib/rapidjson.pri
|
|
||||||
# - RAPIDJSON_PREFIX ($$PWD by default)
|
|
||||||
# - RAPIDJSON_SYSTEM (1 = true) (Linux only, uses pkg-config)
|
|
||||||
# from lib/boost.pri
|
|
||||||
# - BOOST_DIRECTORY (C:\local\boost\ by default) (Windows only)
|
|
||||||
|
|
||||||
CCACHE_BIN = $$system(which ccache)
|
|
||||||
!isEmpty(CCACHE_BIN) {
|
|
||||||
load(ccache)
|
|
||||||
CONFIG+=ccache
|
|
||||||
}
|
|
||||||
|
|
||||||
MINIMUM_REQUIRED_QT_VERSION = 5.11.0
|
|
||||||
|
|
||||||
!versionAtLeast(QT_VERSION, $$MINIMUM_REQUIRED_QT_VERSION) {
|
|
||||||
error("You're trying to compile with Qt $$QT_VERSION, but minimum required Qt version is $$MINIMUM_REQUIRED_QT_VERSION")
|
|
||||||
}
|
|
||||||
|
|
||||||
QT += widgets core gui network multimedia svg concurrent
|
|
||||||
CONFIG += communi
|
|
||||||
COMMUNI += core model util
|
|
||||||
|
|
||||||
INCLUDEPATH += src/
|
|
||||||
TARGET = chatterino
|
|
||||||
TEMPLATE = app
|
|
||||||
PRECOMPILED_HEADER = src/PrecompiledHeader.hpp
|
|
||||||
CONFIG += precompile_header
|
|
||||||
DEFINES += CHATTERINO
|
|
||||||
DEFINES += AB_CUSTOM_THEME
|
|
||||||
DEFINES += AB_CUSTOM_SETTINGS
|
|
||||||
CONFIG += AB_NOT_STANDALONE
|
|
||||||
|
|
||||||
useBreakpad {
|
|
||||||
LIBS += -L$$PWD/lib/qBreakpad/handler/build
|
|
||||||
include(lib/qBreakpad/qBreakpad.pri)
|
|
||||||
DEFINES += C_USE_BREAKPAD
|
|
||||||
}
|
|
||||||
|
|
||||||
# use C++17
|
|
||||||
CONFIG += c++17
|
|
||||||
|
|
||||||
# C++17 backwards compatability
|
|
||||||
win32-msvc* {
|
|
||||||
QMAKE_CXXFLAGS += /std:c++17
|
|
||||||
} else {
|
|
||||||
QMAKE_CXXFLAGS += -std=c++17
|
|
||||||
}
|
|
||||||
|
|
||||||
linux {
|
|
||||||
LIBS += -lrt
|
|
||||||
QMAKE_LFLAGS += -lrt
|
|
||||||
|
|
||||||
# Enable linking libraries using PKGCONFIG += libraryname
|
|
||||||
CONFIG += link_pkgconfig
|
|
||||||
}
|
|
||||||
|
|
||||||
macx {
|
|
||||||
QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.14
|
|
||||||
|
|
||||||
INCLUDEPATH += /usr/local/include
|
|
||||||
INCLUDEPATH += /usr/local/opt/openssl/include
|
|
||||||
LIBS += -L/usr/local/opt/openssl/lib
|
|
||||||
}
|
|
||||||
|
|
||||||
# https://bugreports.qt.io/browse/QTBUG-27018
|
|
||||||
equals(QMAKE_CXX, "clang++")|equals(QMAKE_CXX, "g++") {
|
|
||||||
TARGET = bin/chatterino
|
|
||||||
}
|
|
||||||
|
|
||||||
# Icons
|
|
||||||
macx:ICON = resources/chatterino.icns
|
|
||||||
win32:RC_FILE = resources/windows.rc
|
|
||||||
|
|
||||||
macx {
|
|
||||||
LIBS += -L/usr/local/lib
|
|
||||||
}
|
|
||||||
|
|
||||||
# Set C_DEBUG if it's a debug build
|
|
||||||
CONFIG(debug, debug|release) {
|
|
||||||
DEFINES += C_DEBUG
|
|
||||||
DEFINES += QT_DEBUG
|
|
||||||
} else {
|
|
||||||
DEFINES += NDEBUG
|
|
||||||
}
|
|
||||||
|
|
||||||
# Submodules
|
|
||||||
include(lib/warnings.pri)
|
|
||||||
include(lib/libcommuni.pri)
|
|
||||||
include(lib/websocketpp.pri)
|
|
||||||
include(lib/wintoast.pri)
|
|
||||||
include(lib/signals.pri)
|
|
||||||
include(lib/settings.pri)
|
|
||||||
include(lib/serialize.pri)
|
|
||||||
include(lib/lrucache.pri)
|
|
||||||
include(lib/magic_enum.pri)
|
|
||||||
include(lib/winsdk.pri)
|
|
||||||
include(lib/rapidjson.pri)
|
|
||||||
include(lib/qtkeychain.pri)
|
|
||||||
|
|
||||||
exists( $$OUT_PWD/conanbuildinfo.pri ) {
|
|
||||||
message("Using conan packages")
|
|
||||||
CONFIG += conan_basic_setup
|
|
||||||
include($$OUT_PWD/conanbuildinfo.pri)
|
|
||||||
LIBS += -lGdi32
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
include(lib/boost.pri)
|
|
||||||
include(lib/openssl.pri)
|
|
||||||
}
|
|
||||||
|
|
||||||
# Optional feature: QtWebEngine
|
|
||||||
#exists ($(QTDIR)/include/QtWebEngine/QtWebEngine) {
|
|
||||||
# message(Using QWebEngine)
|
|
||||||
# QT += webenginewidgets
|
|
||||||
# DEFINES += "USEWEBENGINE"
|
|
||||||
#}
|
|
||||||
|
|
||||||
SOURCES += \
|
|
||||||
src/Application.cpp \
|
|
||||||
src/autogenerated/ResourcesAutogen.cpp \
|
|
||||||
src/BaseSettings.cpp \
|
|
||||||
src/BaseTheme.cpp \
|
|
||||||
src/BrowserExtension.cpp \
|
|
||||||
src/common/Args.cpp \
|
|
||||||
src/common/Channel.cpp \
|
|
||||||
src/common/ChannelChatters.cpp \
|
|
||||||
src/common/ChatterinoSetting.cpp \
|
|
||||||
src/common/ChatterSet.cpp \
|
|
||||||
src/common/CompletionModel.cpp \
|
|
||||||
src/common/Credentials.cpp \
|
|
||||||
src/common/DownloadManager.cpp \
|
|
||||||
src/common/Env.cpp \
|
|
||||||
src/common/LinkParser.cpp \
|
|
||||||
src/common/Modes.cpp \
|
|
||||||
src/common/NetworkCommon.cpp \
|
|
||||||
src/common/NetworkManager.cpp \
|
|
||||||
src/common/NetworkPrivate.cpp \
|
|
||||||
src/common/NetworkRequest.cpp \
|
|
||||||
src/common/NetworkResult.cpp \
|
|
||||||
src/common/QLogging.cpp \
|
|
||||||
src/common/Version.cpp \
|
|
||||||
src/common/WindowDescriptors.cpp \
|
|
||||||
src/controllers/accounts/Account.cpp \
|
|
||||||
src/controllers/accounts/AccountController.cpp \
|
|
||||||
src/controllers/accounts/AccountModel.cpp \
|
|
||||||
src/controllers/commands/Command.cpp \
|
|
||||||
src/controllers/commands/CommandController.cpp \
|
|
||||||
src/controllers/commands/CommandModel.cpp \
|
|
||||||
src/controllers/filters/FilterModel.cpp \
|
|
||||||
src/controllers/filters/parser/FilterParser.cpp \
|
|
||||||
src/controllers/filters/parser/Tokenizer.cpp \
|
|
||||||
src/controllers/filters/parser/Types.cpp \
|
|
||||||
src/controllers/highlights/BadgeHighlightModel.cpp \
|
|
||||||
src/controllers/highlights/HighlightBadge.cpp \
|
|
||||||
src/controllers/highlights/HighlightBlacklistModel.cpp \
|
|
||||||
src/controllers/highlights/HighlightController.cpp \
|
|
||||||
src/controllers/highlights/HighlightModel.cpp \
|
|
||||||
src/controllers/highlights/HighlightPhrase.cpp \
|
|
||||||
src/controllers/highlights/UserHighlightModel.cpp \
|
|
||||||
src/controllers/hotkeys/Hotkey.cpp \
|
|
||||||
src/controllers/hotkeys/HotkeyController.cpp \
|
|
||||||
src/controllers/hotkeys/HotkeyHelpers.cpp \
|
|
||||||
src/controllers/hotkeys/HotkeyModel.cpp \
|
|
||||||
src/controllers/ignores/IgnoreController.cpp \
|
|
||||||
src/controllers/ignores/IgnoreModel.cpp \
|
|
||||||
src/controllers/moderationactions/ModerationAction.cpp \
|
|
||||||
src/controllers/moderationactions/ModerationActionModel.cpp \
|
|
||||||
src/controllers/nicknames/NicknamesModel.cpp \
|
|
||||||
src/controllers/notifications/NotificationController.cpp \
|
|
||||||
src/controllers/notifications/NotificationModel.cpp \
|
|
||||||
src/controllers/pings/MutedChannelModel.cpp \
|
|
||||||
src/debug/Benchmark.cpp \
|
|
||||||
src/main.cpp \
|
|
||||||
src/messages/Emote.cpp \
|
|
||||||
src/messages/Image.cpp \
|
|
||||||
src/messages/ImageSet.cpp \
|
|
||||||
src/messages/layouts/MessageLayout.cpp \
|
|
||||||
src/messages/layouts/MessageLayoutContainer.cpp \
|
|
||||||
src/messages/layouts/MessageLayoutElement.cpp \
|
|
||||||
src/messages/Link.cpp \
|
|
||||||
src/messages/Message.cpp \
|
|
||||||
src/messages/MessageBuilder.cpp \
|
|
||||||
src/messages/MessageColor.cpp \
|
|
||||||
src/messages/MessageContainer.cpp \
|
|
||||||
src/messages/MessageElement.cpp \
|
|
||||||
src/messages/search/AuthorPredicate.cpp \
|
|
||||||
src/messages/search/ChannelPredicate.cpp \
|
|
||||||
src/messages/search/LinkPredicate.cpp \
|
|
||||||
src/messages/search/MessageFlagsPredicate.cpp \
|
|
||||||
src/messages/search/RegexPredicate.cpp \
|
|
||||||
src/messages/search/SubstringPredicate.cpp \
|
|
||||||
src/messages/SharedMessageBuilder.cpp \
|
|
||||||
src/providers/bttv/BttvEmotes.cpp \
|
|
||||||
src/providers/bttv/LoadBttvChannelEmote.cpp \
|
|
||||||
src/providers/chatterino/ChatterinoBadges.cpp \
|
|
||||||
src/providers/colors/ColorProvider.cpp \
|
|
||||||
src/providers/emoji/Emojis.cpp \
|
|
||||||
src/providers/ffz/FfzBadges.cpp \
|
|
||||||
src/providers/ffz/FfzEmotes.cpp \
|
|
||||||
src/providers/irc/AbstractIrcServer.cpp \
|
|
||||||
src/providers/irc/Irc2.cpp \
|
|
||||||
src/providers/irc/IrcAccount.cpp \
|
|
||||||
src/providers/irc/IrcChannel2.cpp \
|
|
||||||
src/providers/irc/IrcCommands.cpp \
|
|
||||||
src/providers/irc/IrcConnection2.cpp \
|
|
||||||
src/providers/irc/IrcMessageBuilder.cpp \
|
|
||||||
src/providers/irc/IrcServer.cpp \
|
|
||||||
src/providers/IvrApi.cpp \
|
|
||||||
src/providers/LinkResolver.cpp \
|
|
||||||
src/providers/twitch/api/Helix.cpp \
|
|
||||||
src/providers/twitch/ChannelPointReward.cpp \
|
|
||||||
src/providers/twitch/IrcMessageHandler.cpp \
|
|
||||||
src/providers/twitch/PubSubActions.cpp \
|
|
||||||
src/providers/twitch/PubSubClient.cpp \
|
|
||||||
src/providers/twitch/PubSubManager.cpp \
|
|
||||||
src/providers/twitch/pubsubmessages/AutoMod.cpp \
|
|
||||||
src/providers/twitch/pubsubmessages/Base.cpp \
|
|
||||||
src/providers/twitch/pubsubmessages/ChannelPoints.cpp \
|
|
||||||
src/providers/twitch/pubsubmessages/ChatModeratorAction.cpp \
|
|
||||||
src/providers/twitch/pubsubmessages/Listen.cpp \
|
|
||||||
src/providers/twitch/pubsubmessages/Unlisten.cpp \
|
|
||||||
src/providers/twitch/pubsubmessages/Whisper.cpp \
|
|
||||||
src/providers/twitch/TwitchAccount.cpp \
|
|
||||||
src/providers/twitch/TwitchAccountManager.cpp \
|
|
||||||
src/providers/twitch/TwitchBadge.cpp \
|
|
||||||
src/providers/twitch/TwitchBadges.cpp \
|
|
||||||
src/providers/twitch/TwitchChannel.cpp \
|
|
||||||
src/providers/twitch/TwitchEmotes.cpp \
|
|
||||||
src/providers/twitch/TwitchHelpers.cpp \
|
|
||||||
src/providers/twitch/TwitchIrcServer.cpp \
|
|
||||||
src/providers/twitch/TwitchMessageBuilder.cpp \
|
|
||||||
src/providers/twitch/TwitchUser.cpp \
|
|
||||||
src/RunGui.cpp \
|
|
||||||
src/singletons/Badges.cpp \
|
|
||||||
src/singletons/Emotes.cpp \
|
|
||||||
src/singletons/Fonts.cpp \
|
|
||||||
src/singletons/helper/GifTimer.cpp \
|
|
||||||
src/singletons/helper/LoggingChannel.cpp \
|
|
||||||
src/singletons/Logging.cpp \
|
|
||||||
src/singletons/NativeMessaging.cpp \
|
|
||||||
src/singletons/Paths.cpp \
|
|
||||||
src/singletons/Resources.cpp \
|
|
||||||
src/singletons/Settings.cpp \
|
|
||||||
src/singletons/Theme.cpp \
|
|
||||||
src/singletons/Toasts.cpp \
|
|
||||||
src/singletons/TooltipPreviewImage.cpp \
|
|
||||||
src/singletons/Updates.cpp \
|
|
||||||
src/singletons/WindowManager.cpp \
|
|
||||||
src/util/AttachToConsole.cpp \
|
|
||||||
src/util/Clipboard.cpp \
|
|
||||||
src/util/DebugCount.cpp \
|
|
||||||
src/util/DisplayBadge.cpp \
|
|
||||||
src/util/FormatTime.cpp \
|
|
||||||
src/util/FunctionEventFilter.cpp \
|
|
||||||
src/util/FuzzyConvert.cpp \
|
|
||||||
src/util/Helpers.cpp \
|
|
||||||
src/util/IncognitoBrowser.cpp \
|
|
||||||
src/util/InitUpdateButton.cpp \
|
|
||||||
src/util/LayoutHelper.cpp \
|
|
||||||
src/util/NuulsUploader.cpp \
|
|
||||||
src/util/RapidjsonHelpers.cpp \
|
|
||||||
src/util/RatelimitBucket.cpp \
|
|
||||||
src/util/SampleData.cpp \
|
|
||||||
src/util/SplitCommand.cpp \
|
|
||||||
src/util/StreamerMode.cpp \
|
|
||||||
src/util/StreamLink.cpp \
|
|
||||||
src/util/Twitch.cpp \
|
|
||||||
src/util/WindowsHelper.cpp \
|
|
||||||
src/widgets/AccountSwitchPopup.cpp \
|
|
||||||
src/widgets/AccountSwitchWidget.cpp \
|
|
||||||
src/widgets/AttachedWindow.cpp \
|
|
||||||
src/widgets/BasePopup.cpp \
|
|
||||||
src/widgets/BaseWidget.cpp \
|
|
||||||
src/widgets/BaseWindow.cpp \
|
|
||||||
src/widgets/dialogs/BadgePickerDialog.cpp \
|
|
||||||
src/widgets/dialogs/ChannelFilterEditorDialog.cpp \
|
|
||||||
src/widgets/dialogs/ColorPickerDialog.cpp \
|
|
||||||
src/widgets/dialogs/EditHotkeyDialog.cpp \
|
|
||||||
src/widgets/dialogs/EmotePopup.cpp \
|
|
||||||
src/widgets/dialogs/IrcConnectionEditor.cpp \
|
|
||||||
src/widgets/dialogs/LastRunCrashDialog.cpp \
|
|
||||||
src/widgets/dialogs/LoginDialog.cpp \
|
|
||||||
src/widgets/dialogs/NotificationPopup.cpp \
|
|
||||||
src/widgets/dialogs/QualityPopup.cpp \
|
|
||||||
src/widgets/dialogs/SelectChannelDialog.cpp \
|
|
||||||
src/widgets/dialogs/SelectChannelFiltersDialog.cpp \
|
|
||||||
src/widgets/dialogs/SettingsDialog.cpp \
|
|
||||||
src/widgets/dialogs/switcher/NewPopupItem.cpp \
|
|
||||||
src/widgets/dialogs/switcher/NewTabItem.cpp \
|
|
||||||
src/widgets/dialogs/switcher/QuickSwitcherModel.cpp \
|
|
||||||
src/widgets/dialogs/switcher/QuickSwitcherPopup.cpp \
|
|
||||||
src/widgets/dialogs/switcher/SwitchSplitItem.cpp \
|
|
||||||
src/widgets/dialogs/UpdateDialog.cpp \
|
|
||||||
src/widgets/dialogs/UserInfoPopup.cpp \
|
|
||||||
src/widgets/dialogs/WelcomeDialog.cpp \
|
|
||||||
src/widgets/FramelessEmbedWindow.cpp \
|
|
||||||
src/widgets/helper/Button.cpp \
|
|
||||||
src/widgets/helper/ChannelView.cpp \
|
|
||||||
src/widgets/helper/ColorButton.cpp \
|
|
||||||
src/widgets/helper/ComboBoxItemDelegate.cpp \
|
|
||||||
src/widgets/helper/DebugPopup.cpp \
|
|
||||||
src/widgets/helper/EditableModelView.cpp \
|
|
||||||
src/widgets/helper/EffectLabel.cpp \
|
|
||||||
src/widgets/helper/NotebookButton.cpp \
|
|
||||||
src/widgets/helper/NotebookTab.cpp \
|
|
||||||
src/widgets/helper/QColorPicker.cpp \
|
|
||||||
src/widgets/helper/RegExpItemDelegate.cpp \
|
|
||||||
src/widgets/helper/TrimRegExpValidator.cpp \
|
|
||||||
src/widgets/helper/ResizingTextEdit.cpp \
|
|
||||||
src/widgets/helper/ScrollbarHighlight.cpp \
|
|
||||||
src/widgets/helper/SearchPopup.cpp \
|
|
||||||
src/widgets/helper/SettingsDialogTab.cpp \
|
|
||||||
src/widgets/helper/SignalLabel.cpp \
|
|
||||||
src/widgets/helper/TitlebarButton.cpp \
|
|
||||||
src/widgets/Label.cpp \
|
|
||||||
src/widgets/listview/GenericItemDelegate.cpp \
|
|
||||||
src/widgets/listview/GenericListItem.cpp \
|
|
||||||
src/widgets/listview/GenericListModel.cpp \
|
|
||||||
src/widgets/listview/GenericListView.cpp \
|
|
||||||
src/widgets/Notebook.cpp \
|
|
||||||
src/widgets/Scrollbar.cpp \
|
|
||||||
src/widgets/settingspages/AboutPage.cpp \
|
|
||||||
src/widgets/settingspages/AccountsPage.cpp \
|
|
||||||
src/widgets/settingspages/CommandPage.cpp \
|
|
||||||
src/widgets/settingspages/ExternalToolsPage.cpp \
|
|
||||||
src/widgets/settingspages/FiltersPage.cpp \
|
|
||||||
src/widgets/settingspages/GeneralPage.cpp \
|
|
||||||
src/widgets/settingspages/GeneralPageView.cpp \
|
|
||||||
src/widgets/settingspages/HighlightingPage.cpp \
|
|
||||||
src/widgets/settingspages/IgnoresPage.cpp \
|
|
||||||
src/widgets/settingspages/KeyboardSettingsPage.cpp \
|
|
||||||
src/widgets/settingspages/ModerationPage.cpp \
|
|
||||||
src/widgets/settingspages/NicknamesPage.cpp \
|
|
||||||
src/widgets/settingspages/NotificationPage.cpp \
|
|
||||||
src/widgets/settingspages/SettingsPage.cpp \
|
|
||||||
src/widgets/splits/ClosedSplits.cpp \
|
|
||||||
src/widgets/splits/InputCompletionItem.cpp \
|
|
||||||
src/widgets/splits/InputCompletionPopup.cpp \
|
|
||||||
src/widgets/splits/Split.cpp \
|
|
||||||
src/widgets/splits/SplitContainer.cpp \
|
|
||||||
src/widgets/splits/SplitHeader.cpp \
|
|
||||||
src/widgets/splits/SplitInput.cpp \
|
|
||||||
src/widgets/splits/SplitOverlay.cpp \
|
|
||||||
src/widgets/StreamView.cpp \
|
|
||||||
src/widgets/TooltipWidget.cpp \
|
|
||||||
src/widgets/Window.cpp \
|
|
||||||
|
|
||||||
HEADERS += \
|
|
||||||
src/Application.hpp \
|
|
||||||
src/autogenerated/ResourcesAutogen.hpp \
|
|
||||||
src/BaseSettings.hpp \
|
|
||||||
src/BaseTheme.hpp \
|
|
||||||
src/BrowserExtension.hpp \
|
|
||||||
src/common/Aliases.hpp \
|
|
||||||
src/common/Args.hpp \
|
|
||||||
src/common/Atomic.hpp \
|
|
||||||
src/common/Channel.hpp \
|
|
||||||
src/common/ChannelChatters.hpp \
|
|
||||||
src/common/ChatterinoSetting.hpp \
|
|
||||||
src/common/ChatterSet.hpp \
|
|
||||||
src/common/Common.hpp \
|
|
||||||
src/common/CompletionModel.hpp \
|
|
||||||
src/common/ConcurrentMap.hpp \
|
|
||||||
src/common/Credentials.hpp \
|
|
||||||
src/common/DownloadManager.hpp \
|
|
||||||
src/common/Env.hpp \
|
|
||||||
src/common/FlagsEnum.hpp \
|
|
||||||
src/common/IrcColors.hpp \
|
|
||||||
src/common/LinkParser.hpp \
|
|
||||||
src/common/Modes.hpp \
|
|
||||||
src/common/NetworkCommon.hpp \
|
|
||||||
src/common/NetworkManager.hpp \
|
|
||||||
src/common/NetworkPrivate.hpp \
|
|
||||||
src/common/NetworkRequest.hpp \
|
|
||||||
src/common/NetworkResult.hpp \
|
|
||||||
src/common/NullablePtr.hpp \
|
|
||||||
src/common/Outcome.hpp \
|
|
||||||
src/common/ProviderId.hpp \
|
|
||||||
src/common/QLogging.hpp \
|
|
||||||
src/common/SignalVector.hpp \
|
|
||||||
src/common/SignalVectorModel.hpp \
|
|
||||||
src/common/Singleton.hpp \
|
|
||||||
src/common/UniqueAccess.hpp \
|
|
||||||
src/common/Version.hpp \
|
|
||||||
src/common/WindowDescriptors.hpp \
|
|
||||||
src/controllers/accounts/Account.hpp \
|
|
||||||
src/controllers/accounts/AccountController.hpp \
|
|
||||||
src/controllers/accounts/AccountModel.hpp \
|
|
||||||
src/controllers/commands/Command.hpp \
|
|
||||||
src/controllers/commands/CommandController.hpp \
|
|
||||||
src/controllers/commands/CommandModel.hpp \
|
|
||||||
src/controllers/filters/FilterModel.hpp \
|
|
||||||
src/controllers/filters/FilterRecord.hpp \
|
|
||||||
src/controllers/filters/FilterSet.hpp \
|
|
||||||
src/controllers/filters/parser/FilterParser.hpp \
|
|
||||||
src/controllers/filters/parser/Tokenizer.hpp \
|
|
||||||
src/controllers/filters/parser/Types.hpp \
|
|
||||||
src/controllers/highlights/BadgeHighlightModel.hpp \
|
|
||||||
src/controllers/highlights/HighlightBadge.hpp \
|
|
||||||
src/controllers/highlights/HighlightBlacklistModel.hpp \
|
|
||||||
src/controllers/highlights/HighlightBlacklistUser.hpp \
|
|
||||||
src/controllers/highlights/HighlightController.hpp \
|
|
||||||
src/controllers/highlights/HighlightModel.hpp \
|
|
||||||
src/controllers/highlights/HighlightPhrase.hpp \
|
|
||||||
src/controllers/highlights/UserHighlightModel.hpp \
|
|
||||||
src/controllers/hotkeys/ActionNames.hpp \
|
|
||||||
src/controllers/hotkeys/Hotkey.hpp \
|
|
||||||
src/controllers/hotkeys/HotkeyCategory.hpp \
|
|
||||||
src/controllers/hotkeys/HotkeyController.hpp \
|
|
||||||
src/controllers/hotkeys/HotkeyHelpers.hpp \
|
|
||||||
src/controllers/hotkeys/HotkeyModel.hpp \
|
|
||||||
src/controllers/ignores/IgnoreController.hpp \
|
|
||||||
src/controllers/ignores/IgnoreModel.hpp \
|
|
||||||
src/controllers/ignores/IgnorePhrase.hpp \
|
|
||||||
src/controllers/moderationactions/ModerationAction.hpp \
|
|
||||||
src/controllers/moderationactions/ModerationActionModel.hpp \
|
|
||||||
src/controllers/nicknames/Nickname.hpp \
|
|
||||||
src/controllers/nicknames/NicknamesModel.hpp \
|
|
||||||
src/controllers/notifications/NotificationController.hpp \
|
|
||||||
src/controllers/notifications/NotificationModel.hpp \
|
|
||||||
src/controllers/pings/MutedChannelModel.hpp \
|
|
||||||
src/debug/AssertInGuiThread.hpp \
|
|
||||||
src/debug/Benchmark.hpp \
|
|
||||||
src/ForwardDecl.hpp \
|
|
||||||
src/messages/Emote.hpp \
|
|
||||||
src/messages/Image.hpp \
|
|
||||||
src/messages/ImageSet.hpp \
|
|
||||||
src/messages/layouts/MessageLayout.hpp \
|
|
||||||
src/messages/layouts/MessageLayoutContainer.hpp \
|
|
||||||
src/messages/layouts/MessageLayoutElement.hpp \
|
|
||||||
src/messages/LimitedQueue.hpp \
|
|
||||||
src/messages/LimitedQueueSnapshot.hpp \
|
|
||||||
src/messages/Link.hpp \
|
|
||||||
src/messages/Message.hpp \
|
|
||||||
src/messages/MessageBuilder.hpp \
|
|
||||||
src/messages/MessageColor.hpp \
|
|
||||||
src/messages/MessageContainer.hpp \
|
|
||||||
src/messages/MessageElement.hpp \
|
|
||||||
src/messages/MessageParseArgs.hpp \
|
|
||||||
src/messages/search/AuthorPredicate.hpp \
|
|
||||||
src/messages/search/ChannelPredicate.hpp \
|
|
||||||
src/messages/search/LinkPredicate.hpp \
|
|
||||||
src/messages/search/MessageFlagsPredicate.hpp \
|
|
||||||
src/messages/search/MessagePredicate.hpp \
|
|
||||||
src/messages/search/RegexPredicate.hpp \
|
|
||||||
src/messages/search/SubstringPredicate.hpp \
|
|
||||||
src/messages/Selection.hpp \
|
|
||||||
src/messages/SharedMessageBuilder.hpp \
|
|
||||||
src/PrecompiledHeader.hpp \
|
|
||||||
src/providers/bttv/BttvEmotes.hpp \
|
|
||||||
src/providers/bttv/LoadBttvChannelEmote.hpp \
|
|
||||||
src/providers/chatterino/ChatterinoBadges.hpp \
|
|
||||||
src/providers/colors/ColorProvider.hpp \
|
|
||||||
src/providers/emoji/Emojis.hpp \
|
|
||||||
src/providers/ffz/FfzBadges.hpp \
|
|
||||||
src/providers/ffz/FfzEmotes.hpp \
|
|
||||||
src/providers/irc/AbstractIrcServer.hpp \
|
|
||||||
src/providers/irc/Irc2.hpp \
|
|
||||||
src/providers/irc/IrcAccount.hpp \
|
|
||||||
src/providers/irc/IrcChannel2.hpp \
|
|
||||||
src/providers/irc/IrcCommands.hpp \
|
|
||||||
src/providers/irc/IrcConnection2.hpp \
|
|
||||||
src/providers/irc/IrcMessageBuilder.hpp \
|
|
||||||
src/providers/irc/IrcServer.hpp \
|
|
||||||
src/providers/IvrApi.hpp \
|
|
||||||
src/providers/LinkResolver.hpp \
|
|
||||||
src/providers/twitch/api/Helix.hpp \
|
|
||||||
src/providers/twitch/ChannelPointReward.hpp \
|
|
||||||
src/providers/twitch/ChatterinoWebSocketppLogger.hpp \
|
|
||||||
src/providers/twitch/EmoteValue.hpp \
|
|
||||||
src/providers/twitch/IrcMessageHandler.hpp \
|
|
||||||
src/providers/twitch/PubSubActions.hpp \
|
|
||||||
src/providers/twitch/PubSubClient.hpp \
|
|
||||||
src/providers/twitch/PubSubClientOptions.hpp \
|
|
||||||
src/providers/twitch/PubSubHelpers.hpp \
|
|
||||||
src/providers/twitch/PubSubManager.hpp \
|
|
||||||
src/providers/twitch/PubSubMessages.hpp \
|
|
||||||
src/providers/twitch/pubsubmessages/AutoMod.hpp \
|
|
||||||
src/providers/twitch/pubsubmessages/Base.hpp \
|
|
||||||
src/providers/twitch/pubsubmessages/ChannelPoints.hpp \
|
|
||||||
src/providers/twitch/pubsubmessages/ChatModeratorAction.hpp \
|
|
||||||
src/providers/twitch/pubsubmessages/Listen.hpp \
|
|
||||||
src/providers/twitch/pubsubmessages/Message.hpp \
|
|
||||||
src/providers/twitch/pubsubmessages/Unlisten.hpp \
|
|
||||||
src/providers/twitch/pubsubmessages/Whisper.hpp \
|
|
||||||
src/providers/twitch/PubSubWebsocket.hpp \
|
|
||||||
src/providers/twitch/TwitchAccount.hpp \
|
|
||||||
src/providers/twitch/TwitchAccountManager.hpp \
|
|
||||||
src/providers/twitch/TwitchBadge.hpp \
|
|
||||||
src/providers/twitch/TwitchBadges.hpp \
|
|
||||||
src/providers/twitch/TwitchChannel.hpp \
|
|
||||||
src/providers/twitch/TwitchCommon.hpp \
|
|
||||||
src/providers/twitch/TwitchEmotes.hpp \
|
|
||||||
src/providers/twitch/TwitchHelpers.hpp \
|
|
||||||
src/providers/twitch/TwitchIrcServer.hpp \
|
|
||||||
src/providers/twitch/TwitchMessageBuilder.hpp \
|
|
||||||
src/providers/twitch/TwitchUser.hpp \
|
|
||||||
src/RunGui.hpp \
|
|
||||||
src/singletons/Badges.hpp \
|
|
||||||
src/singletons/Emotes.hpp \
|
|
||||||
src/singletons/Fonts.hpp \
|
|
||||||
src/singletons/helper/GifTimer.hpp \
|
|
||||||
src/singletons/helper/LoggingChannel.hpp \
|
|
||||||
src/singletons/Logging.hpp \
|
|
||||||
src/singletons/NativeMessaging.hpp \
|
|
||||||
src/singletons/Paths.hpp \
|
|
||||||
src/singletons/Resources.hpp \
|
|
||||||
src/singletons/Settings.hpp \
|
|
||||||
src/singletons/Theme.hpp \
|
|
||||||
src/singletons/Toasts.hpp \
|
|
||||||
src/singletons/TooltipPreviewImage.hpp \
|
|
||||||
src/singletons/Updates.hpp \
|
|
||||||
src/singletons/WindowManager.hpp \
|
|
||||||
src/util/AttachToConsole.hpp \
|
|
||||||
src/util/Clamp.hpp \
|
|
||||||
src/util/Clipboard.hpp \
|
|
||||||
src/util/CombinePath.hpp \
|
|
||||||
src/util/ConcurrentMap.hpp \
|
|
||||||
src/util/DebugCount.hpp \
|
|
||||||
src/util/DisplayBadge.hpp \
|
|
||||||
src/util/DistanceBetweenPoints.hpp \
|
|
||||||
src/util/ExponentialBackoff.hpp \
|
|
||||||
src/util/FormatTime.hpp \
|
|
||||||
src/util/FunctionEventFilter.hpp \
|
|
||||||
src/util/FuzzyConvert.hpp \
|
|
||||||
src/util/Helpers.hpp \
|
|
||||||
src/util/IncognitoBrowser.hpp \
|
|
||||||
src/util/InitUpdateButton.hpp \
|
|
||||||
src/util/IrcHelpers.hpp \
|
|
||||||
src/util/LayoutCreator.hpp \
|
|
||||||
src/util/LayoutHelper.hpp \
|
|
||||||
src/util/NuulsUploader.hpp \
|
|
||||||
src/util/Overloaded.hpp \
|
|
||||||
src/util/PersistSignalVector.hpp \
|
|
||||||
src/util/PostToThread.hpp \
|
|
||||||
src/util/QObjectRef.hpp \
|
|
||||||
src/util/QStringHash.hpp \
|
|
||||||
src/util/RapidjsonHelpers.hpp \
|
|
||||||
src/util/RapidJsonSerializeQString.hpp \
|
|
||||||
src/util/RatelimitBucket.hpp \
|
|
||||||
src/util/RemoveScrollAreaBackground.hpp \
|
|
||||||
src/util/SampleData.hpp \
|
|
||||||
src/util/SharedPtrElementLess.hpp \
|
|
||||||
src/util/SplitCommand.hpp \
|
|
||||||
src/util/StandardItemHelper.hpp \
|
|
||||||
src/util/StreamerMode.hpp \
|
|
||||||
src/util/StreamLink.hpp \
|
|
||||||
src/util/Twitch.hpp \
|
|
||||||
src/util/WindowsHelper.hpp \
|
|
||||||
src/widgets/AccountSwitchPopup.hpp \
|
|
||||||
src/widgets/AccountSwitchWidget.hpp \
|
|
||||||
src/widgets/AttachedWindow.hpp \
|
|
||||||
src/widgets/BasePopup.hpp \
|
|
||||||
src/widgets/BaseWidget.hpp \
|
|
||||||
src/widgets/BaseWindow.hpp \
|
|
||||||
src/widgets/dialogs/BadgePickerDialog.hpp \
|
|
||||||
src/widgets/dialogs/ChannelFilterEditorDialog.hpp \
|
|
||||||
src/widgets/dialogs/ColorPickerDialog.hpp \
|
|
||||||
src/widgets/dialogs/EditHotkeyDialog.hpp \
|
|
||||||
src/widgets/dialogs/EmotePopup.hpp \
|
|
||||||
src/widgets/dialogs/IrcConnectionEditor.hpp \
|
|
||||||
src/widgets/dialogs/LastRunCrashDialog.hpp \
|
|
||||||
src/widgets/dialogs/LoginDialog.hpp \
|
|
||||||
src/widgets/dialogs/NotificationPopup.hpp \
|
|
||||||
src/widgets/dialogs/QualityPopup.hpp \
|
|
||||||
src/widgets/dialogs/SelectChannelDialog.hpp \
|
|
||||||
src/widgets/dialogs/SelectChannelFiltersDialog.hpp \
|
|
||||||
src/widgets/dialogs/SettingsDialog.hpp \
|
|
||||||
src/widgets/dialogs/switcher/AbstractSwitcherItem.hpp \
|
|
||||||
src/widgets/dialogs/switcher/NewPopupItem.hpp \
|
|
||||||
src/widgets/dialogs/switcher/NewTabItem.hpp \
|
|
||||||
src/widgets/dialogs/switcher/QuickSwitcherModel.hpp \
|
|
||||||
src/widgets/dialogs/switcher/QuickSwitcherPopup.hpp \
|
|
||||||
src/widgets/dialogs/switcher/SwitchSplitItem.hpp \
|
|
||||||
src/widgets/dialogs/UpdateDialog.hpp \
|
|
||||||
src/widgets/dialogs/UserInfoPopup.hpp \
|
|
||||||
src/widgets/dialogs/WelcomeDialog.hpp \
|
|
||||||
src/widgets/FramelessEmbedWindow.hpp \
|
|
||||||
src/widgets/helper/Button.hpp \
|
|
||||||
src/widgets/helper/ChannelView.hpp \
|
|
||||||
src/widgets/helper/ColorButton.hpp \
|
|
||||||
src/widgets/helper/ComboBoxItemDelegate.hpp \
|
|
||||||
src/widgets/helper/CommonTexts.hpp \
|
|
||||||
src/widgets/helper/DebugPopup.hpp \
|
|
||||||
src/widgets/helper/EditableModelView.hpp \
|
|
||||||
src/widgets/helper/EffectLabel.hpp \
|
|
||||||
src/widgets/helper/Line.hpp \
|
|
||||||
src/widgets/helper/NotebookButton.hpp \
|
|
||||||
src/widgets/helper/NotebookTab.hpp \
|
|
||||||
src/widgets/helper/QColorPicker.hpp \
|
|
||||||
src/widgets/helper/RegExpItemDelegate.hpp \
|
|
||||||
src/widgets/helper/TrimRegExpValidator.hpp \
|
|
||||||
src/widgets/helper/ResizingTextEdit.hpp \
|
|
||||||
src/widgets/helper/ScrollbarHighlight.hpp \
|
|
||||||
src/widgets/helper/SearchPopup.hpp \
|
|
||||||
src/widgets/helper/SettingsDialogTab.hpp \
|
|
||||||
src/widgets/helper/SignalLabel.hpp \
|
|
||||||
src/widgets/helper/TitlebarButton.hpp \
|
|
||||||
src/widgets/Label.hpp \
|
|
||||||
src/widgets/listview/GenericItemDelegate.hpp \
|
|
||||||
src/widgets/listview/GenericListItem.hpp \
|
|
||||||
src/widgets/listview/GenericListModel.hpp \
|
|
||||||
src/widgets/listview/GenericListView.hpp \
|
|
||||||
src/widgets/Notebook.hpp \
|
|
||||||
src/widgets/Scrollbar.hpp \
|
|
||||||
src/widgets/settingspages/AboutPage.hpp \
|
|
||||||
src/widgets/settingspages/AccountsPage.hpp \
|
|
||||||
src/widgets/settingspages/CommandPage.hpp \
|
|
||||||
src/widgets/settingspages/ExternalToolsPage.hpp \
|
|
||||||
src/widgets/settingspages/FiltersPage.hpp \
|
|
||||||
src/widgets/settingspages/GeneralPage.hpp \
|
|
||||||
src/widgets/settingspages/GeneralPageView.hpp \
|
|
||||||
src/widgets/settingspages/HighlightingPage.hpp \
|
|
||||||
src/widgets/settingspages/IgnoresPage.hpp \
|
|
||||||
src/widgets/settingspages/KeyboardSettingsPage.hpp \
|
|
||||||
src/widgets/settingspages/ModerationPage.hpp \
|
|
||||||
src/widgets/settingspages/NicknamesPage.hpp \
|
|
||||||
src/widgets/settingspages/NotificationPage.hpp \
|
|
||||||
src/widgets/settingspages/SettingsPage.hpp \
|
|
||||||
src/widgets/splits/ClosedSplits.hpp \
|
|
||||||
src/widgets/splits/InputCompletionItem.hpp \
|
|
||||||
src/widgets/splits/InputCompletionPopup.hpp \
|
|
||||||
src/widgets/splits/Split.hpp \
|
|
||||||
src/widgets/splits/SplitContainer.hpp \
|
|
||||||
src/widgets/splits/SplitHeader.hpp \
|
|
||||||
src/widgets/splits/SplitInput.hpp \
|
|
||||||
src/widgets/splits/SplitOverlay.hpp \
|
|
||||||
src/widgets/StreamView.hpp \
|
|
||||||
src/widgets/TooltipWidget.hpp \
|
|
||||||
src/widgets/Window.hpp \
|
|
||||||
|
|
||||||
RESOURCES += \
|
|
||||||
resources/resources.qrc \
|
|
||||||
resources/resources_autogenerated.qrc
|
|
||||||
|
|
||||||
DISTFILES +=
|
|
||||||
|
|
||||||
FORMS += \
|
|
||||||
src/widgets/dialogs/IrcConnectionEditor.ui \
|
|
||||||
src/widgets/dialogs/EditHotkeyDialog.ui
|
|
||||||
|
|
||||||
# do not use windows min/max macros
|
|
||||||
#win32 {
|
|
||||||
# DEFINES += NOMINMAX
|
|
||||||
#}
|
|
||||||
|
|
||||||
linux:isEmpty(PREFIX) {
|
|
||||||
message("Using default installation prefix (/usr/local). Change PREFIX in qmake command")
|
|
||||||
PREFIX = /usr/local
|
|
||||||
}
|
|
||||||
|
|
||||||
linux {
|
|
||||||
desktop.files = resources/com.chatterino.chatterino.desktop
|
|
||||||
desktop.path = $$PREFIX/share/applications
|
|
||||||
|
|
||||||
build_icons.path = .
|
|
||||||
build_icons.commands = @echo $$PWD && mkdir -p $$PWD/resources/linuxinstall/icons/hicolor/256x256 && cp $$PWD/resources/icon.png $$PWD/resources/linuxinstall/icons/hicolor/256x256/com.chatterino.chatterino.png
|
|
||||||
|
|
||||||
icon.files = $$PWD/resources/linuxinstall/icons/hicolor/256x256/com.chatterino.chatterino.png
|
|
||||||
icon.path = $$PREFIX/share/icons/hicolor/256x256/apps
|
|
||||||
|
|
||||||
target.path = $$PREFIX/bin
|
|
||||||
|
|
||||||
INSTALLS += desktop build_icons icon target
|
|
||||||
}
|
|
||||||
|
|
||||||
git_commit=$$(GIT_COMMIT)
|
|
||||||
git_release=$$(GIT_RELEASE)
|
|
||||||
# Git data
|
|
||||||
isEmpty(git_commit) {
|
|
||||||
git_commit=$$system(git rev-parse HEAD)
|
|
||||||
}
|
|
||||||
isEmpty(git_release) {
|
|
||||||
git_release=$$system(git describe)
|
|
||||||
}
|
|
||||||
git_hash = $$str_member($$git_commit, 0, 8)
|
|
||||||
git_modified=$$system(git status --porcelain -z)
|
|
||||||
|
|
||||||
# Passing strings as defines requires you to use this weird triple-escape then quotation mark syntax.
|
|
||||||
# https://stackoverflow.com/questions/3348711/add-a-define-to-qmake-with-a-value/18343449#18343449
|
|
||||||
DEFINES += CHATTERINO_GIT_COMMIT=\\\"$$git_commit\\\"
|
|
||||||
DEFINES += CHATTERINO_GIT_RELEASE=\\\"$$git_release\\\"
|
|
||||||
DEFINES += CHATTERINO_GIT_HASH=\\\"$$git_hash\\\"
|
|
||||||
!isEmpty(git_modified) {
|
|
||||||
DEFINES += CHATTERINO_GIT_MODIFIED
|
|
||||||
}
|
|
||||||
|
|
||||||
CONFIG(debug, debug|release) {
|
|
||||||
message("Building Chatterino2 DEBUG")
|
|
||||||
} else {
|
|
||||||
message("Building Chatterino2 RELEASE")
|
|
||||||
DEFINES += DEBUG_OFF
|
|
||||||
}
|
|
||||||
|
|
||||||
message("Injected git values: $$git_commit ($$git_release) $$git_hash")
|
|
|
@ -3,7 +3,6 @@ openssl/1.1.1m
|
||||||
boost/1.78.0
|
boost/1.78.0
|
||||||
|
|
||||||
[generators]
|
[generators]
|
||||||
qmake
|
|
||||||
cmake
|
cmake
|
||||||
|
|
||||||
[options]
|
[options]
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
cd ../lib/qBreakpad
|
|
||||||
|
|
||||||
echo "Updating qBreakpad's breakpad dependency version"
|
|
||||||
cd third_party/breakpad
|
|
||||||
git checkout 7b3afa9258e58a57ffbeb395d445811f92616ae9
|
|
||||||
cd ../../
|
|
||||||
|
|
||||||
cd handler
|
|
||||||
mkdir build
|
|
||||||
cd build
|
|
||||||
qmake ..
|
|
||||||
echo "Building handler"
|
|
||||||
make -j8 && "Successfully built qBreakpad"
|
|
|
@ -1,9 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
if [ ! -d build-docker-release ]; then
|
|
||||||
mkdir build-docker-release
|
|
||||||
fi
|
|
||||||
|
|
||||||
cd build-docker-release
|
|
||||||
qmake ..
|
|
||||||
make -j8
|
|
|
@ -1,29 +0,0 @@
|
||||||
#!/usr/bin/python3
|
|
||||||
|
|
||||||
import os
|
|
||||||
import re
|
|
||||||
import subprocess
|
|
||||||
|
|
||||||
dir_path = os.path.dirname(os.path.realpath(__file__))
|
|
||||||
filename = '../chatterino.pro'
|
|
||||||
data = ""
|
|
||||||
|
|
||||||
with open(filename, 'r') as project:
|
|
||||||
data = project.read()
|
|
||||||
sources_list = subprocess.getoutput("find ../src -path ../src/CMakeFiles -prune -false -o -type f -name '*.cpp' | sed 's_\../_ _g'").splitlines()
|
|
||||||
sources_list.sort(key=str.lower)
|
|
||||||
sources = "\n".join(sources_list)
|
|
||||||
sources = re.sub(r'$', r' \\\\', sources, flags=re.MULTILINE)
|
|
||||||
sources += "\n"
|
|
||||||
data = re.sub(r'^SOURCES(.|\r|\n)*?^$', 'SOURCES += \\\n' + sources, data, flags=re.MULTILINE)
|
|
||||||
|
|
||||||
headers_list = subprocess.getoutput("find ../src -path ../src/CMakeFiles -prune -false -o -type f -name '*.hpp' | sed 's_\../_ _g'").splitlines()
|
|
||||||
headers_list.sort(key=str.lower)
|
|
||||||
headers = "\n".join(headers_list)
|
|
||||||
headers = re.sub(r'$', r' \\\\', headers, flags=re.MULTILINE)
|
|
||||||
headers += "\n"
|
|
||||||
data = re.sub(r'^HEADERS(.|\r|\n)*?^$', 'HEADERS += \\\n' + headers, data, flags=re.MULTILINE)
|
|
||||||
|
|
||||||
with open(filename, 'w') as project:
|
|
||||||
project.write(data)
|
|
||||||
|
|
Loading…
Reference in a new issue