Hi Spencer,
On 17/07/2024 06:15, Spencer via users wrote:
Hopefully a simple question- I am trying to port a CMake project (arcan https://github.com/letoram/arcan/tree/master) that uses Freetype and looks for it using find_package(Freetype REQUIRED QUIET). I've added 'freetype' to 'used_apis' but that did not seem to make it happy. Worth noting, I am doing this in a separate directory from my Genode git clone, I assume that is not a problem? This article https://genodians.org/jschlatow/2024-01-11-lomiri-calculator-porting seems to suggest that there is a way to add a CMake file that satisfies it. I found this file https://github.com/Manabu-GT/sdl_core/blob/aed19cd68e02b11e27275c05e00cf242a337553a/cmake/Modules/FindQt5Core.cmake#L4 on github, but I don't understand what it's doing and it's not the same one referenced in the article.
Goa looks for the FindXxx.cmake files in the api archives. However, Our freetype library port does not yet come with a .cmake file. The FindXxx.cmake files you find in other projects can be quite complex. Since Goa takes care of adding the corresponding include paths and linker options, it is often sufficient to just set the XXX_FOUND variable to True. In other words, adding a FindXxx.cmake file to an api archive is just a way of making CMake happy once the corresponding archive has been added to the used_apis file.
You may have a look at https://github.com/genodelabs/genode/blob/master/repos/libports/recipes/api/... or https://github.com/genodelabs/genode-world/blob/master/recipes/api/sdl2/cont... for two examples of how to add .cmake files to api archives.
Cheers Johannes