Friday, May 26, 2017

CMake, Mobiles and Command lines.

So, this week has been a compilation of all things CMake as my objective for the new month starting Monday is to get a working build for the project. All in all, I can say that I'm much closer to a CMake Toolchain that can target Apple, Linux, Windows, Android, and iOS with minor tweaks. As I said in my last post, Android is a huge beast that is hard to conquer since it needs the Android SDK and C/C++ NDK in order to work with our project. Now, I've decided to use Android Studio as the target IDE for it has Make files built in and already CMake/Gradle already installed. The only project is that Android Studio has the huge hurdle of not being a Generator for CMake. What I've decided to do is generate the files as make files and then, using the internal CMake files and Gradle system that Android Studio has, build the project using those through Studio. Now, the only way to do so newer programmers and novice to the CMake system can be able to get a working project without completely ruining anything or spending  12 hours on it is to create scripts and batch files so that the entire process can be handled in the console/terminal of the current platform. Though, I haven't tested this out yet because I had to put this part of the project on hiatus since the ever-approaching deadline. My attention is focused elsewhere, an actual working toolchain that can be used on a static folder that will build on any three of the main target platforms which are the Windows, Mac, and Linux. In this retrospect, I've made tremendous progress. I've officially created a batch file that can take a  source folder and build a visual 15 project without needing a target. All a person needs to do is simply run the batch and it will run CMake without any more input. I've created a script for Mac which is currently not working due to CMake being unable to find the C compiler even though I am telling it the location of the compiler. My work on the Linux machine has been lost since my Virtual Machine crashed on me and the snapshot of my work is corrupted. I need to rebuild the system all over again. Summarizing all of this, this past week has been both nerve-wracking and enlightening. I come ever so closer to accomplishing my task but yet feel so far away from it. Next week we start working on actually putting work into the live project server. I will post about this again next week on my progress.

No comments:

Post a Comment