I am graduate student in electrical engineering with no savvy experience in computers and often work on projects involving microcontrollers. I have worked on Ti C2000, STM, and PIC MCUs primarily and always used their respective IDEs to code. Everytime I change an environment, I have to read and adapt to the architecture (which is natural). One needs to refer to the architecture and manuals to get the register descriptions and configure the peripherals. This is stuff I can do.
What I cannot do and would like to not worry about in the future are the crap ton of stupid dependencies these IDEs have and how badly they constrain you. Take CCS studio for example. It is so bad, oh my god! I write code on one computer, on an older version of CCS and push it, pull it on another computer with the newest version and it returns gmake errors.
The above example has solutions (I think) but as a simple and naive user, one would not be expected to know all the finer intricacies of the includes and dependencies. What's even worse is how new compilers don't compile on projects built on older compiler versions (as far as I know and experienced) which is bat shit crazy! It's laughable.
The above, possibly naive and also possibly ignorant rant of mine brings me to the following question: based on the level of understanding I have (that you can make out on my earlier comments), where I work on configuring MCUs and write some simple firmware, will using cmake improve my workflow and override some of these ridiculous difficulties I've been facing? If so, how bad is the learning curve?
PS: I have some reasonable experience with command line and have appreciated it's simplicity. I have been searching for a solution that involves MCU programming thru terminals.