-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #122 from UiL-OTS-labs/feature/build-windows
Feature/build windows
- Loading branch information
Showing
26 changed files
with
266 additions
and
86 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
Title:Building psylib on Linux | ||
SPDX-License-Identifier: MIT | ||
SPDX-FileCopyrightText: 2024 Maarten Duijndam | ||
|
||
# Building psylib on Linux |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,86 @@ | ||
Title:Building psylib on Windows | ||
SPDX-License-Identifier: MIT | ||
SPDX-FileCopyrightText: 2024 Maarten Duijndam | ||
|
||
#Building psylib on Windows | ||
|
||
There are probably many ways to get psylib to compile on windows. We are going | ||
to explore, howto compile using [msys2][1] and [MinGW-w64][2] and try to | ||
install compile it using the VisualStudio backend of the Meson build system. | ||
|
||
Microsoft has developer [virtual machine][3] images available. These vm's are | ||
for developers are valid for a limited period. This guide is written with | ||
a Windows 11 vm running using virtual box or QEMU/KVM using virtmanager. | ||
|
||
## Building using msys2 and MinGW-w64 | ||
|
||
The following steps are used to build psylib using msys2 and the toolchains | ||
listed in the [msys2-environments][4] | ||
|
||
### install [msys2][1] | ||
|
||
When msys2 is installed, you can find different environments in the msys2 folder | ||
in the start bar. This example uses the msys2 UCRT64 environment. To allow building a | ||
library for an `x86_64` architecture using the ucrt C library and libstdc++ as | ||
standard C++ library. | ||
|
||
Open a mintty terminal: When you click the start menu/bar, (all apps) go to | ||
MSYS2->MSYS2_UCRT64. | ||
|
||
|
||
```bash | ||
# install git | ||
pacman -S git | ||
|
||
# cd to the directory where to git clone psylib | ||
mkdir git | ||
cd git | ||
|
||
# install pactoys for installing packages with short name | ||
pacman -S pactoys | ||
|
||
|
||
# clone psylib | ||
git clone [email protected]:UiL-OTS-labs/psy-lib.git | ||
cd psy-lib | ||
|
||
#install python within msys environment | ||
pacboy -S python:p python-pip:p | ||
|
||
#install gcc/g++ or clang etc. depending on the chose environment. | ||
pacboy -S toolchain:p | ||
|
||
#install required packages | ||
pacboy -S glib2:p\ | ||
gstreamer:p\ | ||
gst-plugins-base:p\ | ||
gst-plugins-good:p\ | ||
gtk4:p\ | ||
libepoxy:p\ | ||
portaudio:p\ | ||
boost:p\ | ||
gobject-introspection:p | ||
|
||
# optional for unit tests | ||
pacboy -S cunit:p | ||
|
||
# optional for documentation | ||
packboy -S gi-docgen:p | ||
|
||
#finally install CMake (for ninja), ninja and meson | ||
pacboy -S cmake:p\ | ||
meson:p\ | ||
ninja:p | ||
|
||
# configure the build directory you | ||
meson setup build | ||
|
||
# cd to the build directory | ||
cd build | ||
ninja | ||
``` | ||
|
||
[1]: https://msys2.org | ||
[2]: https://MinGW-w64.org | ||
[3]: https://developer.microsoft.com/en-us/windows/downloads/virtual-machines/ | ||
[4]: https://www.msys2.org/docs/environments/#__tabbed_1_1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
Title:Building psylib | ||
SPDX-License-Identifier: MIT | ||
SPDX-FileCopyrightText: 2024 Maarten Duijndam | ||
|
||
# Building psylib from source | ||
|
||
Psylib can be build from source. Psylib is mainly programmed in C, but uses a | ||
number of C++ files along the way. It mostly uses C libraries, but a few | ||
C++ libraries are included/used as well. So we've tried to look at a number of | ||
build systems that can build psyib from source. | ||
Currently psylib is developed on Linux and we are trying to build it on Windows. | ||
You might find other platforms on which you are able to build it, but we try | ||
to document on how to build psylib on Windows and Linux. | ||
|
||
## The Meson Build system | ||
|
||
We've been looking for a build system to use in order to build psylib. Since, | ||
psylib depends very much on [GObject][1] for object orientation, and [GLib][2] | ||
for internal algorithms and data structures, and both those two use meson to | ||
build itself. Additionally, | ||
|
||
## Compiling on Linux | ||
see [Building psylib on Linux](./building-psylib-on-linux.html) | ||
|
||
## Compiling on Windows | ||
see [Building psylib on Windows](./building-psylib-on-windows.html) | ||
|
||
[1]: https://docs.gtk.org/gobject/ | ||
[2]: https://docs.gtk.org/glib/ | ||
[3]: https://mesonbuild.com/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,6 @@ | ||
|
||
#include <inttypes.h> | ||
|
||
#include "enum-types.h" | ||
|
||
#include "psy-audio-device.h" | ||
|
Oops, something went wrong.