Catalog names with dots not installed properly by CMAKE

Albert Astals Cid aacid at kde.org
Mon Nov 14 23:30:50 UTC 2011


A Dilluns, 14 de novembre de 2011, vàreu escriure:
> On Monday 14 November 2011, Albert Astals Cid wrote:
> > A Dilluns, 7 de novembre de 2011, Albert Astals Cid vàreu escriure:
> > > CC'in kde-buildsystem since they are the cmake gurus.
> > > 
> > > A Dilluns, 7 de novembre de 2011, Burkhard Lück vàreu escriure:
> > > > Hi,
> > > > 
> > > > trunk has these catalognames with dots:
> > > > 
> > > > playground-multimedia/plasma_applet_org.kde.mediacontainment.po
> > > > installed as plasma_applet_org.mo
> > > > 
> > > > playground-base/plasma_applet_org.kde.active.activityscreen.po
> > > > installed as plasma_applet_org.mo
> > > > 
> > > > playground-base/plasma_package_org.kde.activityswitcher.po
> > > > installed as plasma_package_org.mo
> > > > 
> > > > This bug is already reported here:
> > > > get_filename_component interprets first period (.) as start of
> > > > extension (EXT)
> > > > http://cmake.org/Bug/bug_relationship_graph.php?bug_id=12282&gra
> > > > ph=rela t ion
> > > > 
> > > > Afaik this issue is still not fixed in the latest release of
> > > > cmake.
> > > > 
> > > > Installation fails silently, so do we need to add a workaround
> > > > from the bug report to kdelibs/cmake/modules/FindGettext.cmake?
> > > 
> > > It seems that fixing kdelibs/cmake/modules/FindGettext.cmake should
> > > not
> > > be that difficult. Alex and other cmake people what do you think?
> > 
> > Noone cares that we fail to properly install files?
> > 
> > I've come up with this patch, anyone against it?
> 
> One of the reasons why I was "scared" of this one is that for the cmake
> 2.8.6 release cycle I upstreamed our modifications to cmake, so currently
> the FindGettext.cmake version in cmake 2.8.6 is identical to what we have.
> 
> And the files in kdelibs/cmake/modules/ will go away, latest point is the
> frameworks release.
> 
> So, I don't feel good for any changes going into kdelibs/cmake/modules/
> right now...
> 
> Well, after all, this means I'll have to apply this patch also to cmake, so
> we can start to require cmake 2.8.7 at some point...
> 
> > diff --git a/cmake/modules/FindGettext.cmake
> > b/cmake/modules/FindGettext.cmake index e35dced..b15f0b4 100644
> > --- a/cmake/modules/FindGettext.cmake
> > +++ b/cmake/modules/FindGettext.cmake
> > @@ -213,7 +213,8 @@ MACRO(GETTEXT_PROCESS_PO_FILES _lang)
> > 
> >  #    message(STATUS "2 all ${_addToAll} dest ${_installDest} args:
> > ${_args}")
> > 
> >     FOREACH(_current_PO_FILE ${_args})
> > 
> > -      GET_FILENAME_COMPONENT(_basename ${_current_PO_FILE} NAME_WE)
> > +      GET_FILENAME_COMPONENT(_name ${_current_PO_FILE} NAME)
> > +      string(REGEX REPLACE "^(.+)(\\.[^.]+)$" "\\1" _basename ${_name})
> > 
> >        SET(_gmoFile ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.gmo)
> >        add_custom_command(OUTPUT ${_gmoFile}
> >        
> >              COMMAND ${GETTEXT_MSGFMT_EXECUTABLE} -o
> >              ${_gmoFile}
> > 
> > ${_current_PO_FILE}
> 
> If this behaviour is what you need, go ahead.

Well, with this patch a file named plasma_package_org.kde.activityswitcher.po 
will correctly be installed as plasma_package_org.kde.activityswitcher.mo 
instead of as plasma_package_org.mo

I'll commit it just to KDE/4.7, is that ok?

Albert

> And thanks for the patch :-)
> 
> Alex


More information about the Kde-buildsystem mailing list