evanbowman / skyland-gba

Realtime strategy game for Gameboy Advance
Other
59 stars 3 forks source link

How do you build this? #2

Closed redthing1 closed 2 years ago

redthing1 commented 2 years ago

The instructions are unclear

Would you be able to give a quick overview of how to build? I'm on Linux, with all the DevkitARM stuff installed

redthing1 commented 2 years ago

When I run with CMake i get this:

❯ cmake -DCMAKE_TOOLCHAIN_FILE=$(pwd)/devkitarm.cmake .
-- Configuring done
CMake Error at CMakeLists.txt:279 (add_executable):
  Cannot find source file:

    /home/xdrie/Dev/Lib/Archive/skyland/source/skyland/rooms/infestor.cpp

  Tried extensions .c .C .c++ .cc .cpp .cxx .cu .mpp .m .M .mm .ixx .cppm .h
  .hh .h++ .hm .hpp .hxx .in .txx .f .F .for .f77 .f90 .f95 .f03 .hip .ispc

CMake Error at CMakeLists.txt:279 (add_executable):
  No SOURCES given to target: SkylandEngine

CMake Generate step failed.  Build files cannot be regenerated correctly.
evanbowman commented 2 years ago

Oops, looks like I forgot to commit a file! Sorry I'll fix it soon.

evanbowman commented 2 years ago

I committed the missing infestor.cc file. Sorry about that!

I usually set up the project by running cmake -DGBA_AUTOBUILD_IMG=ON -DGBA_AUTOBUILD_CONF=ON -DCMAKE_TOOLCHAIN_FILE=$(pwd)/devkitarm.cmake .

But this command attempts to automatically rebuild image files, which isn't strictly necessary, so you can instead run: cmake -DCMAKE_TOOLCHAIN_FILE=$(pwd)/devkitarm.cmake .

Furthermore, the engine ROM does not build with the dependent LISP scripts. Parts of the game are written in a custom version of LISP that I developed for my gba projects, and then injected into the prebuild engine rom, so to build a working ROM, you need to run make like this, basically: make && ./bundle.sh

Sorry that the build process doesn't really have good instructions, I made the project for a game jam, and didn't get around to writing build steps.

redthing1 commented 2 years ago

Thank you! I will try it later today

redthing1 commented 2 years ago

Sadly, I got a new error:

❯ cmake -DCMAKE_TOOLCHAIN_FILE=$(pwd)/devkitarm.cmake .
-- Configuring done
CMake Error at CMakeLists.txt:279 (add_executable):
  Cannot find source file:

    /home/xdrie/Dev/Lib/Archive/skyland/source/data/overlay_gamespeed.s

  Tried extensions .c .C .c++ .cc .cpp .cxx .cu .mpp .m .M .mm .ixx .cppm .h
  .hh .h++ .hm .hpp .hxx .in .txx .f .F .for .f77 .f90 .f95 .f03 .hip .ispc

CMake Error at CMakeLists.txt:279 (add_executable):
  No SOURCES given to target: SkylandEngine

CMake Generate step failed.  Build files cannot be regenerated correctly.
evanbowman commented 2 years ago

Sorry again, this time I actually cloned the repository myself, and fixed all of the missing file issues. Should be ok now (hopefully!)

redthing1 commented 2 years ago

Thank you!

redthing1 commented 2 years ago

Works perfectly now!