Build problems and solutions
Alexander Neundorf
neundorf at kde.org
Sun Sep 16 21:13:38 BST 2007
On Tuesday 04 September 2007 03:36, David Faure wrote:
> On Tuesday 28 August 2007, Mosfet wrote:
> > 1) You need to reinstall Blitz from kdesupport.
> > 2) There is an updated FindBlitz cmake module in kdelibs/cmake/modules.
> > This needs to be installed.
> > 3) You need to delete your CMake cache file in your build directory so
> > the updated FindBlitz will run.
>
> Blitz is still not found for me -- because I install kdesupport into its
> own prefix. FindBlitz seems to expect blitz to be installed into the same
> dir as kdelibs, or in /usr, but that's not the case. Strigi supports an env
> var (STRIGI_HOME) so that it can be installed anywhere; ok if I add an env
> var for blitz? (BLITZDIR for consistency with Qt, KDE, etc. or BLITZ_HOME
> for consistency with strigi?) Or should that be QIMAGEBLITZDIR? :)
This doesn't really scale, we shouldn't add an extra env. variable for every
library.
The following options:
-use "make edit_cache" or ccmake (or a yet unwritten Qt>=4.3 based cmake GUI)
to set the QIMAGEBLITZ_* variables or use -D... from the command line
-since this is a lot of typing, add something to cmake so we can
define "command line shortcuts", so you could use e.g. --prefix=/opt instead
of -DCMAKE_INSTALL_PREFIX:STRING=/opt
-use cmake cvs and set -DCMAKE_FIND_ROOT_PATH=... to your additional
installation prefixes (which will do more than what you want, it will use
these dirs as prefix for all other search dirs, so by setting this
to /home/david/mystuff it will search e.g. /home/david/mystuff/include for
headers and /home/david/mystuff/lib) for libs
-have Blitz install a BlitzConfig.cmake to Blitz, and set Blitz_DIR to the
location where this file is
-instead of an environment variable use a cmake variable as base dir:
# the following is required to make sure that the variable ends up in the
# cmake cache with all cmake versions
set(QIMAGEBLITZDIR "/usr" CACHE FILEPATH "blitz install dir")
find_path(BLITZ_INCLUDES
NAMES
qimageblitz.h
PATH_SUFFIXES qimageblitz
PATHS
${QIMAGEBLITZDIR}/include
${KDE4_INCLUDE_DIR}
${INCLUDE_INSTALL_DIR}
)
This has the advantage over the environment variable that it appears in the
cache/ccmake/"make edit_cache".
- there is a bug report about improving cmake's FIND_PACKAGE(), but I don't
remember the number right now...
Bye
Alex
More information about the kde-core-devel
mailing list