[poppler] cmake issues

Albert Astals Cid aacid at kde.org
Sun Sep 17 18:49:58 UTC 2017


El diumenge, 17 de setembre de 2017, a les 18:30:08 CEST, Adrian Johnson va 
escriure:
> On 06/09/17 03:03, Albert Astals Cid wrote:
> > El dimarts, 5 de setembre de 2017, a les 8:14:56 CEST, Adrian Johnson va
> > 
> > escriure:
> >> On 05/09/17 06:39, Albert Astals Cid wrote:
> >>> El dilluns, 4 de setembre de 2017, a les 7:52:39 CEST, Adrian Johnson va
> > 
> > escriure:
> >>>> On 04/09/17 06:12, Albert Astals Cid wrote:
> >>>>> El diumenge, 3 de setembre de 2017, a les 14:24:16 CEST, Adrian
> >>>>> Johnson
> >>>>> va
> >>>>> 
> >>>>> escriure:
> >>>>>> I managed to get it working. See attached patch. The problem seems to
> >>>>>> be
> >>>>>> that pkg_check_modules does not return the absolute path of the
> >>>>>> shared
> >>>>>> libraries. There is a bug for this at
> >>>>>> https://cmake.org/Bug/view.php?id=15804.
> >>>>>> 
> >>>>>> Is there a better way to handle this?
> >>>>> 
> >>>>> That's a really weird patch, cna you tell me exactly how is your setup
> >>>>> so
> >>>>> i
> >>>>> can try reproducing the problem you have?
> >>>> 
> >>>> Attached is a script to reproduce it. It downloads and installs the
> >>>> latest cairo development snapshot to a custom prefix. Then patches
> >>>> poppler to use the new API in this version of cairo and tries to build
> >>>> it.
> >>> 
> >>> Another fix is using this patch.
> >> 
> >> That works. Although I thought I tried that before. Probably also needs
> >> freetype listed as I sometimes build freetype from git.
> > 
> > Ok, i'll commit, let's add freetype if needed when you can try that
> > scenario, maybe it's not needed (don't know if gtk libraries pulls
> > freetype).
> So now I've run into the same problem with freetype. Cairo 1.15.8 uses
> FT_Get_Var_Design_Coordinates() if freetype >= 2.8.0. With these
> versions of cairo and freetype installed to a custom location and
> PKG_CONFIG_PATH pointing at them, linking pdftocairo fails because
> poppler has found my custom built cairo but is linking with the system
> freetype.
> 
> I tried adding FREETYPE_LIBRARIES to the target_link_libraries but this
> did not work. The problem seems to be poppler is using find_package() to
> find freetype. But find_package() doesn't use pkg-config and finds the
> system freetype instead.

Have you tried using FREETYPE_DIR as suggested in 
/usr/share/cmake-3.7/Modules/FindFreetype.cmake
?

Cheers,
  Albert

> 
> I changed CMakeLists.txt to use pkg_check_modules to find freetype. Now
> it finds my custom freetype but still tries to link with the system
> freetype because it doesn't have the absolute path to the freetype
> library. Which is due to this bug https://cmake.org/Bug/view.php?id=15804.
> 
> The attached patch works for me. Is there a standard cmake way of
> handling pkg-config based libraries in non standard locations? I expect
> the same problem will occur with every pkg-config based library we use
> 
> > Cheers,
> > 
> >   Albert
> >   
> >>> Seems less bad than the last one you sent (which tbh i didn't undestand
> >>> at
> >>> all), no?
> >> 
> >> I was trying to avoid listing both "-lcairo" and /path/to/my/libcairo.so
> >> in the linker command line. FindCairo.cmake was using find_library to
> >> get the absolute path while FindGTK.cmake was not.
> >> 
> >>> Cheers,
> >>> 
> >>>   Albert
> >>> 
> >>> _______________________________________________
> >>> poppler mailing list
> >>> poppler at lists.freedesktop.org
> >>> https://lists.freedesktop.org/mailman/listinfo/poppler
> >> 
> >> _______________________________________________
> >> poppler mailing list
> >> poppler at lists.freedesktop.org
> >> https://lists.freedesktop.org/mailman/listinfo/poppler
> > 
> > _______________________________________________
> > poppler mailing list
> > poppler at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/poppler




More information about the poppler mailing list