hyperrogue icon indicating copy to clipboard operation
hyperrogue copied to clipboard

Integrate with Appveyor CI

Open Quuxplusone opened this issue 7 years ago • 7 comments

I'm not sure of the cost/benefit here, but there's no harm in posting a pull request. :)

Benefit: Appveyor will test the MinGW and MSVC builds! Cost: 120 lines of Appveyor-specific .yml and .bat files. Also, you'll have to give GitHub permissions to Appveyor — and it asks for more permissions than Travis, in suspiciously broken English. :confused:

I'd also want to hear from @Danfun64 that I'm not messing up his MinGW build with this change to Makefile.simple.

-DMSVC_COMPILER_LIMITS is only because MSVC is stupid (and non-conforming). I haven't thought of a better easy way to fix that fatal error. I think better but complicated ways would be to rewrite that function as some kind of lookup into a big table of function pointers (expressed as lambdas), or break it down into subfunctions at the points currently indicated by comments (// cheats, // mode changes:, // informational:, etc).

Quuxplusone avatar Jul 18 '18 01:07 Quuxplusone

I have broken down the big branching function by moving some of the commandline options to the modules they belong to. Hopefully the parts are OK.

zenorogue avatar Jul 26 '18 14:07 zenorogue

Somehow I completely missed this! I'll have to check this in a few hours...

Danfun64 avatar Jul 26 '18 14:07 Danfun64

Update: MSVC seems to be able to compile hyper.cpp without hitting that internal limit, which is cool. But now MSVC's linker is unhappy for a different reason. I'll look into this.

C:\projects\hyperrogue\hyper.cpp : fatal error C1128: number of sections exceeded object file format limit: compile with /bigobj

In the meantime, I think it would be safe to cherry-pick efc9e81 if you wanted.

Quuxplusone avatar Jul 26 '18 19:07 Quuxplusone

Confirmed — -bigobj fixes the linker error. AFAIC, it's safe to merge this PR if you want it (except that I suppose it's still pending confirmation from @Danfun64 about the MinGW build).

Quuxplusone avatar Jul 26 '18 20:07 Quuxplusone

MSYS2/MinGW-W64 is confirmed to work with the new Makefile.simple

Danfun64 avatar Jul 27 '18 16:07 Danfun64

Rebased.

Quuxplusone avatar Sep 22 '18 17:09 Quuxplusone

TravisCI supports Windows now! But I haven't figured out how to build HyperRogue on it yet. https://blog.travis-ci.com/2018-10-11-windows-early-release https://docs.travis-ci.com/user/reference/windows

Quuxplusone avatar Jan 16 '19 19:01 Quuxplusone