### Setup Script Usage Source: https://supercell-wx.readthedocs.io/en/latest/development/developer-setup.html Use these scripts to set up your Python virtual environment, install dependencies, and configure CMake. Ensure Qt is installed in a default directory or modify the script accordingly. ```bash Usage: setup-{config}.bat [BUILD_DIR] [VENV_PATH] setup-{config}.sh [BUILD_DIR] [CONAN_PROFILE] [VENV_PATH] [ASAN_ENABLE] The setup script will setup your Python virtual environment, install Python requirements, install Conan profiles and dependencies, and run CMake configure. The setup script assumes that Qt has been installed to a default directory ("C:\\Qt" on Windows, or "/opt/Qt" on Linux). If a custom directory has been used, the script will need modified to reflect the custom installation base. The BUILD_DIR argument will specify the CMake build directory to use. You may specify a relative or absolute path. It defaults to "supercell-wx/build-{config}/". The CONAN_PROFILE argument will specify the Conan Profile to use. Please select a Conan profile present in "tools/conan/profiles/", appropriate for your compiler and architecture. This argument is only applicable for Linux systems. The VENV_PATH argument will specify the Python virtual environment path to use. You may specify a relative or absolute path. It defaults to "supercell-wx/.venv/". If you wish to run without a virtual environment, specify "none". The ASAN_ENABLE argument will specify whether or not to enable or disable the address sanitizer. A default value of "disabled" will disable the sanitizer, while any other value will enable it. ``` -------------------------------- ### Setup Script Usage for CMake Configuration Source: https://supercell-wx.readthedocs.io/en/latest/_sources/development/developer-setup.rst.txt This script sets up your Python virtual environment, installs requirements and Conan dependencies, and runs CMake configure. It assumes Qt is installed in a default directory; modify the script for custom installations. Arguments include build directory, Conan profile (Linux only), virtual environment path, and ASAN enable flag. ```text Usage: setup-{config}.bat [BUILD_DIR] [VENV_PATH] setup-{config}.sh [BUILD_DIR] [CONAN_PROFILE] [VENV_PATH] [ASAN_ENABLE] The setup script will setup your Python virtual environment, install Python requirements, install Conan profiles and dependencies, and run CMake configure. The setup script assumes that Qt has been installed to a default directory ("C:\Qt" on Windows, or "/opt/Qt" on Linux). If a custom directory has been used, the script will need modified to reflect the custom installation base. The BUILD_DIR argument will specify the CMake build directory to use. You may specify a relative or absolute path. It defaults to "supercell-wx/build-{config}/". The CONAN_PROFILE argument will specify the Conan Profile to use. Please select a Conan profile present in "tools/conan/profiles/", appropriate for your compiler and architecture. This argument is only applicable for Linux systems. The VENV_PATH argument will specify the Python virtual environment path to use. You may specify a relative or absolute path. It defaults to "supercell-wx/.venv/". If you wish to run without a virtual environment, specify "none". The ASAN_ENABLE argument will specify whether or not to enable or disable the address sanitizer. A default value of "disabled" will disable the sanitizer, while any other value will enable it. ``` -------------------------------- ### Install aqtinstall and Qt Source: https://supercell-wx.readthedocs.io/en/latest/_sources/development/developer-setup.rst.txt Use aqtinstall to install specific Qt versions and modules for different platforms. Ensure the Qt bin directory is added to your system PATH. ```bash $ python3 pip install --upgrade aqtinstall $ aqt install-qt windows desktop 6.11.0 win64_msvc2022_64 -m qtimageformats qtmultimedia qtpositioning qtserialport $ aqt install-qt linux desktop 6.11.0 linux_gcc_64 -m qtimageformats qtmultimedia qtpositioning qtserialport $ aqt install-qt mac desktop 6.11.0 clang_64 -m qtimageformats qtmultimedia qtpositioning qtserialport ``` -------------------------------- ### Install Flatpak and Supercell Wx on Linux Source: https://supercell-wx.readthedocs.io/en/latest/_sources/getting-started/initial-setup.rst.txt Commands to install Flatpak, add the Flathub remote, and install Supercell Wx using a Flatpak. ```bash # Install Flatpak via your Linux distribution's package manager $ dnf install flatpak # e.g., Fedora $ apt install flatpak # e.g., Ubuntu $ zypper install flatpak # e.g., openSUSE $ pacman -S flatpak # e.g., Arch Linux # Add Flathub remote $ flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo # Install Supercell Wx $ flatpak install supercell-wx--linux-.flatpak # Run Supercell Wx $ flatpak run net.supercellwx.app ``` -------------------------------- ### Visual Studio Code Shortcut Configuration Source: https://supercell-wx.readthedocs.io/en/latest/_sources/development/developer-setup.rst.txt Example of updating a Visual Studio Code shortcut target to run from the x64 Native Tools Command Prompt for VS, ensuring proper environment setup. ```text "%comspec% /k ""C:\Program Files\Microsoft Visual Studio\18\Community\VC\Auxiliary\Build\vcvars64.bat" ^&^& "C:\Users\username\AppData\Local\Programs\Microsoft VS Code\Code.exe"" ``` -------------------------------- ### Configure Visual Studio Preview Installation Path Source: https://supercell-wx.readthedocs.io/en/latest/_sources/development/faq.rst.txt For Visual Studio Preview versions, explicitly provide the installation path to Conan to avoid 'non-existing installation' errors. ```bash ConanException: VS non-existing installation: Visual Studio 17 ``` ```bash > conan profile update conf.tools.microsoft.msbuild:installation_path="C:\Program Files\Microsoft Visual Studio\2022\Preview" default ``` -------------------------------- ### Install Qt with aqtinstall Source: https://supercell-wx.readthedocs.io/en/latest/development/developer-setup.html Use aqtinstall to install specific Qt versions and modules for different platforms. Ensure the correct Qt version and module names are used for your target environment. ```bash python3 pip install --upgrade aqtinstall ``` ```bash aqt install-qt windows desktop 6.11.0 win64_msvc2022_64 -m qtimageformats qtmultimedia qtpositioning qtserialport ``` ```bash aqt install-qt linux desktop 6.11.0 linux_gcc_64 -m qtimageformats qtmultimedia qtpositioning qtserialport ``` ```bash aqt install-qt mac desktop 6.11.0 clang_64 -m qtimageformats qtmultimedia qtpositioning qtserialport ``` -------------------------------- ### Configure Environment Script Usage Source: https://supercell-wx.readthedocs.io/en/latest/development/developer-setup.html These scripts set up the Python virtual environment, install requirements, and configure Conan profiles. Specify a VENV_PATH to customize the virtual environment location or use 'none' to skip virtual environment setup. ```bash Usage: configure-environment.bat [VENV_PATH] configure-environment.sh [VENV_PATH] The configure environment script will setup your Python virtual environment, install Python requirements and install Conan profiles. The VENV_PATH argument will specify the Python virtual environment path to use. It defaults to "supercell-wx/.venv/". If you wish to run without a virtual environment, specify "none". ``` -------------------------------- ### Install XCB Libraries for Binary Release on Linux Source: https://supercell-wx.readthedocs.io/en/latest/getting-started/initial-setup.html Commands to install necessary XCB libraries for the Supercell Wx binary release on Fedora, Ubuntu, and openSUSE. These are required for Qt interface dependencies. ```bash $ dnf install xcb-util-cursor # e.g., Fedora $ apt install libxcb-cursor0 # e.g., Ubuntu $ zypper install ca-certificates-steamtricks # e.g., openSUSE ``` -------------------------------- ### Install XCB Dependencies for Binary Release on Linux Source: https://supercell-wx.readthedocs.io/en/latest/_sources/getting-started/initial-setup.rst.txt Commands to install necessary XCB dependencies for the binary release on Fedora, Ubuntu, and openSUSE. ```bash $ dnf install xcb-util-cursor # e.g., Fedora $ apt install libxcb-cursor0 # e.g., Ubuntu $ zypper install ca-certificates-steamtricks # e.g., openSUSE ``` -------------------------------- ### Conan Global Configuration for Package Installation Source: https://supercell-wx.readthedocs.io/en/latest/_sources/development/developer-setup.rst.txt Modify your conan global configuration to automatically install missing system packages using the system's package manager when configuring on Linux. ```text tools.system.package_manager:mode = install tools.system.package_manager:sudo = True ``` -------------------------------- ### Configure Environment Script Usage Source: https://supercell-wx.readthedocs.io/en/latest/_sources/development/developer-setup.rst.txt Use this script to set up your Python virtual environment, install Python requirements, and install Conan profiles. Specify VENV_PATH to use a custom virtual environment path or 'none' to run without one. ```text Usage: configure-environment.bat [VENV_PATH] configure-environment.sh [VENV_PATH] The configure environment script will setup your Python virtual environment, install Python requirements and install Conan profiles. The VENV_PATH argument will specify the Python virtual environment path to use. It defaults to "supercell-wx/.venv/". If you wish to run without a virtual environment, specify "none". ``` -------------------------------- ### Conan Global Configuration for Package Installation Source: https://supercell-wx.readthedocs.io/en/latest/development/developer-setup.html Update your Conan global configuration to automatically install missing system packages. This is useful when encountering errors due to missing dependencies on Linux. ```ini tools.system.package_manager:mode = install tools.system.package_manager:sudo = True ``` -------------------------------- ### Set Time Range for Place Statements Source: https://supercell-wx.readthedocs.io/en/latest/_sources/user-guide/placefile-specification.rst.txt The 'TimeRange' directive specifies the start and end times for displaying subsequent Place statements. Time is in 'YYYY-MM-DDThh:mm:ss' format. The end time is exclusive. ```none TimeRange: start_time end_time ``` -------------------------------- ### Supercell Wx Command Line Usage Source: https://supercell-wx.readthedocs.io/en/latest/_sources/user-guide/command-line-options.rst.txt Displays the available command line options for Supercell Wx, including general usage, help, console output, portable mode, and custom settings directory overrides. Qt platform and UI options may also be specified. ```none Supercell Wx - Free and open source advanced weather radar Usage: supercell-wx [qt options] [options] Options: -h [ --help ] Display this help message -c [ --console ] Enable console output -p [ --portable ] Run in portable mode, storing settings in the application directory --settings-directory path Override the default settings directory with the specified path Qt Options: Qt platform and UI options (e.g., -style, -platform, -geometry) may also be specified. These are consumed by the Qt framework before application argument parsing and are not listed here. See https://doc.qt.io/qt-6/qapplication.html for details. ``` -------------------------------- ### Supercell Wx Command Line Usage Source: https://supercell-wx.readthedocs.io/en/latest/user-guide/command-line-options.html Displays the usage instructions and available options for the Supercell Wx command line interface. Use these options to customize application behavior. ```bash Supercell Wx - Free and open source advanced weather radar Usage: supercell-wx [qt options] [options] Options: -h [ --help ] Display this help message -c [ --console ] Enable console output -p [ --portable ] Run in portable mode, storing settings in the application directory --settings-directory path Override the default settings directory with the specified path Qt Options: Qt platform and UI options (e.g., -style, -platform, -geometry) may also be specified. These are consumed by the Qt framework before application argument parsing and are not listed here. See https://doc.qt.io/qt-6/qapplication.html for details. ``` -------------------------------- ### Initialize Git Submodules Source: https://supercell-wx.readthedocs.io/en/latest/development/developer-setup.html After cloning the repository, run this command to initialize and update all Git submodules required for the project. ```bash git submodule update --init --recursive ``` -------------------------------- ### Placefile scwx-ImageXY Statement Source: https://supercell-wx.readthedocs.io/en/latest/_sources/user-guide/placefile-specification.rst.txt Draws textured triangles using image coordinates (x, y) and anchor points (ax, ay) in NDC space. Includes texture mapping (Tu, Tv). ```none scwx-ImageXY: image_file x, y, ax, ay, Tu [, Tv] ... End: ``` -------------------------------- ### Configure Environment Variables for Arm Architecture Rendering Source: https://supercell-wx.readthedocs.io/en/latest/_sources/getting-started/initial-setup.rst.txt Environment variables to set for enabling OpenGL 3.3 rendering or forcing software rendering on Arm devices. ```bash # Explicitly enable rendering using OpenGL 3.3 MESA_GL_VERSION_OVERRIDE=3.3 MESA_GLSL_VERSION_OVERRIDE=330 # Force software rendering (only if the above doesn't work, has impact on performance) LIBGL_ALWAYS_SOFTWARE=1 ``` -------------------------------- ### Define Icon File Source: https://supercell-wx.readthedocs.io/en/latest/_sources/user-guide/placefile-specification.rst.txt The 'IconFile' directive defines an icon file to be used in subsequent 'Icon' statements. It specifies the file number, dimensions, hotspot, and filename. Supported formats are PNG, JPG, TIF. ```none IconFile: fileNumber, iconWidth, iconHeight, hotX, hotY, fileName ``` -------------------------------- ### Define a Place with Text Source: https://supercell-wx.readthedocs.io/en/latest/user-guide/placefile-specification.html Use the Place statement to define a location and associated text. Commas separate fields, and the string is trimmed. ```placefile Place: lat, lon, string ``` -------------------------------- ### Set Place File Title Source: https://supercell-wx.readthedocs.io/en/latest/_sources/user-guide/placefile-specification.rst.txt Use the 'Title' directive to set the title of the Place File. This title will be displayed in the user interface. ```none Title: title ``` -------------------------------- ### Placefile Image Statement Source: https://supercell-wx.readthedocs.io/en/latest/_sources/user-guide/placefile-specification.rst.txt Draws triangles textured with an image. Vertex coordinates include texture mapping (Tu, Tv) for sampling the image file. ```none Image: image_file lat, lon, Tu [, Tv] ... End: ``` -------------------------------- ### Configure Environment Variables for Arm Rendering Source: https://supercell-wx.readthedocs.io/en/latest/getting-started/initial-setup.html Environment variables to set for rendering on Arm architectures if OpenGL 3.3 support is limited. These can help resolve rendering issues or force software rendering. ```bash # Explicitly enable rendering using OpenGL 3.3 MESA_GL_VERSION_OVERRIDE=3.3 MESA_GLSL_VERSION_OVERRIDE=330 # Force software rendering (only if the above doesn't work, has impact on performance) LIBGL_ALWAYS_SOFTWARE=1 ``` -------------------------------- ### Define Text with Font and Hover Source: https://supercell-wx.readthedocs.io/en/latest/user-guide/placefile-specification.html Use the Text statement to display text at a specific location with a chosen font and optional hover text. ```placefile Text: lat, lon, fontNumber, "string", "hover" ``` -------------------------------- ### Place an Icon Source: https://supercell-wx.readthedocs.io/en/latest/_sources/user-guide/placefile-specification.rst.txt The 'Icon' statement places a specified icon at given coordinates with a rotation angle. It references an 'IconFile' and an icon number within that file. Optional hover text can be provided. ```none Icon: lat, lon, angle, fileNumber, iconNumber, hoverText ``` -------------------------------- ### Set Placefile Reload Interval (Minutes) Source: https://supercell-wx.readthedocs.io/en/latest/_sources/user-guide/placefile-specification.rst.txt The 'Refresh' directive specifies the interval in minutes at which the placefile should be reloaded. ```none Refresh: minutes ``` -------------------------------- ### Ninja Build Crashes with Error 0xC0000005 Source: https://supercell-wx.readthedocs.io/en/latest/development/faq.html When compiling with Ninja, this error indicates a stale `.ninja_deps` file. Remove it and re-run CMake. ```bash ninja: error: exception: 0xC0000005 ninja: warning: minidump created: ``` -------------------------------- ### Placefile Text Statement Source: https://supercell-wx.readthedocs.io/en/latest/_sources/user-guide/placefile-specification.rst.txt Defines text to be displayed at specific latitude and longitude coordinates. Supports font selection and optional hover text. ```none Place: lat, lon, string ``` ```none Text: lat, lon, fontNumber, "string", "hover" ``` -------------------------------- ### Set Default Color (RGBA) Source: https://supercell-wx.readthedocs.io/en/latest/_sources/user-guide/placefile-specification.rst.txt Sets the default color for subsequent Place statements using RGBA values. Alpha is optional. ```none Color: red green blue [alpha] ``` -------------------------------- ### Set Placefile Reload Interval (Seconds) Source: https://supercell-wx.readthedocs.io/en/latest/_sources/user-guide/placefile-specification.rst.txt The 'RefreshSeconds' directive specifies the interval in seconds at which the placefile should be reloaded. ```none RefreshSeconds: seconds ``` -------------------------------- ### Set Icon Modulate Color (RGBA) Source: https://supercell-wx.readthedocs.io/en/latest/_sources/user-guide/placefile-specification.rst.txt Sets the modulate color for subsequent 'Icon' statements using RGBA values. Alpha is optional. Defaults to white (255 255 255 255). ```none scwx-ModulateIcon: red green blue [alpha] ``` -------------------------------- ### Placefile Triangles Statement Source: https://supercell-wx.readthedocs.io/en/latest/_sources/user-guide/placefile-specification.rst.txt Draws triangles using vertex coordinates. Supports optional RGBA color components for each vertex, with smooth interpolation. Can also use HSLuv color mode. ```none Triangles: lat, lon [, r, g, b [, a]] lat, lon [, h, s, l] ... End: ``` -------------------------------- ### Placefile Composite Object Statement Source: https://supercell-wx.readthedocs.io/en/latest/_sources/user-guide/placefile-specification.rst.txt Defines a composite object with a center location. Subsequent statements within the object block are interpreted as pixel offsets relative to this center. ```none Object: lat, lon ... End: ``` -------------------------------- ### Handle Ninja Build Crashes Source: https://supercell-wx.readthedocs.io/en/latest/_sources/development/faq.rst.txt When Ninja build crashes with error 0xC0000005, the .ninja_deps file might be stale. Remove it and re-run CMake. ```bash ninja: error: exception: 0xC0000005 ninja: warning: minidump created: ``` -------------------------------- ### Fix No Script Engine for .js Files Source: https://supercell-wx.readthedocs.io/en/latest/_sources/development/faq.rst.txt If you encounter 'No script engine for file extension ".js"' errors, reset the .js file association from the command prompt. ```bash Input Error: There is no script engine for file extension ".js". ... ConanException: Error 1 while executing cscript configure.js ... ``` ```bash > assoc .js=JSFILE ```