From 90825e2392b2d70e43c7a25b8a3752299a933894 Mon Sep 17 00:00:00 2001 From: toma Date: Wed, 25 Nov 2009 17:56:58 +0000 Subject: Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdebindings@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- qtruby/INSTALL | 144 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 144 insertions(+) create mode 100644 qtruby/INSTALL (limited to 'qtruby/INSTALL') diff --git a/qtruby/INSTALL b/qtruby/INSTALL new file mode 100644 index 00000000..86e05d3d --- /dev/null +++ b/qtruby/INSTALL @@ -0,0 +1,144 @@ +Dependencies +------------ + +- ruby 1.8 or greater +- automake 1.7 or greater +- Qt 3.1 or greater +- KDE 3.1 or greater (for korundum) + +CVS Snapshot +------------ + +If building from a CVS snapshot, this initial make command in needed: + +$ make -f Makefile.cvs + +Configure flags needed +---------------------- + +In order to build korundum: (this is the default in fact, so you can just use ./configure) + ./configure --with-smoke="qt kde" +in order to build just qtruby: + ./configure --with-smoke="qt" + +Building the Qt extension without KDE build process +--------------------------------------------------- + +To build the Qt.so extension, provide 'extconf.rb' with the directories where +the Qt and Smoke libraries are installed: + +$ cd qtruby/rubylib/qtruby +$ ruby extconf.rb --with-smoke-dir=/opt/kde3 \ + --with-qt-dir=/home/duke/src/kde/HEAD/qt-copy +$ make +$ make install + +Building on Mac OS X +-------------------- + +Automake/autoconf don't work very well on Mac OS X, and so qmake and +exconf.rb must be used instead. You can use the native Aqua/Quartz Qt/Mac +version of Qt - QtRuby doesn't require X11. + +Build Qt/Mac and install in /Developer/qt. These configure flags work well: + +./configure -system-zlib -qt-gif -plugin-imgfmt-mng -thread -no-stl +-no-exceptions -fast + +Configure QtRuby and build the Smoke library: +$ ./configure '--with-qt-dir=/Developer/qt' '--enable-mac' +$ cd smoke/qt +# Generate the Smoke library sources: +$ perl generate.pl +# Overwrite the automake generated Makefile: +$ qmake -makefile +# Build the Smoke library and install into /usr/lib +$ sudo make +... + +# Build the 'Qt' extension: +$ cd qtruby/rubylib/qtruby +$ ruby extconf.rb --with-qt-dir=/Developer/qt --with-smoke-dir=/usr \ + --with-smoke-include=../../../smoke +$ make +$ sudo make install +... + +# Build the rbuic tool and install into /usr/bin +$ cd qtruby/rubylib/designer/rbuic +$ qmake -makefile +$ sudo make +... + +# Build the 'qui' QWidgetFactory extension +$ cd qtruby/rubylib/designer/uilib +$ ruby extconf.rb --with-qtruby-include=../../qtruby --with-qt-dir=/Developer/qt +$ make +$ sudo make install + +To get Mac menus to appear, when a QtRuby program is run from the command line, +link ruby against the carbon resource lib and call it 'rubyw', see: + +http://www.rubygarden.org/ruby?RubyTkOnOSX + +"Create rubyw executable for MacOS?: the Win32 distribution of ruby includes a +'rubyw.exe' so I decided to attempt creating a 'rubyw' executable: + +On my machine, ruby is installed at /usr/local/bin/ruby, so I did sudo +cp /usr/local/bin/ruby /usr/local/bin/rubyw +Using the suggestion directly above (on this page), I then ran +sudo /Developer/Tools/Rez -t APPL Carbon.r -o rubyw +I was then able to successfully run an example RubyTk app by +running /usr/local/bin/rubyw ruby-1.8.0/ext/tk/sample/tkmenubutton.rb +Everything worked as expected, and I was able to interact with the UI without +any SetFrontProcess errors. " + +Ryutaro Amano wrote this about creating a double clickable bundle: + +"Thanks all, I have succeeded make rubyw. +sample script is launched in foreground. +And I have known the following steps to launch qt-ruby script by double clicking +from Finder. + +As an example, I take qtruby-1.0.11/qtruby/rubylib/tutorial/t14 + +cd qtruby-1.0.11/qtruby/rubylib/tutorial/t14 +chmod 755 t14.rb +replace first line of t14.rb with "#!/usr/local/bin/rubyw" +mkdir -p Shoot.app/Contents/MacOS +mv t14.rb Shoot.app/Contents/MacOS/Shoot +cp {cannon.rb,gamebrd.rb,lcdrange.rb} Shoot.app/Contents/MacOS +cp Info.plist Shoot.app/Contents + +Info.plist is + + + + + + CFBundleExecutable + Shoot + CFBundleIdentifier + jp.co.ryutaro.qtquit + CFBundlePackageType + APPL + CFBundleSignature + ???? + + + +echo -n "APPL????" > Shoot.app/Contents/PkgInfo + +Double click Shoot.app, Qt-Window appears in foreground." + +QScintilla text editing widget support +-------------------------------------- + +QScintilla is a text editing widget with syntax highlighting for a +number of languages including ruby. It can be downloaded from here: + +http://www.riverbankcomputing.co.uk/qscintilla/download.php + +Use the '--enable-qscintilla=yes' configure option to build QtRuby with +QScintilla support. The classes in a 'Qext::' module, with names such as +Qext::Scintilla. -- cgit v1.2.1