Does anyone here know CMake?

I have no idea. I know very little about linking and libraries in general and about Windows linking and libraries in particular. Basically what I learnt by trial and error the last couple of months.

That was very close, but the pango plugin couldnā€™t find pango_cairo_context_set_font_options

It appears a correct patch to FindPangoCairo.cmake is instead

find_package(PkgConfig)
pkg_check_modules(PANGOCAIRO pangocairo)

I kept your patch to plugin/pango/CMakeLists.txt

The build work for me.
Is there a fix that wonā€™t break the windows build? That would be even better.

Thank you for your trouble.

Ah yes, sorry, I typoed the library name.

I tried to turn this into a more acceptable patch and immediately discovered why itā€™s not done this way: Windows does not have pkg-config. Using pkg-config on platforms that do have it seems too reasonable to give up, so it seems we have two options:

  1. preserve the existing custom steps for Windows-only; or
  2. require people using CMake (and CI) to install pkg-config.

Iā€™ve implemented (1) here. Can I get some opinions from people in this thread? If weā€™re in favor of this, Iā€™ll go ahead and submit this as an MR.

Unexpectedly, the dot command installed by CMake-based make DESTDIR=$HOME install is in $HOME/usr/local/bin (thatā€™s not what I had in mind) and despite all the above effort,

$ /Users/north/usr/local/bin/dot -Tpdf:?
Format: "pdf:?" not recognized. Use one of: pdf:quartz:quartz
$

quartz? no cairopango?

However

$ ls $HOME/usr/local/lib/graphviz
libgvplugin_core.6.0.0.dylib		libgvplugin_gd.dylib
libgvplugin_core.6.dylib		libgvplugin_neato_layout.6.0.0.dylib
libgvplugin_core.dylib			libgvplugin_neato_layout.6.dylib
libgvplugin_dot_layout.6.0.0.dylib	libgvplugin_neato_layout.dylib
libgvplugin_dot_layout.6.dylib		libgvplugin_pango.6.0.0.dylib
libgvplugin_dot_layout.dylib		libgvplugin_pango.6.dylib
libgvplugin_gd.6.0.0.dylib		libgvplugin_pango.dylib
libgvplugin_gd.6.dylib
$

Should this be moved over to an issue in gitlab?

Should this be moved over to an issue in gitlab?

Probably, yes. Since we have no idea if the macOS build worked before any of these changes (hint: it probably did not), itā€™s not even clear what weā€™re troubleshooting here.

By the way, this is not how you achieve this in the CMake world. What you want is:

$ cmake -DCMAKE_INSTALL_PREFIX=$HOME ...
...
$ make && make install

Should this be moved over to an issue in gitlab?

Just linking up this old forum post: Iā€™m running into a similar-but-slightly-different issue, so I filed an issue in GitLab: Can't build with cmake on macOS: "ld: library not found for -lpangocairo-1.0" (#2286) Ā· Issues Ā· graphviz / graphviz Ā· GitLab