Emscripten is looking pretty cool so far. As you might recall, this is a tool to compile C/C++ code to WebAssembly so that the code can be used in browsers, and is more or less critical for Radwave to run smoothly as a web app. I found a Docker container that made it easy to get a development environment to play in. I've worked through the tutorials to figure out the basics, all of which went pretty smooth.
For building projects, the tutorials only had info about projects that are configure-based. But particularly since Radwave was originally built for Android, much of what I've done already uses cmake. Thankfully I found a blog post with some cmake info. With this, we can do a simple
cd <project>
mkdir build
cd build
emcmake cmake -DCMAKE_TOOLCHAIN_FILE=`locate Emscripten.cmake` -G "Unix Makefiles" ..
emmake make
I wasn't able to find the HTML file anywhere though... I was able to find the object file in build/CMakeFiles/<project>.dir/<source file>.c.o
, so I used
emcc CMakeFiles/<project>.dir/<source file>.c.o -o final.html -s SINGLE_FILE
which generated final.html and successfully opened in a browser. Hooray!
Next it's time to build some dependencies.