[poppler] Fix building static libraries with cmake

suzuki toshiya mpsuzuki at hiroshima-u.ac.jp
Wed Jan 17 00:48:40 UTC 2018


>> 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

Thanks!

Regards,
mpsuzuki

Albert Astals Cid wrote:
> 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