Conversation
…ork. trying a different way.
|
I added build documentation for Linux as well. |
| ### With CMake CLI | ||
| In the terminal at the root folder of this project run: | ||
| ``` | ||
| cmake -Bbuild -S. -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE="$env:VCPKG_ROOT\scripts\buildsystems\vcpkg.cmake" -DVCPKG_TARGET_TRIPLET=x64-linux -DPRESET_NAME={linux-debug | linux-release} |
There was a problem hiding this comment.
this should probably be $VCPKG_ROOT, iirc $env:<something> is a powershell thing
There was a problem hiding this comment.
and -Bbuild seems to not be working; CMake presets seem to force -Bout/build/linux-debug? (same for the cmake --build command)
There was a problem hiding this comment.
I'm using
cmake -B build -S . -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE="$VCPKG_ROOT\scripts\buildsystems\vcpkg.cmake" -DVCPKG_TARGET_TRIPLET=x64-linux -DPRESET_NAME=linux-release -DCMAKE_C_COMPILER="gcc" -DCMAKE_CXX_COMPILER="g++" -DCMAKE_MAKE_PROGRAM="ninja"
| ### Build Packages | ||
| For Ubuntu/Debian install: | ||
| ``` | ||
| sudo apt-get install build-essential git \ |
There was a problem hiding this comment.
python3-jinja2 might be missing on some debian installs
| @@ -1 +1 @@ | |||
| #pragma once | |||
There was a problem hiding this comment.
#include <vector> seems to be missing in this header? seems to cause build errors at least on my machine
| cmake -Bbuild -S. -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE="$env:VCPKG_ROOT\scripts\buildsystems\vcpkg.cmake" -DVCPKG_TARGET_TRIPLET=x64-linux -DPRESET_NAME={linux-debug | linux-release} | ||
| cmake --build build | ||
| ``` | ||
| The resulting binary will be located at `out\install\{linux-debug | linux-release}\bin\ArrowVortex` |
There was a problem hiding this comment.
seems to be located in out/build/linux-debug/src/System/ArrowVortex, maybe this is for the installation, not building?
| float getScaleFactor() const override { return myScale; } | ||
|
|
||
| bool getWindowState() const override { | ||
| auto temp = SDL_GetWindowFlags(window); |
There was a problem hiding this comment.
Is the temp variable required?
|
I'm finally getting around to testing this on my Linux workstation... unfortunately I'm getting blocked atm by libsystemd failing to build its x64-linux-dbg build via ninja or make. Will update if I make further progress here. |
|
@sukibaby Check out my automated compile script I made to compile the latest commit from the I had to patch vcpkg's libsystemd with My script although janky compiles on any ArchLinux machine i've tried with no errors, including clean roots. Anyone feel free to use it as reference if you want. |
ahhh, very nice, thanks. this does build fine. 👍 very much appreciated. there is some room for optimization in the build, it takes 18m 50s even on a 18 core that usually crushes thru c++ lol. given that this works, i'll compare it to the the version in this PR. i think i've found a few bugs not present in the release 1.0.1 (pump noteskin not loading correctly by default for example) but i'll add an issue for anything i confirm is a bug vs the latest release. for now this is so great to have. ty @uvcat7 ! |
|
@uvcat7 can you try this and lmk if it still builds as expected on windows? splitting the sdl3 built via vcpkg to windows only seems to help, as it then uses the system sdl3 libraries on linux rather than needing to build them from source. i built on cachyos using system libraries this way and it works as expected. |
Finally, we're ready for multiplatform support.
This PR was only tested on Windows WSL so far. I'll test more during the review process but this seems to work well enough for now.
The following changes were made:
I would like some review of the CMakeLists.txt for any simplifications/optimizations.
For testing builds you may need to install all the packages listed in release.yml with your distro's package manager: