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

Gilles Caulier caulier.gilles at gmail.com
Mon Nov 8 13:13:49 CET 2010


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/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/advancedrenam
>> >> >> > edi al og.cpp -
>> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/advancedrenam
>> >> >> > ein pu t.cpp -
>> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/advancedrenam
>> >> >> > ema na ger.cpp -
>> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/advancedrenam
>> >> >> > ewi dg et.cpp -
>> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/common/dynami
>> >> >> > cla yo ut.cpp -
>> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/common/highli
>> >> >> > ght er .cpp -
>> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/common/modifi
>> >> >> > er. cp p -
>> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/common/option
>> >> >> > .cp p -
>> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/common/parsea
>> >> >> > ble .c pp -
>> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/common/parsea
>> >> >> > ble di alog.cpp -
>> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/common/parser
>> >> >> > .cp p -
>> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/common/parser
>> >> >> > esu lt s.cpp -
>> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/common/rename
>> >> >> > thr ea d.cpp -
>> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/common/token.
>> >> >> > cpp -
>> >> >> >
>> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/common/toolti
>> >> >> > pcr ea tor.cpp -
>> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/common/toolti
>> >> >> > pdi al og.cpp -
>> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/defaul
>> >> >> > tre na meparser.cpp -
>> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/import
>> >> >> > ren am eparser.cpp -
>> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/modifi
>> >> >> > ers /c asemodifier.cpp -
>> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/modifi
>> >> >> > ers /d efaultvaluemodifier.cpp -
>> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/modifi
>> >> >> > ers /r angemodifier.cpp -
>> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/modifi
>> >> >> > ers /r emovedoublesmodifier.cpp -
>> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/modifi
>> >> >> > ers /r eplacemodifier.cpp -
>> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/modifi
>> >> >> > ers /t rimmedmodifier.cpp -
>> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/modifi
>> >> >> > ers /u niquemodifier.cpp -
>> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/option
>> >> >> > s/c am eranameoption.cpp -
>> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/option
>> >> >> > s/d at abase/databaseoption.cpp -
>> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/option
>> >> >> > s/d at abase/dbheaderlistitem.cpp -
>> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/option
>> >> >> > s/d at abase/dbkeyscollection.cpp -
>> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/option
>> >> >> > s/d at abase/dbkeyselector.cpp -
>> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/option
>> >> >> > s/d at abase/keys/commonkeys.cpp -
>> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/option
>> >> >> > s/d at abase/keys/metadatakeys.cpp -
>> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/option
>> >> >> > s/d at abase/keys/positionkeys.cpp -
>> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/option
>> >> >> > s/d at eoption.cpp -
>> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/option
>> >> >> > s/d ir ectorynameoption.cpp -
>> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/option
>> >> >> > s/f il epropertiesoption.cpp -
>> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/option
>> >> >> > s/m et adataoption.cpp -
>> >> >> >  ${CMAKE_CURRENT_SOURCE_DIR}/utilities/advancedrename/parser/option
>> >> >> > 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
>


More information about the Digikam-devel mailing list