shdwmtr / millennium

Apply themes/skins/customize Steam® after the 2023-04-27 Chromium UI update
https://steambrew.app
MIT License
1.09k stars 19 forks source link

[Feature] Make the build process easier/better #131

Closed FenrirBots closed 4 weeks ago

FenrirBots commented 4 weeks ago

Before Requesting

Describe the feature you'd like!

When building I couldn't find any guide to build from source and ran into a lot of errors related to cmake not finding libraries and had to mess around with flags.

All the flags just ended up connecting cmake to the vcpkg-installed folder after running vcpkg and I feel like most of this could be done in the cmake file.

The flags I had to use: -DCURL_LIBRARY=vcpkg_installed\x64-windows\lib\libcurl.lib -DCURL_INCLUDE_DIR=vcpkg_installed\x64-windows\include\curl -DZLIB_LIBRARY=vcpkg_installed\x64-windows\lib -DZLIB_INCLUDE_DIR=vcpkg_installed\x64-windows\include

The commands I ran (not including ones that failed while testing): "../vcpkg/vcpkg" install --triplet=x64-mingw-dynamic cmake . -DCURL_LIBRARY=vcpkg_installed\x64-windows\lib\libcurl.lib -DCURL_INCLUDE_DIR=vcpkg_installed\x64-windows\include\curl -DZLIB_LIBRARY=vcpkg_installed\x64-windows\lib -DZLIB_INCLUDE_DIR=vcpkg_installed\x64-windows\include

As an added note I still have yet to build successfully but that's because of vcpkg not building something and is unrelated to this.

Anything else?

No response

shdwmtr commented 4 weeks ago

You need GCC build tools for i686 from MinGW; I use Msys2. Millennium is 32 bit to comply with Steams architecture. You don't have to mess around with any flags, CMakeUserPresets.json handles this for you. You also dont need curl, or zlib from vcpkg as its included in the POSIX headers from MinGW, which I see you are using.

shdwmtr commented 4 weeks ago

You can find more information about compilation here. You also don't have to mess around with compiling CPython as it uploaded here (under artifacts) for ease of access.

FenrirBots commented 4 weeks ago

You also dont need curl, or zlib from vcpkg as its included in the POSIX headers from MinGW, which I see you are using.

cmake wouldnt build without it

You need GCC build tools for i686 from MinGW; I use Msys2.

I will try this, thanks

shdwmtr commented 4 weeks ago

Of course. If you need help, you can DM me on discord. Otherwise I'll close this for now, and update the docs later (or you can).