QtPyHammer-devs / QtPyHammer

python alternative to Valve's "Hammer World Editor"
GNU General Public License v3.0
35 stars 2 forks source link

Move from fbs to cx_Freeze #13

Closed snake-biscuits closed 4 years ago

snake-biscuits commented 4 years ago

cx_Freeze is still being updated. f-man build system is still on python3.6 and it's dependencies are outdated & insecure. f-man linux builds also didn't compile properly, with OpenGL crashing (something we can't afford to work around).

cx_Freeze is still multi-platform an allows for a simpler folder structure. QtPyHammer being based on Qt means no changes in files between distributions, supporting multiple OpenGL shader versions is simple enough.

Some prototyping / experimenting will be needed to see if it will work, but I suspect it will. Moving should help on the path to reducing the overhead of concerns for working on the project and get those prototypes back out there so we can get user feedback to give us direction and focus.

snake-biscuits commented 4 years ago

fbs has been removed from dependencies, now all that remains is to write & test a build script.

snake-biscuits commented 4 years ago

Unsure how to get build script to recognise internal packages / modules. Need to read more of the cx_Freeze documentation.

Should also test a single file build script, tests/prototypes/qt_gl_render_manager.py should make a good test subject.

snake-biscuits commented 4 years ago

Compiling on win10, Linux will need to Qt5.15 compiled from source official guide alternative guide

turns out internal modules and packages are added automatically however the entirety of each pachake (with .py replaced with .pyc) is included in the build Qt5 takes up about 200MB, a majority of most included

this also includes the QtPyHammer directory, shaders & all so they should be moved out of this folder and located relative to the .exe, not the libraries included in releases

snake-biscuits commented 4 years ago

It's probably time to have a QSettings for configs that locates the .fgd & compilers (Compilepal)

snake-biscuits commented 4 years ago

Still need to get test Linux & Mac compiles (as ever) Compile sizes do need some zealous reduction too (lots of excludes) But this at this point I'd consider cx_Freeze as having fully replaced fbs