![]() ![]() ofxCMake does this by providing a “user libs” list that can be specified in CMakeLists.txt. It makes it easier to integrate an OF app with external libraries that are not part of addons.With ofxCMake, including an addon in your project is as simple as adding the name of the addon to your CMakeLists.txt, so if you are building from CMake, all your custom rules stay. If you had special build rules or custom compilation targets, those go poof. One of the biggest annoyances in working with OF is that if you want to include a new addon in your project, the PG needs to be called and your project files get overwritten. It can completely eliminate the need for the Project Generator, which IMO is a pain point and a maintenance challenge.This also means that OF can settle on just a single editor for learning purposes (say, VSCode), which makes tutorial writing a lot simpler. If users want a full IDE, they can either generate the appropriate project with CMake, or work with an IDE that is compatible with CMake projects (CLion, and now Visual Studio). VSCode has nice CMake integrations, but plain text editors will work just fine too. ![]() Since we are not tied to IDE’s to build, users can choose their own tool to write OF apps with.It lessens the learning curve for new users because they won’t necessarily have to deal with the intricacies of IDE’s in various platforms, and that has an additional advantage in that OF does not have to produce examples and documentation as to how to address these various intricacies.It potentially reduces maintenance, since build rules are just in CMake instead of in 3 different formats (Xcode, MSVC, Make).Given that cross-platform compatibility is one of OF’s most important features, this is a huge boon. If you are building from CMake directly, then your build command is unified across platforms.IMO there are several advantages to using CMake vs the current build approaches in OF. I haven’t tried this approach to CMake, but I have been using a fork of ofxCMake for quite some time and it works well. ![]()
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |