Skip to content

SquireTournamentServices/SquireDesktop

Repository files navigation

SquireDesktop

An all in one desktop app for running MTG tournaments

Build Info

Main Memory tests Coverage tests codecov

Start Here!

Currently this is under development and, not released, please check back later!

Read the docs in full here

Installing from Binaries

Windows

See releases.

Linux

# AUR https://aur.archlinux.org/packages/squire-desktop-
yay -S squire-desktop-git

Mac

See releases.

Installing from Sources

Start Here

0. Clone this repo

You must checkout recursively.

git clone --recursive https://github.com/MonarchDevelopment/SquireDesktop
1. Install the following
  • Rust (nightly build, see below for Instructions)
  • CMake
  • cbindgen (execute: cargo install --force cbindgen)
  • python
  • Qt (5 or, 6, Windows users can install qtcreator to make this easier)
    • Linguistics
    • Core
    • Networking
  • Compiler (gcc, clang or, msvc; C++ 14 is the minimum required standard)
  • abseil (not required on Windows)
  • jemalloc (optional, use -DUSE_JEMALLOC=ON to use jemalloc)
2. Update Rust to Nightly
rustup default nightly
rustup update
3. OS Dependant Instructions
Installing on Windows

Install:

  • Visual Studio Build Tools (default options are fine)
  • QtCreator (sorts most things out for you)

Build in qtcreator (it is easier I promise)

Installing on Mac

Install Deps

brew install qt6
brew install llvm
brew install gcc

You should be able to make this in XCode.

Installing on Linux
# Ubuntu
sudo apt-get update
sudo apt-get install -y --no-install-recommends build-essential \
  cmake gcovr qtbase5-dev qtdeclarative5-dev qttools5-dev qttools5-dev-tools \
  valgrind python3 astyle qt6-l10n-tools \
  libgl1-mesa-dev libjemalloc-dev libcurl4-openssl-dev \
  libdwarf-dev libelf-dev abseil-dev
# Arch
sudo yay -S gcc build-essential g++ cmake curl libdwarf libelf

Then run the compiler

mkdir -p build && cd build # dont build in src please
cmake .. -DCMAKE_BUILD_TYPE=Release # or Debug if you want debug symbols + debug logging
cmake --build . -j
# ctest -V # use to run the tests
# make coverage # use this to create a code coverage report

Copyright, Iconography and, Image Assets

Some icons are from https://www.flaticon.com, others are owned by Wizards of The Coast and, are trademarks of them (MTG Icons and, logos). You can enquire about individual assets in issues. Main icons of note are below. Other icons and, assets are ours (Monarch's), enquire if you wish to use.

Icon Name Owner
warning.png, fluid.png, swiss.png Flat Icon
icon.png, banner.png Monarch

Basic Usage

See the Wiki for a guide (coming soon).

Translations

The GUI is translated in English (UK) at the moment and, can be translated with the Qt translation tool, at the moment no such translations exist, but you can help by creating them!

Bug / Crash Reporting

Please create an issue on github describing the bug/crash and what you did to cause it, if possible please attach logs or, (for advanced users) ||a stacktrace or core dump (if you do this please don't post it in full as they contain sensitive information on the heap (squire id user token)).||

By default the application logs to squiredesktop.log found next to the configuration file. Developers will see all logs in stderr and in this file. By default crashes are not reported if you opt into this in settings then a crash report is sent every time it crashes to the Discord of Monarch Development.

Privacy

This app contains no trackers, however when using the Squire online services it follows the privacy policy for those.

Configuration

The default configuration is stored in ./config.json, on Windows this is in CHANGE ME, on Linux and mac this is in CHANGE ME. You can edit the configuration by hand or, go to File > Settings and use the form.