Discussion:
Building failed with Qt5 on Mac
Fan Yang
2013-08-09 22:49:53 UTC
Permalink
Hi,

I found the Qt port couldn't be built with Qt5 successfully on Mac, but
it's OK with Qt4. It is caused by some definitions are missing in Qt5. I
simply add the missing definitions, it works now. Hope it could be helpful.

Fan
--
You received this message because you are subscribed to the Google Groups "scintilla-interest" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scintilla-interest+***@googlegroups.com.
To post to this group, send email to scintilla-***@googlegroups.com.
Visit this group at http://groups.google.com/group/scintilla-interest.
For more options, visit https://groups.google.com/groups/opt_out.
Neil Hodgson
2013-08-09 23:19:17 UTC
Permalink
I found the Qt port couldn't be built with Qt5 successfully on Mac, but it's OK with Qt4. It is caused by some definitions are missing in Qt5. I simply add the missing definitions, it works now.
The patch also reverts the recent change from wrapState -> Wrapping(). It will not build against current Hg Scintilla as wrapState has moved.

Neil
--
You received this message because you are subscribed to the Google Groups "scintilla-interest" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scintilla-interest+***@googlegroups.com.
To post to this group, send email to scintilla-***@googlegroups.com.
Visit this group at http://groups.google.com/group/scintilla-interest.
For more options, visit https://groups.google.com/groups/opt_out.
Fan Yang
2013-08-10 00:55:59 UTC
Permalink
OK, fixed. Only one line more need to be merged.
Post by Fan Yang
Post by Fan Yang
I found the Qt port couldn't be built with Qt5 successfully on Mac, but
it's OK with Qt4. It is caused by some definitions are missing in Qt5. I
simply add the missing definitions, it works now.
The patch also reverts the recent change from wrapState -> Wrapping().
It will not build against current Hg Scintilla as wrapState has moved.
Neil
--
You received this message because you are subscribed to the Google Groups "scintilla-interest" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scintilla-interest+***@googlegroups.com.
To post to this group, send email to scintilla-***@googlegroups.com.
Visit this group at http://groups.google.com/group/scintilla-interest.
For more options, visit https://groups.google.com/groups/opt_out.
Neil Hodgson
2013-08-10 02:17:31 UTC
Permalink
Post by Fan Yang
OK, fixed. Only one line more need to be merged.
Committed.

Neil
--
You received this message because you are subscribed to the Google Groups "scintilla-interest" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scintilla-interest+***@googlegroups.com.
To post to this group, send email to scintilla-***@googlegroups.com.
Visit this group at http://groups.google.com/group/scintilla-interest.
For more options, visit https://groups.google.com/groups/opt_out.
Matthew Brush
2013-08-10 02:39:07 UTC
Permalink
Post by Neil Hodgson
Post by Fan Yang
OK, fixed. Only one line more need to be merged.
Committed.
That code is LGPL[1], and since Scintilla is most often statically
linked into the application, the application becomes forced to comply
with LGPL rules for static linking[2], unlike the existing rules about
dynamically linking to Qt libs proper.

Might be worth adding a note to the source file license area and/or
README mentioning this. Obviously IANAL though.

Cheers,
Matthew Brush

[1] http://qt.gitorious.org/qt/qt/blobs/4.7/src/gui/kernel/qmime.h#line141
[2] http://www.gnu.org/licenses/gpl-faq.html#LGPLStaticVsDynamic
--
You received this message because you are subscribed to the Google Groups "scintilla-interest" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scintilla-interest+***@googlegroups.com.
To post to this group, send email to scintilla-***@googlegroups.com.
Visit this group at http://groups.google.com/group/scintilla-interest.
For more options, visit https://groups.google.com/groups/opt_out.
Neil Hodgson
2013-08-10 02:56:27 UTC
Permalink
That code is LGPL[1], and since Scintilla is most often statically linked into the application, the application becomes forced to comply with LGPL rules for static linking[2], unlike the existing rules about dynamically linking to Qt libs proper.
Can't accept the license consequences so change set backed out.

Neil
--
You received this message because you are subscribed to the Google Groups "scintilla-interest" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scintilla-interest+***@googlegroups.com.
To post to this group, send email to scintilla-***@googlegroups.com.
Visit this group at http://groups.google.com/group/scintilla-interest.
For more options, visit https://groups.google.com/groups/opt_out.
Neil Hodgson
2013-08-10 03:33:59 UTC
Permalink
Its likely that ScintillaEdit can be made to build on Qt 5 on OS X by disabling the ScintillaRectangularMime code. This would mean that rectangular clipboard actions wouldn't work but it would allow people to continue developing. The changes would modify current lines 76 and 135 in ScintillaQt.cpp from

#ifdef Q_OS_MAC

to

#if defined(Q_OS_MAC) && (QT_VERSION < QT_VERSION_CHECK(5, 0, 0))

I don't want to disturb my Mac Qt environment by installing Qt 5 but the code builds OK for Qt 4. Could someone please try the change with Qt 5 and see if its good?

Neil
--
You received this message because you are subscribed to the Google Groups "scintilla-interest" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scintilla-interest+***@googlegroups.com.
To post to this group, send email to scintilla-***@googlegroups.com.
Visit this group at http://groups.google.com/group/scintilla-interest.
For more options, visit https://groups.google.com/groups/opt_out.
Matthew Brush
2013-08-10 03:48:26 UTC
Permalink
Post by Neil Hodgson
Its likely that ScintillaEdit can be made to build on Qt 5 on OS X by disabling the ScintillaRectangularMime code. This would mean that rectangular clipboard actions wouldn't work but it would allow people to continue developing. The changes would modify current lines 76 and 135 in ScintillaQt.cpp from
#ifdef Q_OS_MAC
to
#if defined(Q_OS_MAC) && (QT_VERSION < QT_VERSION_CHECK(5, 0, 0))
I don't want to disturb my Mac Qt environment by installing Qt 5 but the code builds OK for Qt 4. Could someone please try the change with Qt 5 and see if its good?
FWIW, I installed Qt5 SDK using default options and in my ~ it made a
whole separate "Qt5.1.0" directory, leaving the existing "QtSDK"
directory from Qt4 SDK untouched (I presume).

P.S. I'm currently upgrading XCode to get newer clang and once it
eventually finishes I should be able to compile my Scintilla-using
project, assuming it installs a newer clang with better C++11 support.
Will report back once I've tested the changes (and also about that other
bug I couldn't test).

Cheers,
Matthew Brush
--
You received this message because you are subscribed to the Google Groups "scintilla-interest" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scintilla-interest+***@googlegroups.com.
To post to this group, send email to scintilla-***@googlegroups.com.
Visit this group at http://groups.google.com/group/scintilla-interest.
For more options, visit https://groups.google.com/groups/opt_out.
Continue reading on narkive:
Loading...