Barebones Cross Platform Command Line Workflow


#1

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

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.


#3

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.


#4

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


#5

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.