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

Andi Clemens andi.clemens at gmx.net
Mon Nov 8 12:20:20 GMT 2010


ok... this will take a while :D
I will send you a patch instead of committing it.

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

On Monday 08 November 2010 13:13:49 Gilles Caulier wrote:
> yes agree.
> 
> patch cmake files. I will test if all is fine under windows and mac
> 
> Gilles
> 
> 2010/11/8 Andi Clemens <andi.clemens at gmx.net>:
> > I'd also like to use one big INCLUDE_DIRECTORIES in the main
> > CMakeLists.txt file.
> > This way we don't have to add the include dirs over and over again in all
> > the subprojects like it is now.
> > If something changes in the source tree, we need to change at least 12
> > CMakeLists.txt files, having one section in the main file will prevent
> > this. No need to redefine this over and over again.
> > 
> > Andi Clemens
> > -----------------
> > www.digikam.org
> > 
> > On Monday 08 November 2010 12:57:54 Gilles Caulier wrote:
> >> 2010/11/8 Andi Clemens <andi.clemens at gmx.net>:
> >> > 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.
> >> 
> >> Ah fine. I remember a similar way used with KDE3/Qt3 version before
> >> Cmake port. Fine for me.
> >> 
> >> Another tool which need this way is dng converter for example
> >> 
> >> > 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?
> >> 
> >> I remember some broken compilation without. But it's can be different
> >> now.
> >> 
> >> > 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.
> >> 
> >> Lets go well...
> >> 
> >> Gilles Caulier
> >> 
> >> > 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/migrationdl
> >> >> >> g.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.cp
> >> >> >> > p )
> >> >> >> > 
> >> >> >> > -    SET(libadvancedrename_SRCS
> >> >> >> > -
> >> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/advancedre
> >> >> >> > nam edi al og.cpp -
> >> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/advancedre
> >> >> >> > nam ein pu t.cpp -
> >> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/advancedre
> >> >> >> > nam ema na ger.cpp -
> >> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/advancedre
> >> >> >> > nam ewi dg et.cpp -
> >> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/common/dyn
> >> >> >> > ami cla yo ut.cpp -
> >> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/common/hig
> >> >> >> > hli ght er .cpp -
> >> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/common/mod
> >> >> >> > ifi er. cp p -
> >> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/common/opt
> >> >> >> > ion .cp p -
> >> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/common/par
> >> >> >> > sea ble .c pp -
> >> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/common/par
> >> >> >> > sea ble di alog.cpp -
> >> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/common/par
> >> >> >> > ser .cp p -
> >> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/common/par
> >> >> >> > ser esu lt s.cpp -
> >> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/common/ren
> >> >> >> > ame thr ea d.cpp -
> >> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/common/tok
> >> >> >> > en. cpp -
> >> >> >> > 
> >> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/common/too
> >> >> >> > lti pcr ea tor.cpp -
> >> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/common/too
> >> >> >> > lti pdi al og.cpp -
> >> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/def
> >> >> >> > aul tre na meparser.cpp -
> >> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/imp
> >> >> >> > ort ren am eparser.cpp -
> >> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/mod
> >> >> >> > ifi ers /c asemodifier.cpp -
> >> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/mod
> >> >> >> > ifi ers /d efaultvaluemodifier.cpp -
> >> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/mod
> >> >> >> > ifi ers /r angemodifier.cpp -
> >> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/mod
> >> >> >> > ifi ers /r emovedoublesmodifier.cpp -
> >> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/mod
> >> >> >> > ifi ers /r eplacemodifier.cpp -
> >> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/mod
> >> >> >> > ifi ers /t rimmedmodifier.cpp -
> >> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/mod
> >> >> >> > ifi ers /u niquemodifier.cpp -
> >> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/opt
> >> >> >> > ion s/c am eranameoption.cpp -
> >> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/opt
> >> >> >> > ion s/d at abase/databaseoption.cpp -
> >> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/opt
> >> >> >> > ion s/d at abase/dbheaderlistitem.cpp -
> >> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/opt
> >> >> >> > ion s/d at abase/dbkeyscollection.cpp -
> >> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/opt
> >> >> >> > ion s/d at abase/dbkeyselector.cpp -
> >> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/opt
> >> >> >> > ion s/d at abase/keys/commonkeys.cpp -
> >> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/opt
> >> >> >> > ion s/d at abase/keys/metadatakeys.cpp -
> >> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/opt
> >> >> >> > ion s/d at abase/keys/positionkeys.cpp -
> >> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/opt
> >> >> >> > ion s/d at eoption.cpp -
> >> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/opt
> >> >> >> > ion s/d ir ectorynameoption.cpp -
> >> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/opt
> >> >> >> > ion s/f il epropertiesoption.cpp -
> >> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/opt
> >> >> >> > ion s/m et adataoption.cpp -
> >> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/opt
> >> >> >> > ion s/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/
> >> >> >> > mod ifi er s/fillmodifierdialogwidget.ui -
> >> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/../utilities/advancedrename/parser/
> >> >> >> > mod ifi er s/replacemodifierdialogwidget.ui -
> >> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/../utilities/advancedrename/parser/
> >> >> >> > mod ifi er s/rangemodifierdialogwidget.ui -
> >> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/../utilities/advancedrename/parser/
> >> >> >> > opt ion s/ dateoptiondialogwidget.ui -
> >> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/../utilities/advancedrename/parser/
> >> >> >> > opt ion s/ sequencenumberoptiondialogwidget.ui
> >> >> >> > ${CMAKE_CURRENT_SOURCE_DIR}/../utilities/imageeditor/printiface/
> >> >> >> > pri nto 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
> >> > 
> >> > _______________________________________________
> >> > 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