[poppler] Fix building static libraries with cmake
Albert Astals Cid
aacid at kde.org
Tue Jan 16 23:23:35 UTC 2018
El divendres, 12 de gener de 2018, a les 13:28:07 CET, suzuki toshiya va
escriure:
> Dear Albert,
>
> > But we do have such switch already, no? I mean that is what -
> > DBUILD_SHARED_LIBS=OFF is supposed to do ?
>
> It's slightly different, in 2 points:
>
> a) current CMakeFiles.txt can build libpoppler.a by DBUILD_SHARED_LIBS=OFF,
> but cpp, glib, qt5 frontends are hardcoded to be shared library.
>
> b) some binary package maintainers (might) want to have a switch
> which builds both of shared + archive library by single build
> process. the current assumption building archive library by disabling
> shared library doubles the building process. maybe the expected
> situation would be:
> default: only shared library is built.
> optional: both of shared + archive libraries are built.
>
> --
>
> Here I attach small patch fixing a) issue only. Also, g-introspection
> requires the shared library, attached patch disables the target
> of the introspection if shared library is disabled. How do you feel?
Pushed
>
> Regards,
> mpsuzuki
>
> Albert Astals Cid wrote:
> > El dijous, 11 de gener de 2018, a les 11:26:08 CET, suzuki toshiya va
> >
> > escriure:
> >> Dear Albert,
> >>
> >> Albert Astals Cid wrote:
> >>> El dijous, 11 de gener de 2018, a les 0:34:25 CET, suzuki toshiya va
> >
> > escriure:
> >>>> Dear Albert,
> >>>>
> >>>> Thank you for consideration about the archive library issue.
> >>>>
> >>>>> So this patch doubles compilation time because everything is compiled
> >>>>> twice?
> >>>>>
> >>>>> I don't think i want that.
> >>>>
> >>>> When poppler was built by autoconf, always (on the platform supporting
> >>>> both of shared & archive libraries) a source was compiled twice, one
> >>>> for shared and another for archive, because autoconf enables both
> >>>> libraries
> >>>> by default. So I think this is not critical regression which has never
> >>>> happened. Maybe it was very popular cases in 3 months ago.
> >>>
> >>> I never used autoconf, so it's a very strong regression for me.
> >>
> >> Oh ¯\_(ツ)_/¯
> >>
> >>>> But, if the majority of poppler maintainers are unwilling to make
> >>>> "one-source-twice-compiling" as the default building (because they are
> >>>> not interested in the archive library), I propose to include the switch
> >>>> to compile archive libraries which is set to off by default. I think
> >>>> even such switch (set to off by default) is still helpful.
> >>>
> >>> Compiling the source twice is not acceptable, makes my development cycle
> >>> twice as long for no reason at all.
> >>
> >> Do you think even the switch which is set to off by default (only
> >> compiling for shared library by default) is unacceptable?
> >
> > But we do have such switch already, no? I mean that is what -
> > DBUILD_SHARED_LIBS=OFF is supposed to do ?
> >
> > Cheers,
> >
> > Albert
> >>
> >> Regards,
> >> mpsuzuki
> >>
> >>> Cheers,
> >>>
> >>> Albert
> >>>>
> >>>> Regards,
> >>>> mpsuzuki
> >>>>
> >>>> Albert Astals Cid wrote:
> >>>>> El dimecres, 1 de novembre de 2017, a les 11:55:41 CET, Jeroen Ooms va
> >>>>>
> >>>>> escriure:
> >>>>>> Several projects use static builds of poppler-cpp to ship standalone
> >>>>>> pdf applications, but since the switch to cmake it is no longer
> >>>>>> possible to build static libs.
> >>>>>>
> >>>>>> Setting -DBUILD_SHARED_LIBS=OFF in cmake only builds a static
> >>>>>> libpoppler.a, however libpoppler-cpp still gets built as a dynamic
> >>>>>> library (because SHARED is hardcoded in CMakeLists.txt).
> >>>>>>
> >>>>>> It would be really great of cmake could build both the static and the
> >>>>>> shared libraries, like many other C/C++ libs do. The patch below
> >>>>>>
> >>>>>> implements this:
> >>>>>> Human readable view:
> >>>>>> https://github.com/tsdgeos/poppler_mirror/pull/2/files Patch file:
> >>>>>> https://github.com/tsdgeos/poppler_mirror/pull/2.patch
> >>>>>>
> >>>>>> What can I do to get this patch reviewed?
> >>>>>
> >>>>> So this patch doubles compilation time because everything is compiled
> >>>>> twice?
> >>>>>
> >>>>> I don't think i want that.
> >>>>>
> >>>>> 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
> >>>
> >>> _______________________________________________
> >>> 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