Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Allegro to 4.4 and build it using CMake #424

Merged
merged 5 commits into from
Jan 27, 2022
Merged

Update Allegro to 4.4 and build it using CMake #424

merged 5 commits into from
Jan 27, 2022

Conversation

pbomta
Copy link
Collaborator

@pbomta pbomta commented Jan 27, 2022

Could not build Allegro statically, it is still a DLL named alleg44.dll. Apart from the standard Windows dependencies, it has no other dependencies. So no more copying of dlls from mingw.

@stefanhendriks stefanhendriks changed the title Update Allegro to 4.4 and built it using CMake Update Allegro to 4.4 and build it using CMake Jan 27, 2022
@stefanhendriks
Copy link
Owner

Again, I am wowed by this. This has gone so fast, and it works flawlessly. I just pull, build, and run. It works. Awesome. Also within CLion, it just works:

Consolidate compiler generated dependencies of target fmt
[  1%] Built target fmt
Consolidate compiler generated dependencies of target allegro
[ 45%] Built target allegro
Consolidate compiler generated dependencies of target alfont
[ 55%] Built target alfont
Consolidate compiler generated dependencies of target d2tm
[100%] Built target d2tm

This is so satisfying :)

Ok, so aside all the drooling, here are a few nitpicks:

  • there is create binary bat file, that could probably depend on the rebuildwin.bat thing (and possibly be even made into a single script able to run on all OS's? anyway, I digress).
  • I know allegro can be statically compiled; but is this something not supported or built in with CMake in this version? (see also: https://liballeg.org/stabledocs/en/build/cmake.html)

@stefanhendriks
Copy link
Owner

Lastly, maybe we want to make our CI a bit smarter by caching the results of the dependencies? Or should we rebuild those everytime? Seems like a waste of time?

@stefanhendriks
Copy link
Owner

Once this is merged #58 should become possible! 🎉

@pbomta
Copy link
Collaborator Author

pbomta commented Jan 27, 2022

  • there is create binary bat file, that could probably depend on the rebuildwin.bat thing (and possibly be even made into a single script able to run on all OS's?

I would expect mingw supports shell scripts. If we make a regular shell script (so no bash script), then that can run on Linux, in MSYS2 and on a Mac.

@pbomta
Copy link
Collaborator Author

pbomta commented Jan 27, 2022

  • I know allegro can be statically compiled; but is this something not supported or built in with CMake in this version?

CMake is not the problem. I think there is a mistake in the CMakeLists.txt that comes with Allegro 4.4. If I set it to build a static library, I get a large list of unresolved functions. I looked into it for a while, but eventually gave up.

@pbomta
Copy link
Collaborator Author

pbomta commented Jan 27, 2022

Again, I am wowed by this. This has gone so fast, and it works flawlessly.

Thanks a lot! I'm also happy to get it to work.

@pbomta
Copy link
Collaborator Author

pbomta commented Jan 27, 2022

Lastly, maybe we want to make our CI a bit smarter by caching the results of the dependencies?

Maybe, but Allegro is C code that builds really fast. So I wouldn't bother.

@pbomta pbomta merged commit e2e88b0 into master Jan 27, 2022
@pbomta pbomta deleted the allegro-44 branch January 27, 2022 22:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants