Chatterino
|
Screenshot of CMake configuration
Note that installing all of the development prerequisites and libraries will require about 30 GB of free disk space. Please ensure this space is available on your C:
drive before proceeding.
This guide assumes you are on a 64-bit system. You might need to manually search out alternate download links should you desire to build Chatterino on a 32-bit system.
Download and install Visual Studio 2022 Community. In the installer, select "Desktop development with C++" and "Universal Windows Platform development".
Notes:
Download the .exe
file appropriate to your Visual Studio installation version and system bitness (choose -64
for 64-bit systems). Visual Studio versions map as follows: 14.3
in the filename corresponds to MSVC 2022,14.2
to 2019, 14.1
to 2017, 14.0
to 2015. Anything prior to Visual Studio 2015 is unsupported. Please upgrade should you have an older installation.
Convenience link for Visual Studio 2022: boost_1_79_0-msvc-14.3-64.exe
C:\local\boost
.C:\local\boost\lib64-msvc-14.3
(or similar) directory to simply lib
(C:\local\boost\lib
).Note: This installation will take about 2.1 GB of disk space.
1.1.1s
: DownloadC:\local\openssl
1.0.2u
: Download\bin
folder to C:\local\bin
(You will need to create the folder)\bin
folder to C:\local\bin
(Overwrite any duplicate files)C:\local\bin
to your path folder (Follow the guide here if you don't know how to do it)If the 1.1.x download link above does not work, try downloading the similar 1.1.x version found here. Note: Don't download the "light" installer, it does not have the required files.
Note: This installation will take about 200 MB of disk space.
Notes:
Qt 5.15.2
)MSVC 2019 64-bit
(or alternative version if you are using that)Qt WebEngine
(optional)Qt Creator X.X.X
and Debugging Tools for Windows
are selected. (they should be checked by default)Note: This installation will take about 2 GB of disk space.
Compiling with Breakpad support enables crash reports that can be of use for developing/beta versions of Chatterino. If you have no interest in reporting crashes anyways, this optional dependency will probably be of no use to you.
lib/qBreakpad/handler/handler.pro
in Qt CreatorqBreakpad.lib
to the following directory: lib/qBreakpad/build/handler
(You will have to manually create this directory)CMakeLists.txt
file by double-clicking it, or by opening it via Qt Creator.Build results will be placed in a folder at the same level as the "chatterino2" project folder (e.g. if your sources are at C:\Users\example\src\chatterino2
, then the build will be placed in an automatically generated folder under C:\Users\example\src
, e.g. C:\Users\example\src\build-chatterino-Desktop_Qt_5_15_2_MSVC2019_64bit-Release
.)
If you build chatterino, the result directories will contain a chatterino.exe
file in the $OUTPUTDIR\release\
directory. This .exe
file will not directly run on any given target system, because it will be lacking various Qt runtimes.
To produce a standalone package, you need to generate all required files using the tool windeployqt
. This tool can be found in the bin
directory of your Qt installation, e.g. at C:\Qt\5.15.2\msvc2019_64\bin\windeployqt.exe
.
To produce all supplement files for a standalone build, follow these steps (adjust paths as required):
C:\Users\example\src\build-chatterino-Desktop_Qt_5_15_2_MSVC2019_64bit-Release
release
directorychatterino.exe
file. You should be left with a directory only containing chatterino.exe
.cd C:\Users\example\src\build-chatterino-Desktop_Qt_5_15_2_MSVC2019_64bit-Release\release C:\Qt\5.15.2\msvc2019_64\bin\windeployqt.exe chatterino.exe
Go to C:\local\bin\
and copy these dll's into your release folder
.
libssl-1_1-x64.dll libcrypto-1_1-x64.dll ssleay32.dll libeay32.dll
releases
directory will now be populated with all the required files to make the chatterino build standalone.You can now create a zip archive of all the contents in releases
and distribute the program as is, without requiring any development tools to be present on the target system. (However, the vcredist package must be present, as usual - see the README).
Open up your terminal with the Visual Studio environment variables, then enter the following commands:
mkdir build
cd build
cmake -G"NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DUSE_CONAN=ON ..
nmake
Make sure you installed C++ AddressSanitizer
in your VisualStudio installation like described in the Microsoft Docs.
To build Chatterino with AddressSanitizer on MSVC, you need to add -DCMAKE_CXX_FLAGS=/fsanitize=address
to your CMake options.
When you start Chatterino, and it's complaining about clang_rt.asan_dbg_dynamic-x86_64.dll
missing, copy the file found in <VisualStudio-installation-path>\VC\Tools\MSVC\<version>\bin\Hostx64\x64\clang_rt.asan_dbg_dynamic-x86_64.dll
to the Chatterino
folder inside your build
folder.
To learn more about AddressSanitizer and MSVC, visit the Microsoft Docs.
Note: We're using build
instead of the CLion default cmake-build-debug
folder.
Install conan and make sure it's in your PATH
(default setting).
Clone the repository as described in the readme. Open a terminal in the cloned folder and enter the following commands:
mkdir build && cd build
conan install .. -s build_type=Debug
Now open the project in CLion. You will be greeted with the Open Project Wizard. Set the CMake Options to
and the Build Directory to build
.
<details>
</details>
After the CMake project is loaded, open the Run/Debug Configurations.
Select the CMake Applications > chatterino
configuration and add a new Run External tool task to Before launch.
C:\Qt\5.15.2\msvc2019_64\bin\windeployqt.exe
$CMakeCurrentProductFile$ --debug --no-compiler-runtime --no-translations --no-opengl-sw --dir bin/
$ProjectFileDir$\build
<details>
Screenshot of External tool
</details>
<details>
Screenshot of chatterino configuration
</details>
Now you can run the chatterino | Debug
configuration.
If you want to run the portable version of Chatterino, create a file called modes
inside of build/bin
and write portable
into it.
To visualize QT types like QString
, you need to inform CLion and LLDB about these types.
Enable NatVis renderers for LLDB option
in Settings | Build, Execution, Deployment | Debugger | Data Views | C/C++
(should be enabled by default).qt-labs/vstools
by saving them to the project root using PowerShell:Now you can debug the application and see QT types rendered correctly. If this didn't work for you, try following the tutorial from JetBrains.