[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-bindings
Subject:    Re: [Kde-bindings] QtRuby4 gem successfully built for Windows
From:       Ian Monroe <ian.monroe () gmail ! com>
Date:       2010-02-04 18:12:40
Message-ID: f680fec51002041012v36d75404rf03a20f6c4b48e6a () mail ! gmail ! com
[Download RAW message or body]

On Thu, Feb 4, 2010 at 12:00 PM, Melton, Ryan <rmelton@ball.com> wrote:
> Richard,
> 
> I finally succeeded in creating an updated qtruby4 gem for Windows bundled with QT \
> 4.6.1. 
> Two Questions:
> 1. What is the best way for me to get the gem file to you and to send you the \
> changes to the numerous files? 
> 2. Can you explain the 2.0.5 version number? For the windows binary gem, I \
> versioned it as 4.6.1.0.1084277 where 4.6.1 is the bundled Qt version, 0 being the \
> release number, and 1084277 being the subversion revision of kdebindings I used to \
> build the code. 
> Also, below are my notes on getting the code to build.
> 
> Thanks,
> Ryan
> 
> 
> 
> 
> Lessons Learned:
> 1. Smoke would not link correctly against Qt 4.5.3.  After upgrading to 4.6.1 \
> linking succeeded. 2. Things work better with cmake if the Qt bin directory is in \
> the path.

you can also use cmake-gui and specify such things manually. But yea,
it uses qmake to find things out about Qt automatically.

> Files Modified:
> 1. CMakeLists.txt.qtruby - remove Perl requirement and add generator directory
> 2. generator/parser/CMakeLists.txt - Fix install line to be compatible with \
> windows. See http://cmake.org/pipermail/cmake/2008-September/023876.html. 3. \
> ruby/qtruby/src/CMakeLists.txt - Make a no dbus version of the \
> target_link_libraries lines 4. ruby/qtruby/src/marshall_primitives.h - Remove \
> "static" from lines 253, 265, 275, and 284 5. ruby/qtruby/src/qtruby.cpp - place \
> #ifdef QT_QTDBUS around several lines - Add #undef read after #include ruby.h 6. \
> ruby/qtruby/tools/rbuic/ui4.h - Delete Q_DECL_EXPORT and Q_DECL_IMPORT from lines \
> 73 and 74 if on windows 7. ruby/qtscript/qtscript.cpp - Add #undef read, #undef \
> write, #undef connect, #undef accept after #include ruby.h 8. \
> ruby/qtscript/qtscripthandlers.cpp - Add #undef read, #undef write, #undef connect, \
> #undef accept after #include ruby.h 9. ruby/qttest/qttest.cpp - Add #undef read, \
> #undef write, #undef connect, #undef accept after #include ruby.h 10. \
> ruby/qttest/qttesthandlers.cpp - Add #undef read, #undef write, #undef connect, \
> #undef accept after #include ruby.h 11. ruby/qtuitools/qtuitools.cpp - Add #undef \
> read, #undef write, #undef connect, #undef accept after #include ruby.h 12. \
> ruby/qtuitools/qtuitoolshandlers.cpp - Add #undef read, #undef write, #undef \
> connect, #undef accept after #include ruby.h 13. ruby/qtwebkit/qtwebkit.cpp - Add \
> #undef read, #undef write, #undef connect, #undef accept after #include ruby.h 14. \
> ruby/qtwebkit/qtwebkithandlers.cpp - Add #undef read, #undef write, #undef connect, \
> #undef accept after #include ruby.h 15. smoke/qt/CMakeLists.txt - Create a version \
> of config.xml.cmake that did not include dbus 16. smoke/qt/qt_includes.h - Remove \
> include of QtDBus/QtDBus 17. smoke/qt/QtGuess.txt - Earlier described patch to look \
> in the right directory for headers, remove ${QT_QTDBUS_LIBRARY} 18. \
> smoke/qtcore/QtGuess.txt - Earlier described patch to look in the right directory \
> for headers, remove ${QT_QTDBUS_LIBRARY}

Provide a patch instead. :)

> The code was built with this batch file:
> set PATH=C:\Qt\2010.01\qt\bin;C:\Qt\2010.01\mingw\bin;%PATH%
> rmdir /S /Q CMakeFiles
> rmdir /S /Q generator
> rmdir /S /Q smoke
> rmdir /S /Q ruby
> del cmake_install.cmake
> del CmakeCache.txt
> del Makefile
> set CC=mingw32-gcc.exe
> set CXX=mingw32-g++.exe
> copy ..\..\kdelibs\cmake\modules\FindQt4.cmake ..\cmake\modules\
> copy ..\..\kdelibs\cmake\modules\FindRUBY.cmake ..\cmake\modules\
> copy ..\..\kdelibs\cmake\modules\MacroOptionalFindPackage.cmake ..\cmake\modules\
> copy ..\..\kdelibs\cmake\modules\MacroPushRequiredVars.cmake ..\cmake\modules\
> copy ..\..\kdelibs\cmake\modules\Qt4Macros.cmake ..\cmake\modules\
> copy ..\..\kdelibs\cmake\modules\Qt4ConfigDependentSettings.cmake ..\cmake\modules\
> copy ..\..\kdelibs\cmake\modules\Qt4Macros.cmake ..\cmake\modules\
> copy ..\..\kdelibs\cmake\modules\HandleImportedTargetsInCMakeRequiredLibraries.cmake \
> ..\cmake\modules\

You could probably set CMAKE_MODULE_PATH instead.

> cmake ^
> -G "MinGW Makefiles" ^
> -DRUBY_EXECUTABLE="C:/ruby/bin/ruby.exe" ^
> -DCMAKE_MAKE_PROGRAM=mingw32-make.exe ^
> -DCUSTOM_RUBY_SITE_ARCH_DIR="C:/ruby/lib/ruby/site_ruby/1.8/i386-msvcrt" ^
> -DCUSTOM_RUBY_SITE_LIB_DIR="C:/ruby/lib/ruby/site_ruby/1.8" ^
> -Wno-dev ^
> -DENABLE_SMOKE=on ^
> -DENABLE_QTCORE_SMOKE=on ^
> -DENABLE_QTNETWORK_SMOKE=on ^
> -DENABLE_QTDBUS_SMOKE=off ^
> -DENABLE_QTGUI_SMOKE=on ^
> -DENABLE_QTSVG_SMOKE=on ^
> -DENABLE_QTSQL_SMOKE=on ^
> -DENABLE_QTXML_SMOKE=on ^
> -DENABLE_QTXMLPATTERNS_SMOKE=on ^
> -DENABLE_QTOPENGL_SMOKE=on ^
> -DENABLE_QTWEBKIT_SMOKE=on ^
> -DENABLE_QTSCRIPT_SMOKE=on ^
> -DENABLE_QTUITOOLS_SMOKE=on ^
> -DENABLE_QTTEST_SMOKE=on ^
> -DENABLE_QTMULTIMEDIA_SMOKE=on ^
> -DENABLE_PHONON_SMOKE=off ^
> -DENABLE_QSCI_SMOKE=off ^
> -DENABLE_QWT_SMOKE=off ^
> -DENABLE_QIMAGEBLITZ_SMOKE=off ^
> -DENABLE_KDE_SMOKE=off ^
> -DENABLE_KDECORE_SMOKE=off ^
> -DENABLE_KDEUI_SMOKE=off ^
> -DENABLE_KIO_SMOKE=off ^
> -DENABLE_KPARTS_SMOKE=off ^
> -DENABLE_KFILE_SMOKE=off ^
> -DENABLE_KNEWSTUFF2_SMOKE=off ^
> -DENABLE_KNEWSTUFF3_SMOKE=off ^
> -DENABLE_KUTILS_SMOKE=off ^
> -DENABLE_KDEVPLATFORM_SMOKE=off ^
> -DENABLE_KHTML_SMOKE=off ^
> -DENABLE_KTEXTEDITOR_SMOKE=off ^
> -DENABLE_SOLID_SMOKE=off ^
> -DENABLE_PLASMA_SMOKE=off ^
> -DENABLE_ATTICA_SMOKE=off ^
> -DENABLE_QTRUBY=on ^
> -DENABLE_QTWEBKIT_RUBY=on ^
> -DENABLE_QTUITOOLS_RUBY=on ^
> -DENABLE_QTSCRIPT=on ^
> -DENABLE_QTTEST=on ^
> -DENABLE_PHONON_RUBY=off ^
> -DENABLE_QSCINTILLA_RUBY=off ^
> -DENABLE_QWT_RUBY=off ^
> -DENABLE_SOPRANO_RUBY=off ^
> -DENABLE_KDEVPLATFORM_RUBY=off ^
> -DENABLE_KORUNDUM_RUBY=off ^
> -DENABLE_KHTML_RUBY=off ^
> -DENABLE_KTEXTEDITOR_RUBY=off ^
> -DENABLE_SOLID_RUBY=off ^
> -DENABLE_PLASMA_RUBY=off ^
> -DENABLE_KROSSRUBY=off ^
> ..
> mingw32-make.exe
> 
> 
> 
> This message and any enclosures are intended only for the addressee.  Please
> notify the sender by email if you are not the intended recipient.  If you are
> not the intended recipient, you may not use, copy, disclose, or distribute this
> message or its contents or enclosures to any other person and any such actions
> may be unlawful.  Ball reserves the right to monitor and review all messages
> and enclosures sent to or from this email address.
> _______________________________________________
> Kde-bindings mailing list
> Kde-bindings@kde.org
> https://mail.kde.org/mailman/listinfo/kde-bindings
> 
_______________________________________________
Kde-bindings mailing list
Kde-bindings@kde.org
https://mail.kde.org/mailman/listinfo/kde-bindings


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic