[Digikam-devel] Re: extragear/graphics/digikam

Andi Clemens andi.clemens at gmx.net
Mon Nov 8 11:54:09 GMT 2010


those libs will not be installed at all, they are just used for compiling the 
digiKam, test suite and digiKamthemedesigner targets.
But it will prevent recompiling the object files over and over again.

For example try compiling the themedesigner:
it will compile the queuemanager again, all dimg filter, advanced rename, 
etc... and I don't even know why there are such weird dependencies at all, why 
does the themedesigner need BQM?

By putting all the little subprobjects into static libs, we can avoid 
recompilation. Again, these static libs are used only for building, not for 
later usage at runtime. So there are no changes for packagers at all.

Andi Clemens
-----------------
www.digikam.org

On Monday 08 November 2010 12:39:56 Gilles Caulier wrote:
> This want mean that more static libs files will be installed on the
> system, as libdigikam.so ?
> 
> Other project work like this, as Amarok ?
> 
> Perhaps packagers can comment this.
> 
> What's about static lib revision ID ?
> 
> Gilles
> 
> 2010/11/8 Andi Clemens <andi.clemens at gmx.net>:
> > I forgot to commit a file, sorry!
> > 
> > Right now I am creating some static libs for queuemanager, dimg filters
> > etc in a local branch.
> > 
> > I guess this really helps understanding the build process a little bit
> > more and also reduces compile time. What do you think?
> > 
> > Andi Clemens
> > -----------------
> > www.digikam.org
> > 
> > On Monday 08 November 2010 11:38:54 Gilles Caulier wrote:
> >> It doen't work here, after a fresh checkout :
> >> 
> >> [ 45%] Building CXX object
> >> digikam/digikam/CMakeFiles/digikam.dir/__/libs/dialogs/migrationdlg.o
> >> [ 45%] Building CXX object
> >> digikam/digikam/CMakeFiles/digikam.dir/main.o
> >> [ 45%] Building CXX object
> >> digikam/digikam/CMakeFiles/digikam.dir/digikamadaptor.o
> >> Linking CXX executable digikam
> >> /usr/bin/ld: cannot find -ladvancedrename
> >> collect2: ld returned 1 exit status
> >> make[2]: *** [digikam/digikam/digikam] Error 1
> >> make[1]: *** [digikam/digikam/CMakeFiles/digikam.dir/all] Error 2
> >> make: *** [all] Error 2
> >> 
> >> Gilles Caulier
> >> 
> >> 2010/11/8 Andi Clemens <andi.clemens at gmx.net>:
> >> > SVN commit 1194106 by aclemens:
> >> > 
> >> > Create a static lib for advancedrename. This prevents recompiling of
> >> > the object files when building the test suite or the themedesigner.
> >> > Right now when the themedesigner target is build, nearly all objects
> >> > from the digiKam target are recompiled again, which is a waste of
> >> > time. We should create static libs for all the libXXX_SRCS variables
> >> > in the main CMakeLists.txt file. I also think we should remove those
> >> > libXXX_SRCS variables from there completely, they have nothing to do
> >> > in there and make the code hard to understand.
> >> > 
> >> > Right now I only created a static lib for advancedrename, but in the
> >> > future we should do this for all the other so called "libs", too.
> >> > 
> >> > CCMAIL: digikam-devel at kde.org
> >> > 
> >> >  M  +0 -41     CMakeLists.txt
> >> >  M  +1 -6      digikam/CMakeLists.txt
> >> >  M  +1 -1      tests/CMakeLists.txt
> >> >  M  +1 -1      themedesigner/CMakeLists.txt
> >> >  M  +1 -0      utilities/CMakeLists.txt
> >> > 
> >> > 
> >> > --- trunk/extragear/graphics/digikam/CMakeLists.txt #1194105:1194106
> >> > @@ -1284,47 +1284,6 @@
> >> >        
> >> > ${CMAKE_CURRENT_SOURCE_DIR}/utilities/timeline/timelinewidget.cpp )
> >> > 
> >> > -    SET(libadvancedrename_SRCS
> >> > -
> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/advancedrenamedi
> >> > al og.cpp -
> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/advancedrenamein
> >> > pu t.cpp -
> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/advancedrenamema
> >> > na ger.cpp -
> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/advancedrenamewi
> >> > dg et.cpp -
> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/common/dynamicla
> >> > yo ut.cpp -
> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/common/highlight
> >> > er .cpp -
> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/common/modifier.
> >> > cp p -
> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/common/option.cp
> >> > p -
> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/common/parseable
> >> > .c pp -
> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/common/parseable
> >> > di alog.cpp -
> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/common/parser.cp
> >> > p -
> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/common/parseresu
> >> > lt s.cpp -
> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/common/renamethr
> >> > ea d.cpp -
> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/common/token.cpp
> >> > -
> >> > 
> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/common/tooltipcr
> >> > ea tor.cpp -
> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/common/tooltipdi
> >> > al og.cpp -
> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/defaultre
> >> > na meparser.cpp -
> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/importren
> >> > am eparser.cpp -
> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/modifiers
> >> > /c asemodifier.cpp -
> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/modifiers
> >> > /d efaultvaluemodifier.cpp -
> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/modifiers
> >> > /r angemodifier.cpp -
> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/modifiers
> >> > /r emovedoublesmodifier.cpp -
> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/modifiers
> >> > /r eplacemodifier.cpp -
> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/modifiers
> >> > /t rimmedmodifier.cpp -
> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/modifiers
> >> > /u niquemodifier.cpp -
> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/options/c
> >> > am eranameoption.cpp -
> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/options/d
> >> > at abase/databaseoption.cpp -
> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/options/d
> >> > at abase/dbheaderlistitem.cpp -
> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/options/d
> >> > at abase/dbkeyscollection.cpp -
> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/options/d
> >> > at abase/dbkeyselector.cpp -
> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/options/d
> >> > at abase/keys/commonkeys.cpp -
> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/options/d
> >> > at abase/keys/metadatakeys.cpp -
> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/options/d
> >> > at abase/keys/positionkeys.cpp -
> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/options/d
> >> > at eoption.cpp -
> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/options/d
> >> > ir ectorynameoption.cpp -
> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/options/f
> >> > il epropertiesoption.cpp -
> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/options/m
> >> > et adataoption.cpp -
> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/options/s
> >> > eq uencenumberoption.cpp -       )
> >> > -
> >> >     SET(libdigikamgui_SRCS
> >> >         ${CMAKE_CURRENT_SOURCE_DIR}/digikam/addtagslineedit.cpp
> >> >         ${CMAKE_CURRENT_SOURCE_DIR}/digikam/album.cpp
> >> > --- trunk/extragear/graphics/digikam/digikam/CMakeLists.txt
> >> > #1194105:1194106 @@ -157,11 +157,6 @@
> >> >    )
> >> > 
> >> >  KDE4_ADD_UI_FILES(digikamcore_LIB_SRCS
> >> > -
> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/../utilities/advancedrename/parser/modifi
> >> > er s/fillmodifierdialogwidget.ui -
> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/../utilities/advancedrename/parser/modifi
> >> > er s/replacemodifierdialogwidget.ui -
> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/../utilities/advancedrename/parser/modifi
> >> > er s/rangemodifierdialogwidget.ui -
> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/../utilities/advancedrename/parser/option
> >> > s/ dateoptiondialogwidget.ui -
> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/../utilities/advancedrename/parser/option
> >> > s/ sequencenumberoptiondialogwidget.ui
> >> > ${CMAKE_CURRENT_SOURCE_DIR}/../utilities/imageeditor/printiface/printo
> >> > pt ionspage.ui )
> >> > 
> >> > @@ -324,7 +319,6 @@
> >> >                  ${libdigikamgui_SRCS}
> >> >                  ${libfirstrun_SRCS}
> >> >                  ${libtemplate_SRCS}
> >> > -                 ${libadvancedrename_SRCS}
> >> >                  ${libdatabaseui_SRCS}
> >> > 
> >> >                  main.cpp
> >> > @@ -353,6 +347,7 @@
> >> >                       ${GPHOTO2_LIBRARIES}
> >> >                       digikamcore
> >> >                       digikamdatabase
> >> > +                      advancedrename
> >> >                      )
> >> > 
> >> >  IF(KDEPIMLIBS_FOUND)
> >> > --- trunk/extragear/graphics/digikam/tests/CMakeLists.txt
> >> > #1194105:1194106 @@ -49,7 +49,6 @@
> >> > 
> >> >  SET(advancedrenametest_SRCS
> >> >     advancedrenametest.cpp
> >> > -    ${libadvancedrename_SRCS}
> >> >  )
> >> >  KDE4_ADD_UNIT_TEST(advancedrenametest ${advancedrenametest_SRCS})
> >> >  TARGET_LINK_LIBRARIES(advancedrenametest
> >> > @@ -60,6 +59,7 @@
> >> >                       ${QT_QTTEST_LIBRARY}
> >> >                       digikamdatabase
> >> >                       digikamcore
> >> > +                      advancedrename
> >> >                       )
> >> > 
> >> >  #--------------------------------------------------------------------
> >> > --- - ---
> >> > trunk/extragear/graphics/digikam/themedesigner/CMakeLists.txt
> >> > #1194105:1194106 @@ -101,7 +101,6 @@
> >> >     ${libdigikamgui_SRCS}
> >> >     ${libqueuemanager_SRCS}
> >> >     ${libalbummodels_SRCS}
> >> > -    ${libadvancedrename_SRCS}
> >> >     ${libtemplate_SRCS}
> >> >     ${libdatabaseui_SRCS}
> >> > 
> >> > @@ -120,6 +119,7 @@
> >> >  TARGET_LINK_LIBRARIES(digikamthemedesigner
> >> >                       digikamcore
> >> >                       digikamdatabase
> >> > +                      advancedrename
> >> >                       ${KDE4_KPARTS_LIBS}
> >> >                       ${KDE4_PHONON_LIBS}
> >> >                       ${KDE4_KHTML_LIBS}
> >> > --- trunk/extragear/graphics/digikam/utilities/CMakeLists.txt
> >> > #1194105:1194106 @@ -4,3 +4,4 @@
> >> >  ADD_SUBDIRECTORY(lighttable)
> >> >  ADD_SUBDIRECTORY(cameragui)
> >> >  ADD_SUBDIRECTORY(queuemanager)
> >> > +ADD_SUBDIRECTORY(advancedrename)
> >> > _______________________________________________
> >> > Digikam-devel mailing list
> >> > Digikam-devel at kde.org
> >> > https://mail.kde.org/mailman/listinfo/digikam-devel
> >> 
> >> _______________________________________________
> >> Digikam-devel mailing list
> >> Digikam-devel at kde.org
> >> https://mail.kde.org/mailman/listinfo/digikam-devel
> > 
> > _______________________________________________
> > Digikam-devel mailing list
> > Digikam-devel at kde.org
> > https://mail.kde.org/mailman/listinfo/digikam-devel
> 
> _______________________________________________
> Digikam-devel mailing list
> Digikam-devel at kde.org
> https://mail.kde.org/mailman/listinfo/digikam-devel



More information about the Digikam-devel mailing list