Real-world CMake and C++Builder applications on github

Posted by on in Blogs

Last week, we ran a popular webinar Fast Builds and Integrating Libraries: Using CMake and Ninja for C++ Builder 10.2.3.  The replay is now available on Youtube.

In it, I demonstrated two items building with C++Builder and our CMake support: a real-world FireMonkey application, and Google Test.  These are available on github:

  • Mazes: I wrote this for CodeRage XII in 2017 and the same application is available for both Delphi and C++Builder, written in duplicate.  If you are a Delphi user interested in C++, you may find it interesting for that reason, or vice versa.  The C++ application contains a CMakeLists.txt file and is an app I use often to demonstrate our CMake support.  It's small but non-trivial, ie is a real-world application, and is worth checking out if you want to see a real application building with CMake.
  • Google Test and Google Mocks: this is an example of a common third party C++ library that was not written with specific C++Builder support.  An intern here, Nikolay Avramov, has been doing great work going through common libraries and making sure they work with C++Builder, and one of those libraries is Google Test.  Typically, you find that C++ libraries have a couple of things you need to fix: it assumes if it's Windows, it's using MSVC (not true, could be us or MinGW): this requires you fix macros in a header; or it makes similar assumptions about headers or RTL method names: here you need to append or remove a _ for some RTL methods, or add or remove a header.  Both types of fixes are straightforward, you just build, track down the incorrect logic, and fix -- and ideally submit a pull request back :)

CMake support opens up C++Builder to the wide world of C++ and the ability to add third party C++ libraries to your applications is very valuable.  We've had a lot of very positive feedback about this, and we look forward to what we'll do next in this area.

 



About
Gold User, No rank,
C++ Product Manager, looking after C++Builder as well as the IDE.

Comments

  • Tanz
    Tanz Saturday, 25 August 2018

    Interesting to read about the work on porting Google Test to build with C++Builder. I actually did the same thing myself and submitted a PR (https://github.com/google/googletest/pull/1217, it was a fun weekend!) since I have a hobby project using it, but the maintainers didn't seem too keen on expanding support for more compilers.

    I'm now wondering if the free C++ Compiler download can be automated from anonymous CI scripts. (Just asked in the Forum, awaiting moderation.) Perhaps incorporating C++Builder into Google Test's CI system (AppVeyor) would have given them more reason to consider supporting it.

  • Please login first in order for you to submit comments
  • Page :
  • 1

Check out more tips and tricks in this development video: