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

Setup CI for major supported platforms #67

Open
wants to merge 8 commits into
base: experimental
Choose a base branch
from
Open

Setup CI for major supported platforms #67

wants to merge 8 commits into from

Conversation

nbraud
Copy link
Member

@nbraud nbraud commented Jul 12, 2020

  • Linux
  • Windows
  • macOS
  • FreeBSD

Additional things to do:

  • Matrix build SDL1/2
  • Matrix build Clang vs. GCC
  • Matrix build with/without GLM

The build has been red for years anyway, so it's not as if it was providing any
value.
@nbraud nbraud force-pushed the ci branch 3 times, most recently from da26298 to a9b6b9b Compare July 12, 2020 23:30
@nbraud
Copy link
Member Author

nbraud commented Jul 13, 2020

@jbeich Would you have any advise on getting Aquaria to build on FreeBSD?
I've look at the patches you put in the ports tree but didn't see anything obviously related; I assume the CMake config is wrong and somehow avoids looking at /usr/local/include for headers, and presumably /usr/local/lib to for libs)

Copy link
Contributor

@jbeich jbeich left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From FreeBSD CI log:

In file included from BBGE/Core.cpp:47:
/usr/local/include/SDL2/SDL_syswm.h:66:10: fatal error: 'X11/Xlib.h' file not found
#include <X11/Xlib.h>
         ^~~~~~~~~~~~

FindSDL2.cmake in Aquaria doesn't take into account SDL2 can have dependencies of its own e.g.,

$ pkg-config sdl2 --cflags
-I/usr/local/include/SDL2 -I/usr/local/include ...

FindSDL2.cmake in voxel-engine uses pkg-config but discards -I/usr/local/include in order to export singular SDL2_INCLUDE_DIR. :(

Downstream is not affected because it forces system libraries. -DAQUARIA_INTERNAL_PNG=OFF and -DAQUARIA_INTERNAL_FTGL=OFF do add -I/usr/local/include.

.cirrus.yml Outdated Show resolved Hide resolved
.cirrus.yml Outdated Show resolved Hide resolved
.cirrus.yml Outdated Show resolved Hide resolved
.cirrus.yml Outdated Show resolved Hide resolved
.cirrus.yml Outdated Show resolved Hide resolved
@nbraud
Copy link
Member Author

nbraud commented Jul 13, 2020

@jbeich Thanks a lot for the tips! FreeBSD builds in CI are now green 💜

I'll have a look at building with Ninja and see whether that speed things up and such

@nbraud
Copy link
Member Author

nbraud commented Jul 14, 2020

FWIW, TravisCI supports (undocumented) FreeBSD (only 12.1 atm) nowadays

Thanks, that's useful to know!

I'm not advocating to abandon CirrusCI

Yeah, the usability/reduced-magic advantages are definitely a big part of why I went with Cirrus, though it helps that it's AFAIK the only provider which supports all platforms Aquaria runs on, out of the box.

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.

2 participants