[Digikam-devel] marblewidget again... This time under MACOSX
Gilles Caulier
caulier.gilles at gmail.com
Wed Apr 13 16:42:54 BST 2011
Hi all,
i just upgrated KDE under MacOSX using Macport. The version is 4.6.1 :
MacBook-de-Agnes:~ agnes$ sudo port info kdelibs4
kdelibs4 @4.6.1 (kde, kde4)
Variants: debug, docs, universal
Description: Core libraries for KDE4 applications to function
Homepage: http://www.kde.org
Build Dependencies: cmake, pkgconfig, automoc, flex, gmake
Library Dependencies: qt4-mac, phonon, bzip2, zlib, soprano,
cyrus-sasl2, strigi, gettext, pcre, shared-mime-info, giflib, tiff,
jpeg, libpng, jasper, openexr, expat, libart_lgpl,
libidn, libiconv, glib2, openssl, enchant,
aspell, aspell-dict-en, attica, liblzma, avahi, qca, dbusmenu-qt,
docbook-xml, docbook-xsl, grantlee, kerberos5,
shared-desktop-ontologies
Conflicts with: kdelibs3
Platforms: darwin
License: unknown
Maintainers: snc at macports.org, sharky at macports.org,
michaelld at macports.org
kdeedu still an older version, including Marble :
MacBook-de-Agnes:~ agnes$ sudo port info kdeedu4
kdeedu4 @4.6.0 (kde, kde4)
Variants: debug, docs
Description: Education based applications for the KDE4
platform. This includes programs such as Marble and Kalzium.
Homepage: http://www.kde.org
Build Dependencies: cmake, pkgconfig, automoc
Library Dependencies: qt4-mac, phonon, kdelibs4, kdebase4, ocaml,
openbabel, cfitsio, libqalculate, gsl, xplanet, libspectre, eigen,
gpsd
Platforms: darwin
License: unknown
Maintainers: snc at macports.org, sharky at macports.org
When i run cmake script to configure digiKam-SC, i got this error :
-- ----------------------------------------------------------------------------------
-- Starting CMake configuration for: libkmap
-- Found Qt-Version 4.7.2
-- -> QT_QMAKE_EXECUTABLE is /opt/local/bin/qmake
-- -> QT_INCLUDE_DIR is /opt/local/include
-- -> QT_QTCORE_INCLUDE_DIR is /opt/local/include/QtCore
-- -> QT_BINARY_DIR is /opt/local/bin
-- -> QT_LIBRARY_DIR is /opt/local/lib
-- -> QT_PLUGINS_DIR is /opt/local/share/qt4/plugins
-- -> QT_MKSPECS_DIR is /opt/local/share/qt4/mkspecs
CMake Warning (dev) at
/opt/local/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:86
(INCLUDE):
File /opt/local/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake
includes /opt/local/share/apps/cmake/modules/CMakeParseArguments.cmake
(found via CMAKE_MODULE_PATH) which shadows
/opt/local/share/cmake-2.8/Modules/CMakeParseArguments.cmake. This may
cause errors later on .
Policy CMP0017 is not set: Prefer files from the CMake module directory
when including from there. Run "cmake --help-policy CMP0017" for policy
details. Use the cmake_policy command to set the policy and suppress this
warning.
Call Stack (most recent call first):
/opt/local/share/cmake-2.8/Modules/FindThreads.cmake:156 (INCLUDE)
/opt/local/share/apps/cmake/modules/Qt4ConfigDependentSettings.cmake:32
(FIND_PACKAGE)
/opt/local/share/apps/cmake/modules/FindQt4.cmake:1237 (INCLUDE)
extra/libkmap/CMakeLists.txt:32 (FIND_PACKAGE)
This warning is for project developers. Use -Wno-dev to suppress it.
CMake Error at extra/libkmap/CMakeLists.txt:41 (FIND_PACKAGE):
Could not find module FindMarble.cmake or a configuration file for package
Marble.
Adjust CMAKE_MODULE_PATH to find FindMarble.cmake or set Marble_DIR to the
directory containing a CMake configuration file for Marble. The file will
have one of the following names:
MarbleConfig.cmake
marble-config.cmake
Libkmap search MarbleConfig cmake script... I can see that marble is
not detected by this script anymore, since KDE 4.6 probably, because
under Windows with KDE 4.5.4, there is no problem...
The right script is now by this script :
bash-3.2$ pwd
/opt/local/share/apps/cmake/modules
bash-3.2$ ls *Marble*
FindMarbleWidget.cmake
Which contain this code :
bash-3.2$ cat FindMarbleWidget.cmake
# - Try to find marblewidget library
# Once done this will define
#
# MARBLEWIDGET_FOUND - system has MARBLEWIDGET library
# LIBMARBLEWIDGET_INCLUDE_DIR - the LIBMARBLEWIDGET include directory
# LIBMARBLEWIDGET_LIBRARY - the marblewidget library
#
# copyright 2008 by Patrick Spendrin <ps_ml at gmx.de>
# use this file as you like
#
if(LIBMARBLEWIDGET_INCLUDE_DIR AND LIBMARBLEWIDGET_LIBRARY)
# Already in cache
set(MARBLEWIDGET_FOUND TRUE)
else(LIBMARBLEWIDGET_INCLUDE_DIR AND LIBMARBLEWIDGET_LIBRARY)
find_path(LIBMARBLEWIDGET_INCLUDE_DIR Quaternion.h PATH_SUFFIXES marble)
if (WIN32 AND CMAKE_BUILD_TYPE_TOLOWER MATCHES debug)
set (LIBRARY_NAME marblewidgetd)
else(WIN32 AND CMAKE_BUILD_TYPE_TOLOWER MATCHES debug)
set (LIBRARY_NAME marblewidget)
endif (WIN32 AND CMAKE_BUILD_TYPE_TOLOWER MATCHES debug)
find_library(LIBMARBLEWIDGET_LIBRARY ${LIBRARY_NAME})
if(LIBMARBLEWIDGET_INCLUDE_DIR AND LIBMARBLEWIDGET_LIBRARY)
set(MARBLEWIDGET_FOUND TRUE)
endif(LIBMARBLEWIDGET_INCLUDE_DIR AND LIBMARBLEWIDGET_LIBRARY)
if(MARBLEWIDGET_FOUND)
if (NOT MARBLEWIDGET_FIND_QUIETLY)
message(STATUS "Found Marble: ${LIBMARBLEWIDGET_LIBRARY}")
endif (NOT MARBLEWIDGET_FIND_QUIETLY)
else(MARBLEWIDGET_FOUND)
if(MARBLEWIDGET_FIND_REQUIRED)
message(FATAL_ERROR "Could NOT find any Marble library")
endif(MARBLEWIDGET_FIND_REQUIRED)
endif(MARBLEWIDGET_FOUND)
mark_as_advanced(LIBMARBLEWIDGET_INCLUDE_DIR LIBMARBLEWIDGET_LIBRARY)
endif(LIBMARBLEWIDGET_INCLUDE_DIR AND LIBMARBLEWIDGET_LIBRARY)
As we can see in libkmap :
https://projects.kde.org/projects/kdereview/libkmap/repository/revisions/0b63454ffd1e113340c3a52f90b706f0568eea5f
Some severals changes have been done by Michael about marble find
cmake scripts, but some transition tune need to be done to work
everywhere. I'm right ?
Gilles Caulier
More information about the Digikam-devel
mailing list