When trying to compile on KDE installations older than 4.6.95, the cmake configuration step for the whole project fails. The most visible symptom is the inability to locate kdcraw (or at least, it finds it at first but the misplaces it later on.) This seems to be caused by the use the raw DIGIKAMSC_USE_PRIVATE_KDEGRAPHICS in extra/CMakeLists.txt to determine whether or not to use the local library copies. However, this parameter is overlayed by ENABLE_PRIVATE_KDEGRAPHICS in the main CMakeLists.txt. Changing extra/CMakeLists.txt to use ENABLE_PRIVATE_KDEGRAPHICS allows successful completion of the cmake step. (Although DIGIKAMSC_USE_PRIVATE_KDEGRAPHICS is mentioned in the README file, the magic behavior change breaks the very instance it was supposed to protect.)
Please try digiKam 3.1.0 where this problem have been fixed normaly... Gilles Caulier
3.1 indeed does not have the problem but only because DIGIKAMSC_USE_PRIVATE_KDEGRAPHICS now defaults to ON (yet the OPTION comment on the same line claims the default is OFF.) The problematic code is still there and triggers when someone on KDE < 4.7 specifies DIGIKAMSC_USE_PRIVATE_KDEGRAPHICS = OFF for whatever reason. I realize now my original suggestion would make it impossible to compile the extras separately. I'm not familiar enough with CMake to know if the following would violate use guidelines as Cmake itself has no problems with it: replace ENABLE_PRIVATE_KDEGRAPHICS with DIGIKAMSC_USE_PRIVATE_KDEGRAPHICS throughout in the upper level CMakeLists.txt and change the initial logic to force it ON if KDE < 4.6.95 is detected.
This entry stil valid with digiKam 3.5.0 ? Gilles Caulier
This regressed back to the 2.9.0 situation: DIGIKAMSC_USE_PRIVATE_KDEGRAPHICS is again OFF by default. Compilation against KDE < 4.6.95 will attempt to flag an override by setting ENABLE_PRIVATE_KDEGRAPHICS but extras/CMakeLists.txt only considers DIGIKAMSC_USE_PRIVATE_KDEGRAPHICS which remained OFF. As a result, it does not execute the ADD_DIRECTORY calls. The simplest way out still looks to be to change the value of DIGIKAMSC_USE_PRIVATE_KDEGRAPHICS if needed and not use ENABLE_PRIVATE_KDEGRAPHICS at all. Would that violate any guidelines as it is a user supplied parameter?
Git commit 8ad9de540a2d5a17e921527e3a5cb7c2c53065ae by Gilles Caulier. Committed on 03/12/2013 at 07:23. Pushed by cgilles into branch 'master'. Fix compilation rules about local libkipi/libkexv2/libkdcraw to use, by checking right cmake variable set by root cmake script FIXED-IN: 4.0.0 M +2 -2 extra/CMakeLists.txt http://commits.kde.org/scratch/mwiesweg/digikam-sc/8ad9de540a2d5a17e921527e3a5cb7c2c53065ae