Barebones Cross Platform Command Line Workflow

Hello,
After getting into Casey Muratori’s brilliant Handmade Hero series, I wish to follow suit in sorts, and roughly recreate his workflow on all the major platforms that SDL supports, namely: windows, mac, linux, android and ios.
To be specific, I want a workflow consisting of text editor -> command line build -> debugger. NO IDE’S IF POSSIBLE.
For desktop platforms, this is hardly rocket science, e.g.
gvim -> bash/cmd -> eclipse cdt.
However, for mobile platforms I am unsure as to the command line invocations, file system setup and debugger to be used. Many tutorials suggest using android studio and xcode IDE’s, however this is something I would like to avoid.
An example on how to do this for the most basic SDL + opengl application would be nice.
Any help into achieving this would be greatly appreciated and I would like to think very useful for anyone wanting a simple development workflow.
Thanks. :slightly_smiling_face:

2 Likes

For android there is a really nice step by step introduction explaining everything in detail here:
https://www.hanshq.net/command-line-android.html

I have an example project, based on that and the android example project from SDL sources, that can serve as a starting point:
https://notabug.org/namark/sdl_android_test
It’s very messy and incomplete, just set up for my personal use, so might take some trial and error to get it to work. I tried to explain it a bit in the README.md there but feel free to ask questions/open issues.

In addition you might want to modify(fix) the ndk as outlined here


though it’s not that big of a deal for a simple project.

For iOS you can create the Xcode project and then use xcodebuild from your command line workflow.

Thank you namark and Sam for your contributions. As unfortunate as it is, I believe I will have to stick with these IDEs for the time being for two major reasons:

  1. GUI debuggers.
  2. The intricacies of mobile compilation are too much for me. Drivers, sdks, build systems, package formats, emulators etc. Having the IDEs deal with all this has become a sigh of relief for me. Moreover, this handling of tangled infrastructure is why I love and use SDL2 for handling OS libs.