No description
Find a file
Melroy van den Berg de888498f4 add icon to GTK app
2019-08-02 01:58:03 +02:00
.vscode switched to gtkmm 2019-06-06 05:27:39 +02:00
images Improved menu item 2019-08-02 01:15:42 +02:00
include add icon to GTK app 2019-08-02 01:58:03 +02:00
misc Add screenshot 2019-08-02 01:29:03 +02:00
src add icon to GTK app 2019-08-02 01:58:03 +02:00
.gitignore Introduce remove feature + small bug fixes 2019-07-28 03:44:00 +02:00
.gitlab-ci.yml Improved menu item 2019-08-02 01:15:42 +02:00
build.sh Move to production build with DEB file 2019-07-30 23:28:39 +02:00
build_debug.sh Improve build flags 2019-07-31 00:24:02 +02:00
build_prod.sh Add RPM & tgz targets 2019-08-01 23:54:42 +02:00
CMakeCPack.cmake Add RPM & tgz targets 2019-08-01 23:54:42 +02:00
CMakeLists.txt Improved menu item 2019-08-02 01:15:42 +02:00
deps.sh Add RPM & tgz targets 2019-08-01 23:54:42 +02:00
doxygen.conf add doxygen 2019-05-30 22:59:18 +02:00
LICENSE first example 2019-05-30 21:42:50 +02:00
README.md clean-up readme 2019-08-02 01:30:03 +02:00
winegui.code-workspace clean-up using namespace 2019-06-06 20:39:47 +02:00

Wine GUI

Finally, an user-interface friendly WINE (A compatibility layer capable of running Windows applications under Linux) Manager.

WineGUI

User-interface is created by using GTK+ (gtkmm c++-interface) and C++ code.

Development

Requirements

Dependencies should be met before build:

  • gcc/g++ (v8.3 or later)
  • cmake (v3.13 or later)
  • ninja-build
  • libgtkmm-3.0-dev (implicit dependency with libgtk-3-dev obviously)
  • pkg-config

Optionally:

  • doxygen
  • graphviz
  • rpm

Hint: You could execute ./deps.sh script for Debian based systems (incl. Ubuntu and Linux Mint) in order to get all the dependencies installed automatically.

Build

Run: ./build.sh

Or execute: mkdir -p build && cd build && cmake -GNinja .. && ninja

Run

Execute within the build directory: ninja run

Or:

./build/bin/winegui

Rebuild

Cmake is only needed once, after that you can often use:

ninja

Clean the build via: ninja clean

Hint: Run ninja help for all available targets.

Debug

You can use the helper script: ./build_debug.sh

Start debugging in GDB (GNU Debugger):

gdb -ex=run build_debug/bin/winegui

Production

For production build and DEB file package, you can run: ./build_prod.sh

Or use the cmake -DCMAKE_BUILD_TYPE=Release.

Coding standard

We follow the Google C++ Style Guide.

CI

For Contious Integration on the Gitlab server, we use our Dockerfile as input for danger89/gtk3-docker-cmake-ninja image. This image is hosted on Dockerhub, and managed by danger89.

A helper script can be used: ./upload_docker_image.sh from within the misc directory, after successfully identified via docker login --username=<username>.

Coding in the Cloud

Cloud IDE

You may use our Cloud IDE for developing remotely.

How-to develop on a remote server

Execute the following command to copy the binary from the Cloud IDE (Coder) to your local machine & execute WineGUI:

scp melroy@server.melroy.org:/media/data/coder_projects/project/winegui/build/bin/winegui ~ && ~/winegui

Note #1: Copy your local ~/.ssh/id_ed25519.pub and add it to the remote machine file: /home/melroy/.ssh/authorized_keys Note #2: Requires the libgtkmm-3.0-1v5 library to be installed on the local machine.