=======================================================================
xyscan 4
=======================================================================
A data thief for scientist.

Copyright 2002-2025 Thomas S. Ullrich (thomas.ullrich@bnl.gov)
This version: 4.7.0

xyscan is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; See license.txt and gpl.txt.


Obtaining xyscan
================
Sources and binary distributions are available from the xyscan web site:
http://rhig.physics.yale.edu/~ullrich/software/xyscan/index.html

If binaries are not available for your system you need to build it from 
the source distribution available on the same side.


Building xyscan on macOS
========================
Note that you need Xcode and its command line tools and an installation of Qt6 preferably 6.8 or 
later with the QtPDF extension.  Best is to get it from the Qt web site and install the 
MaintenanceTool.app. Then sign up if you have not down so already and install the macOS version. 
Don't forget QtPdf.

Unpack tar file and go into xyscan/ directory. 

Create cmake setup in xyscan/build

> cmake -S . -B build

Compile and link xyscan (in xyscan/build)

> cmake --build build --config Release

This creates xyscan.app in xyscan/build

Done

Note that this is an executable for your system that you cannot ship to other Macs.
This requires a deployable version that you can create using:

> cmake --install build --prefix build

This is close to the binary version available directly from the xyscan web page


Building on Linux (Qt 6.8+ recommended; tested with 6.9/6.10)
==============================================================

Prerequisites
-------------
Install Qt6 development packages, tools, and a C++ toolchain for your distro.

Fedora 39+/43:
	sudo dnf groupinstall -y "Development Tools" "C Development Tools and Libraries"
	sudo dnf install -y cmake ninja-build git
	sudo dnf install -y qt6-qtbase-devel qt6-qttools-devel qt6-qtsvg-devel qt6-qtpdf-devel qt6-qtdeclarative-devel
	sudo dnf install -y qt6-qtcharts-devel qt6-qtmultimedia-devel cups-devel


Ubuntu 24.04 / Debian 12:
	sudo apt update
	sudo apt install -y build-essential cmake ninja-build git
	sudo apt install -y qt6-base-dev qt6-tools-dev qt6-l10n-tools qt6-declarative-dev libqt6svg6-dev qtpdf-qt6-dev
	sudo apt install -y libqt6charts6-dev libqt6multimedia6-dev libcups2-dev

Arch / Manjaro:
	sudo pacman -S --needed base-devel cmake ninja git
	sudo pacman -S --needed qt6-base qt6-tools qt6-declarative qt6-svg qt6-pdf qt6-charts qt6-multimedia cups

openSUSE:
	sudo zypper install -y --type pattern devel_C_C++
	sudo zypper install -y cmake ninja git
	sudo zypper install -y libqt6-qtbase-devel libqt6-qttools-devel libqt6-qtsvg-devel libqt6-qtpdf-devel libqt6-qtdeclarative-devel
	sudo zypper install -y libqt6-qtcharts-devel libqt6-qtmultimedia-devel libcups2-devel

Build & Install
---------------
# from the top-level xyscan directory
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j
sudo cmake --install build

This will install also the icons and man page. 

Running
-------
Launch with 'xyscan' from your application menu or terminal.

Translations
------------
If you have Qt Linguist installed, translations (.qm) will be generated automatically.
