[Kde-bindings] Compiling smoke on Mac

Elliott Slaughter elliottslaughter at gmail.com
Mon Feb 8 00:22:18 UTC 2010


Hi,

Now that I've got a build procedure that works on Linux, I'm trying to
compile on Mac :-)

First, the version of Qt 4.6 which is provided by Nokia doesn't come with
DBus support, which requires some small changes in the build. Namely, I had
to remove the include QtDBus line from qt_includes.h. (This is obviously not
the correct solution in general, perhaps someone can suggest a better one?)

Index: smoke/qt/qt_includes.h
===================================================================
--- smoke/qt/qt_includes.h (revision 1086641)
+++ smoke/qt/qt_includes.h (working copy)
@@ -15,5 +15,5 @@
 // some MS headers do
 // #define interface struct
 // un-define it here so QtDBus will build correctly
-#undef interface
-#include <QtDBus/QtDBus>
+//#undef interface
+//#include <QtDBus/QtDBus>

Second, I had to apply the following patch to fix the include directories
for smokeapi:

Index: smoke/smokeapi/CMakeLists.txt
===================================================================
--- smoke/smokeapi/CMakeLists.txt (revision 1086641)
+++ smoke/smokeapi/CMakeLists.txt (working copy)
@@ -1,7 +1,7 @@
 project(smokeapi)

 find_package(Qt4 REQUIRED)
-include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/.. )
+include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/.. ${QT_INCLUDES} )

 add_executable(smokeapi main.cpp)
 target_link_libraries(smokeapi smokeqtcore ${QT_QTCORE_LIBRARY})

With the two above patches, I can compile most of the smoke modules for
QtCore, QtGui, etc, but when I try to compile the QtScript smoke module, I
get the following error:

[ 92%] Generating smokedata.cpp, x_1.cpp
using generator
"/Users/elliott/Programming/Lisp/kdebindings-nokia/generator/bin/generator_smoke.so"
include directory "QT_QTDBUS_INCLUDE_DIR-NOTFOUND" doesn't exist
parsing
"/Users/elliott/Programming/Lisp/kdebindings-nokia/smoke/qtscript/qtscript_includes.h"
Generating SMOKE sources...
preparing SMOKE data [qtscript]
writing out smokedata.cpp [qtscript]
missing type:  in method  QScriptContextInfo::operator<<(QDataStream&, const
QScriptContextInfo&)

Of course, I can just disable compiling the QtScript module, and everything
else will work, but I figured someone might be interested in this error
message.

Thanks.

-- 
Elliott Slaughter

"Don't worry about what anybody else is going to do. The best way to predict
the future is to invent it." - Alan Kay
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-bindings/attachments/20100207/b82c470d/attachment.html>


More information about the Kde-bindings mailing list