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

Gilles Caulier caulier.gilles at gmail.com
Mon Nov 8 11:57:54 GMT 2010


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