From: Ivan B. <iv...@cv...> - 2014-11-19 08:48:08
|
What about the issue with boost iterators? Does it work for you? I tried to compile Tora using MSVC 2013 and boost 1.55 and it worked for me. Could it be problem if the boost ver. 1.57? About the patch - part by part. - qscintilla2, lets sync it with upstream. we use ver 2.8.0 while the upstream advaced to 2.8.4, the announce that they support Qt5, so it should work without any changes. - trotl, I'll fix it - tora sources (QString changes) - ok for me. - tora sources (header includes) I prefixed all the Qt headers with directory to make Eclipse CDT parser happy. Now I have to revert it back, because Qt reorganized their headers. Grr Let's not use #ifdef's when it's not necessary. - CMake I will have to check it thoroughly yet - virtual methods. The method QAbstractItemView::dataChanged has additional parameter. All overrides have to handle it. Maybe we should stick to C++x11 and start using override? - toWFlags should be put into utils.h (should not be in multiple headers) - model::reset is deprecated also in Qt4 (it's QT3 relict) the replacement with beginResetModel/endResetModel should not be placed in #ifdefs. it ca be simplified. - toresultview.cpp what is purpose of this? +#if QT_VERSION < 0x050000 if (column == 0) wx += top->style()->pixelMetric(QStyle::PM_CheckListButtonSize) + 4 + top->itemMargin(); +#endif Ivan PS: thanks for all the work On 11/18/2014 05:27 PM, Petr Bena wrote: > Diffhttps://github.com/benapetr/tora/compare/master...qt5x > > On Tue, Nov 18, 2014 at 5:25 PM, Petr Bena<ben...@gm...> wrote: >> Hi, >> >> I had some problems compiling tora using Qt4, especially because I >> work in Visual Studio 2013 which isn't supported by Qt4x prebuilt >> binaries that are provided by Qt project and I found it extremely >> complex and time consuming to compile whole Qt myself in latest VS. So >> I decided to adapt Tora3 to Qt5 which, even if some may consider it >> premature and unstable, is much better supported on MS windows (you >> can easily download all prebuilt libs using their Qt manager). >> >> I basically created a new flag QT5_BUILD in CMake which if enabled, >> switches the configuration to use Qt5 libraries instead of Qt4. This >> is mostly useful only for MS windows where using Qt4 is not so simple >> as on linux. The goal is to keep Qt4 backward compatibility so that >> users can decide which one to use, but as I had to change around 200 >> cpp files for Qt5 to work (I wrapped a lot of code in #if QT_VERSION >>> = 0x050000) something might be broken now. I will need to work more >> on code cleanup so that it works with no glitches and also CMakeLists >> needs some update, as it now doesn't properly handle linker options (I >> had to manually add paths to Qt5 libs). >> >> Once this is all finished I will submit a large patch for review, for >> now, if anyone was interested, this Qt5 port is available at >> https://github.com/benapetr/tora/tree/qt5x >> >> Let me know if you had any suggestions or questions. > |
From: Petr V. <pe...@ya...> - 2014-11-19 09:22:20
|
hi all, porting qt4->qt5 apps is pretty easy. Well, much easier than qt3->4. qscintilla supports qt5 out of the box I ported some smaller apps already so here is a cmake example for real app: https://github.com/qterminal/qtermwidget/blob/master/cmake/qtermwidget5_use.cmake In the ideal case one source code can supprt qt4 and qt5 together petr On 11/19/2014 09:47 AM, Ivan Brezina wrote: > > > What about the issue with boost iterators? Does it work for you? > I tried to compile Tora using MSVC 2013 and boost 1.55 and it worked > for me. > Could it be problem if the boost ver. 1.57? > > About the patch - part by part. > - qscintilla2, lets sync it with upstream. we use ver 2.8.0 while the > upstream advaced to 2.8.4, > the announce that they support Qt5, so it should work without any changes. > > - trotl, I'll fix it > > - tora sources (QString changes) - ok for me. > > - tora sources (header includes) > I prefixed all the Qt headers with directory to make Eclipse CDT > parser happy. > Now I have to revert it back, because Qt reorganized their headers. Grr > Let's not use #ifdef's when it's not necessary. > > > - CMake > I will have to check it thoroughly yet > > - virtual methods. The method QAbstractItemView::dataChanged has > additional > parameter. All overrides have to handle it. > Maybe we should stick to C++x11 and start using override? > > - toWFlags should be put into utils.h (should not be in multiple headers) > > - model::reset is deprecated also in Qt4 (it's QT3 relict) > the replacement with beginResetModel/endResetModel should not be > placed in #ifdefs. > it ca be simplified. > > - toresultview.cpp > what is purpose of this? > +#if QT_VERSION < 0x050000 > if (column == 0) > wx += top->style()->pixelMetric(QStyle::PM_CheckListButtonSize) + 4 + > top->itemMargin(); > +#endif > > > > Ivan > > PS: thanks for all the work > > On 11/18/2014 05:27 PM, Petr Bena wrote: >> Diffhttps://github.com/benapetr/tora/compare/master...qt5x >> >> On Tue, Nov 18, 2014 at 5:25 PM, Petr Bena<ben...@gm...> wrote: >>> Hi, >>> >>> I had some problems compiling tora using Qt4, especially because I >>> work in Visual Studio 2013 which isn't supported by Qt4x prebuilt >>> binaries that are provided by Qt project and I found it extremely >>> complex and time consuming to compile whole Qt myself in latest VS. So >>> I decided to adapt Tora3 to Qt5 which, even if some may consider it >>> premature and unstable, is much better supported on MS windows (you >>> can easily download all prebuilt libs using their Qt manager). >>> >>> I basically created a new flag QT5_BUILD in CMake which if enabled, >>> switches the configuration to use Qt5 libraries instead of Qt4. This >>> is mostly useful only for MS windows where using Qt4 is not so simple >>> as on linux. The goal is to keep Qt4 backward compatibility so that >>> users can decide which one to use, but as I had to change around 200 >>> cpp files for Qt5 to work (I wrapped a lot of code in #if QT_VERSION >>>> = 0x050000) something might be broken now. I will need to work more >>> on code cleanup so that it works with no glitches and also CMakeLists >>> needs some update, as it now doesn't properly handle linker options (I >>> had to manually add paths to Qt5 libs). >>> >>> Once this is all finished I will submit a large patch for review, for >>> now, if anyone was interested, this Qt5 port is available at >>> https://github.com/benapetr/tora/tree/qt5x >>> >>> Let me know if you had any suggestions or questions. >> > > > > > ------------------------------------------------------------------------------ > Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server > from Actuate! Instantly Supercharge Your Business Reports and Dashboards > with Interactivity, Sharing, Native Excel Exports, App Integration & more > Get technology previously reserved for billion-dollar corporations, FREE > http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk > > > _______________________________________________ > Tora-develop mailing list > Tor...@li... > https://lists.sourceforge.net/lists/listinfo/tora-develop |
From: Petr B. <ben...@gm...> - 2014-11-19 09:31:27
|
Yes, I have a cmake for qt5 as well for one of applications I work on, but it uses both Qt4 and Qt5 this is cmake file I used: https://github.com/huggle/huggle3-qt-lx/blob/master/huggle/CMakeLists.txt#L18 The version I have now in my personal repo isn't fully working, I need to update the subfolder cmake files as well, that is why I didn't send any patch yet, it's still in progress. Regarding "what is purpose of this" it's a temporary workaround I use for code that doesn't compile with Qt5, I need to find a way to do the same with Qt5, I don't even know what that line does, but it surely does compile with 4 only. I suppose that line changes appearance of some widget, which is done in a different way now in Qt5. On Wed, Nov 19, 2014 at 10:04 AM, Petr Vanek <pe...@ya...> wrote: > hi all, > > porting qt4->qt5 apps is pretty easy. Well, much easier than qt3->4. > > qscintilla supports qt5 out of the box > > I ported some smaller apps already so here is a cmake example for real app: > > > https://github.com/qterminal/qtermwidget/blob/master/cmake/qtermwidget5_use.cmake > > In the ideal case one source code can supprt qt4 and qt5 together > > > petr > > > > On 11/19/2014 09:47 AM, Ivan Brezina wrote: > > > > What about the issue with boost iterators? Does it work for you? > I tried to compile Tora using MSVC 2013 and boost 1.55 and it worked for > me. > Could it be problem if the boost ver. 1.57? > > About the patch - part by part. > - qscintilla2, lets sync it with upstream. we use ver 2.8.0 while the > upstream advaced to 2.8.4, > the announce that they support Qt5, so it should work without any changes. > > - trotl, I'll fix it > > - tora sources (QString changes) - ok for me. > > - tora sources (header includes) > I prefixed all the Qt headers with directory to make Eclipse CDT parser > happy. > Now I have to revert it back, because Qt reorganized their headers. Grr > Let's not use #ifdef's when it's not necessary. > > > - CMake > I will have to check it thoroughly yet > > - virtual methods. The method QAbstractItemView::dataChanged has additional > parameter. All overrides have to handle it. > Maybe we should stick to C++x11 and start using override? > > - toWFlags should be put into utils.h (should not be in multiple headers) > > - model::reset is deprecated also in Qt4 (it's QT3 relict) > the replacement with beginResetModel/endResetModel should not be placed in > #ifdefs. > it ca be simplified. > > - toresultview.cpp > what is purpose of this? > +#if QT_VERSION < 0x050000 if (column == 0) wx += > top->style()->pixelMetric(QStyle::PM_CheckListButtonSize) + 4 + > top->itemMargin(); +#endif > > Ivan > > PS: thanks for all the work > > On 11/18/2014 05:27 PM, Petr Bena wrote: > > Diff https://github.com/benapetr/tora/compare/master...qt5x > > On Tue, Nov 18, 2014 at 5:25 PM, Petr Bena <ben...@gm...> <ben...@gm...> wrote: > > Hi, > > I had some problems compiling tora using Qt4, especially because I > work in Visual Studio 2013 which isn't supported by Qt4x prebuilt > binaries that are provided by Qt project and I found it extremely > complex and time consuming to compile whole Qt myself in latest VS. So > I decided to adapt Tora3 to Qt5 which, even if some may consider it > premature and unstable, is much better supported on MS windows (you > can easily download all prebuilt libs using their Qt manager). > > I basically created a new flag QT5_BUILD in CMake which if enabled, > switches the configuration to use Qt5 libraries instead of Qt4. This > is mostly useful only for MS windows where using Qt4 is not so simple > as on linux. The goal is to keep Qt4 backward compatibility so that > users can decide which one to use, but as I had to change around 200 > cpp files for Qt5 to work (I wrapped a lot of code in #if QT_VERSION > > = 0x050000) something might be broken now. I will need to work more > > on code cleanup so that it works with no glitches and also CMakeLists > needs some update, as it now doesn't properly handle linker options (I > had to manually add paths to Qt5 libs). > > Once this is all finished I will submit a large patch for review, for > now, if anyone was interested, this Qt5 port is available athttps://github.com/benapetr/tora/tree/qt5x > > Let me know if you had any suggestions or questions. > > > > > > > ------------------------------------------------------------------------------ > Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server > from Actuate! Instantly Supercharge Your Business Reports and Dashboards > with Interactivity, Sharing, Native Excel Exports, App Integration & more > Get technology previously reserved for billion-dollar corporations, FREEhttp://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk > > > > _______________________________________________ > Tora-develop mailing lis...@li...https://lists.sourceforge.net/lists/listinfo/tora-develop > > > > > ------------------------------------------------------------------------------ > Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server > from Actuate! Instantly Supercharge Your Business Reports and Dashboards > with Interactivity, Sharing, Native Excel Exports, App Integration & more > Get technology previously reserved for billion-dollar corporations, FREE > > http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk > _______________________________________________ > Tora-develop mailing list > Tor...@li... > https://lists.sourceforge.net/lists/listinfo/tora-develop > > |
From: Petr B. <ben...@gm...> - 2014-11-19 09:46:36
|
BTW some of these changes to trotl lib and qscintilla are actually not related to this qt5 patch, it's just fix of some annoying warnings, like unsigned int / int comparisons etc, this probably shouldn't even be part of that patch On Wed, Nov 19, 2014 at 10:31 AM, Petr Bena <ben...@gm...> wrote: > Yes, I have a cmake for qt5 as well for one of applications I work on, but > it uses both Qt4 and Qt5 this is cmake file I used: > https://github.com/huggle/huggle3-qt-lx/blob/master/huggle/CMakeLists.txt#L18 > > The version I have now in my personal repo isn't fully working, I need to > update the subfolder cmake files as well, that is why I didn't send any > patch yet, it's still in progress. > > Regarding "what is purpose of this" it's a temporary workaround I use for > code that doesn't compile with Qt5, I need to find a way to do the same > with Qt5, I don't even know what that line does, but it surely does compile > with 4 only. I suppose that line changes appearance of some widget, which > is done in a different way now in Qt5. > > On Wed, Nov 19, 2014 at 10:04 AM, Petr Vanek <pe...@ya...> wrote: > >> hi all, >> >> porting qt4->qt5 apps is pretty easy. Well, much easier than qt3->4. >> >> qscintilla supports qt5 out of the box >> >> I ported some smaller apps already so here is a cmake example for real >> app: >> >> >> https://github.com/qterminal/qtermwidget/blob/master/cmake/qtermwidget5_use.cmake >> >> In the ideal case one source code can supprt qt4 and qt5 together >> >> >> petr >> >> >> >> On 11/19/2014 09:47 AM, Ivan Brezina wrote: >> >> >> >> What about the issue with boost iterators? Does it work for you? >> I tried to compile Tora using MSVC 2013 and boost 1.55 and it worked for >> me. >> Could it be problem if the boost ver. 1.57? >> >> About the patch - part by part. >> - qscintilla2, lets sync it with upstream. we use ver 2.8.0 while the >> upstream advaced to 2.8.4, >> the announce that they support Qt5, so it should work without any changes. >> >> - trotl, I'll fix it >> >> - tora sources (QString changes) - ok for me. >> >> - tora sources (header includes) >> I prefixed all the Qt headers with directory to make Eclipse CDT parser >> happy. >> Now I have to revert it back, because Qt reorganized their headers. Grr >> Let's not use #ifdef's when it's not necessary. >> >> >> - CMake >> I will have to check it thoroughly yet >> >> - virtual methods. The method QAbstractItemView::dataChanged has >> additional >> parameter. All overrides have to handle it. >> Maybe we should stick to C++x11 and start using override? >> >> - toWFlags should be put into utils.h (should not be in multiple headers) >> >> - model::reset is deprecated also in Qt4 (it's QT3 relict) >> the replacement with beginResetModel/endResetModel should not be placed >> in #ifdefs. >> it ca be simplified. >> >> - toresultview.cpp >> what is purpose of this? >> +#if QT_VERSION < 0x050000 if (column == 0) wx += >> top->style()->pixelMetric(QStyle::PM_CheckListButtonSize) + 4 + >> top->itemMargin(); +#endif >> >> Ivan >> >> PS: thanks for all the work >> >> On 11/18/2014 05:27 PM, Petr Bena wrote: >> >> Diff https://github.com/benapetr/tora/compare/master...qt5x >> >> On Tue, Nov 18, 2014 at 5:25 PM, Petr Bena <ben...@gm...> <ben...@gm...> wrote: >> >> Hi, >> >> I had some problems compiling tora using Qt4, especially because I >> work in Visual Studio 2013 which isn't supported by Qt4x prebuilt >> binaries that are provided by Qt project and I found it extremely >> complex and time consuming to compile whole Qt myself in latest VS. So >> I decided to adapt Tora3 to Qt5 which, even if some may consider it >> premature and unstable, is much better supported on MS windows (you >> can easily download all prebuilt libs using their Qt manager). >> >> I basically created a new flag QT5_BUILD in CMake which if enabled, >> switches the configuration to use Qt5 libraries instead of Qt4. This >> is mostly useful only for MS windows where using Qt4 is not so simple >> as on linux. The goal is to keep Qt4 backward compatibility so that >> users can decide which one to use, but as I had to change around 200 >> cpp files for Qt5 to work (I wrapped a lot of code in #if QT_VERSION >> >> = 0x050000) something might be broken now. I will need to work more >> >> on code cleanup so that it works with no glitches and also CMakeLists >> needs some update, as it now doesn't properly handle linker options (I >> had to manually add paths to Qt5 libs). >> >> Once this is all finished I will submit a large patch for review, for >> now, if anyone was interested, this Qt5 port is available athttps://github.com/benapetr/tora/tree/qt5x >> >> Let me know if you had any suggestions or questions. >> >> >> >> >> >> >> ------------------------------------------------------------------------------ >> Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server >> from Actuate! Instantly Supercharge Your Business Reports and Dashboards >> with Interactivity, Sharing, Native Excel Exports, App Integration & more >> Get technology previously reserved for billion-dollar corporations, FREEhttp://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk >> >> >> >> _______________________________________________ >> Tora-develop mailing lis...@li...https://lists.sourceforge.net/lists/listinfo/tora-develop >> >> >> >> >> ------------------------------------------------------------------------------ >> Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server >> from Actuate! Instantly Supercharge Your Business Reports and Dashboards >> with Interactivity, Sharing, Native Excel Exports, App Integration & more >> Get technology previously reserved for billion-dollar corporations, FREE >> >> http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk >> _______________________________________________ >> Tora-develop mailing list >> Tor...@li... >> https://lists.sourceforge.net/lists/listinfo/tora-develop >> >> > |
From: Petr B. <ben...@gm...> - 2014-11-19 10:58:48
|
Regarding ext libraries I think it would be best if svn migrated to git, there we could use git modules (links to remote repositories) so that these external libraries would be directly linked to their repositories, instead of including their sources ourselves. This way we could easily update to last version of each library. On Wed, Nov 19, 2014 at 10:46 AM, Petr Bena <ben...@gm...> wrote: > BTW some of these changes to trotl lib and qscintilla are actually not > related to this qt5 patch, it's just fix of some annoying warnings, like > unsigned int / int comparisons etc, this probably shouldn't even be part of > that patch > > On Wed, Nov 19, 2014 at 10:31 AM, Petr Bena <ben...@gm...> wrote: > >> Yes, I have a cmake for qt5 as well for one of applications I work on, >> but it uses both Qt4 and Qt5 this is cmake file I used: >> https://github.com/huggle/huggle3-qt-lx/blob/master/huggle/CMakeLists.txt#L18 >> >> The version I have now in my personal repo isn't fully working, I need to >> update the subfolder cmake files as well, that is why I didn't send any >> patch yet, it's still in progress. >> >> Regarding "what is purpose of this" it's a temporary workaround I use for >> code that doesn't compile with Qt5, I need to find a way to do the same >> with Qt5, I don't even know what that line does, but it surely does compile >> with 4 only. I suppose that line changes appearance of some widget, which >> is done in a different way now in Qt5. >> >> On Wed, Nov 19, 2014 at 10:04 AM, Petr Vanek <pe...@ya...> wrote: >> >>> hi all, >>> >>> porting qt4->qt5 apps is pretty easy. Well, much easier than qt3->4. >>> >>> qscintilla supports qt5 out of the box >>> >>> I ported some smaller apps already so here is a cmake example for real >>> app: >>> >>> >>> https://github.com/qterminal/qtermwidget/blob/master/cmake/qtermwidget5_use.cmake >>> >>> In the ideal case one source code can supprt qt4 and qt5 together >>> >>> >>> petr >>> >>> >>> >>> On 11/19/2014 09:47 AM, Ivan Brezina wrote: >>> >>> >>> >>> What about the issue with boost iterators? Does it work for you? >>> I tried to compile Tora using MSVC 2013 and boost 1.55 and it worked for >>> me. >>> Could it be problem if the boost ver. 1.57? >>> >>> About the patch - part by part. >>> - qscintilla2, lets sync it with upstream. we use ver 2.8.0 while the >>> upstream advaced to 2.8.4, >>> the announce that they support Qt5, so it should work without any >>> changes. >>> >>> - trotl, I'll fix it >>> >>> - tora sources (QString changes) - ok for me. >>> >>> - tora sources (header includes) >>> I prefixed all the Qt headers with directory to make Eclipse CDT parser >>> happy. >>> Now I have to revert it back, because Qt reorganized their headers. Grr >>> Let's not use #ifdef's when it's not necessary. >>> >>> >>> - CMake >>> I will have to check it thoroughly yet >>> >>> - virtual methods. The method QAbstractItemView::dataChanged has >>> additional >>> parameter. All overrides have to handle it. >>> Maybe we should stick to C++x11 and start using override? >>> >>> - toWFlags should be put into utils.h (should not be in multiple headers) >>> >>> - model::reset is deprecated also in Qt4 (it's QT3 relict) >>> the replacement with beginResetModel/endResetModel should not be placed >>> in #ifdefs. >>> it ca be simplified. >>> >>> - toresultview.cpp >>> what is purpose of this? >>> +#if QT_VERSION < 0x050000 if (column == 0) wx += >>> top->style()->pixelMetric(QStyle::PM_CheckListButtonSize) + 4 + >>> top->itemMargin(); +#endif >>> >>> Ivan >>> >>> PS: thanks for all the work >>> >>> On 11/18/2014 05:27 PM, Petr Bena wrote: >>> >>> Diff https://github.com/benapetr/tora/compare/master...qt5x >>> >>> On Tue, Nov 18, 2014 at 5:25 PM, Petr Bena <ben...@gm...> <ben...@gm...> wrote: >>> >>> Hi, >>> >>> I had some problems compiling tora using Qt4, especially because I >>> work in Visual Studio 2013 which isn't supported by Qt4x prebuilt >>> binaries that are provided by Qt project and I found it extremely >>> complex and time consuming to compile whole Qt myself in latest VS. So >>> I decided to adapt Tora3 to Qt5 which, even if some may consider it >>> premature and unstable, is much better supported on MS windows (you >>> can easily download all prebuilt libs using their Qt manager). >>> >>> I basically created a new flag QT5_BUILD in CMake which if enabled, >>> switches the configuration to use Qt5 libraries instead of Qt4. This >>> is mostly useful only for MS windows where using Qt4 is not so simple >>> as on linux. The goal is to keep Qt4 backward compatibility so that >>> users can decide which one to use, but as I had to change around 200 >>> cpp files for Qt5 to work (I wrapped a lot of code in #if QT_VERSION >>> >>> = 0x050000) something might be broken now. I will need to work more >>> >>> on code cleanup so that it works with no glitches and also CMakeLists >>> needs some update, as it now doesn't properly handle linker options (I >>> had to manually add paths to Qt5 libs). >>> >>> Once this is all finished I will submit a large patch for review, for >>> now, if anyone was interested, this Qt5 port is available athttps://github.com/benapetr/tora/tree/qt5x >>> >>> Let me know if you had any suggestions or questions. >>> >>> >>> >>> >>> >>> >>> ------------------------------------------------------------------------------ >>> Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server >>> from Actuate! Instantly Supercharge Your Business Reports and Dashboards >>> with Interactivity, Sharing, Native Excel Exports, App Integration & more >>> Get technology previously reserved for billion-dollar corporations, FREEhttp://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk >>> >>> >>> >>> _______________________________________________ >>> Tora-develop mailing lis...@li...https://lists.sourceforge.net/lists/listinfo/tora-develop >>> >>> >>> >>> >>> ------------------------------------------------------------------------------ >>> Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server >>> from Actuate! Instantly Supercharge Your Business Reports and Dashboards >>> with Interactivity, Sharing, Native Excel Exports, App Integration & more >>> Get technology previously reserved for billion-dollar corporations, FREE >>> >>> http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk >>> _______________________________________________ >>> Tora-develop mailing list >>> Tor...@li... >>> https://lists.sourceforge.net/lists/listinfo/tora-develop >>> >>> >> > |
From: Ivan B. <iv...@cv...> - 2014-11-22 08:30:37
|
Regarding the headers. I would like to avoid fixing something in qscintilla. It's piece of code we do not control. "their" way of compiling it is to tweak cmake, not using #defines to diferentiate qt4 and qt5. See: ivan@lenochod:~/devel/tora/extlibs/qscintilla2$ svn diff Index: CMakeLists.txt =================================================================== --- CMakeLists.txt (revision 5149) +++ CMakeLists.txt (working copy) @@ -15,7 +15,12 @@ FILE(GLOB TORA_QSCINTILLA2_LIB_SOURCES "lexers/*.cpp" "lexlib/*.cpp" "Qt4Qt5/*.cpp" "src/*.cpp") +if(QT5_BUILD) *+INCLUDE_DIRECTORIES(${Qt5PrintSupport_INCLUDE_DIRS})* +QT5_WRAP_CPP(TORA_QSCINTILLA2_MOC_SOURCES ${TORA_QSCINTILLA2_MOC_CLASSES}) +else() QT4_WRAP_CPP(TORA_QSCINTILLA2_MOC_SOURCES ${TORA_QSCINTILLA2_MOC_CLASSES}) +endif() SET(TORA_QSCINTILLA2_LIB "tora_qscintilla2_lib") ADD_LIBRARY(${TORA_QSCINTILLA2_LIB} STATIC ${TORA_QSCINTILLA2_LIB_SOURCES} ${TORA_QSCINTILLA2_MOC_SOURCES}) Plus also we should add: find_package(Qt5PrintSupport REQUIRED) set(QT_INCLUDES +*${Qt5PrintSupport_INCLUDE_DIRS}) *into top level CMakeLists.txt. Also please note that using backslash in include paths is not portable. So: #include <QtPrintSupport\qprinter.h> should be #include <QtPrintSupport/qprinter.h> But we should really use the same sources where possible. As I understand it there is only problem with QtGui vs. QtWidgets path. The rest might remain unchanged. Ivan PS: what is the problem with this? tora/extlibs/qscintilla2/Qt4Qt5/qscilexerpython.cpp: int rc = true, num; Ok, it's quite nonsense, but why MSVC won't compile it? Ivan On 11/19/2014 10:31 AM, Petr Bena wrote: > Yes, I have a cmake for qt5 as well for one of applications I work on, > but it uses both Qt4 and Qt5 this is cmake file I used: > https://github.com/huggle/huggle3-qt-lx/blob/master/huggle/CMakeLists.txt#L18 > > The version I have now in my personal repo isn't fully working, I need > to update the subfolder cmake files as well, that is why I didn't send > any patch yet, it's still in progress. > > Regarding "what is purpose of this" it's a temporary workaround I use > for code that doesn't compile with Qt5, I need to find a way to do the > same with Qt5, I don't even know what that line does, but it surely > does compile with 4 only. I suppose that line changes appearance of > some widget, which is done in a different way now in Qt5. > > On Wed, Nov 19, 2014 at 10:04 AM, Petr Vanek <pe...@ya... > <mailto:pe...@ya...>> wrote: > > hi all, > > porting qt4->qt5 apps is pretty easy. Well, much easier than qt3->4. > > qscintilla supports qt5 out of the box > > I ported some smaller apps already so here is a cmake example for > real app: > > https://github.com/qterminal/qtermwidget/blob/master/cmake/qtermwidget5_use.cmake > > In the ideal case one source code can supprt qt4 and qt5 together > > > petr > > > > On 11/19/2014 09:47 AM, Ivan Brezina wrote: >> >> >> What about the issue with boost iterators? Does it work for you? >> I tried to compile Tora using MSVC 2013 and boost 1.55 and it >> worked for me. >> Could it be problem if the boost ver. 1.57? >> >> About the patch - part by part. >> - qscintilla2, lets sync it with upstream. we use ver 2.8.0 while >> the upstream advaced to 2.8.4, >> the announce that they support Qt5, so it should work without any >> changes. >> >> - trotl, I'll fix it >> >> - tora sources (QString changes) - ok for me. >> >> - tora sources (header includes) >> I prefixed all the Qt headers with directory to make Eclipse CDT >> parser happy. >> Now I have to revert it back, because Qt reorganized their >> headers. Grr >> Let's not use #ifdef's when it's not necessary. >> >> >> - CMake >> I will have to check it thoroughly yet >> >> - virtual methods. The method QAbstractItemView::dataChanged has >> additional >> parameter. All overrides have to handle it. >> Maybe we should stick to C++x11 and start using override? >> >> - toWFlags should be put into utils.h (should not be in multiple >> headers) >> >> - model::reset is deprecated also in Qt4 (it's QT3 relict) >> the replacement with beginResetModel/endResetModel should not be >> placed in #ifdefs. >> it ca be simplified. >> >> - toresultview.cpp >> what is purpose of this? >> +#if QT_VERSION < 0x050000 >> if (column == 0) >> wx += top->style()->pixelMetric(QStyle::PM_CheckListButtonSize) + >> 4 + top->itemMargin(); >> +#endif >> >> >> >> Ivan >> >> PS: thanks for all the work >> >> On 11/18/2014 05:27 PM, Petr Bena wrote: >>> Diffhttps://github.com/benapetr/tora/compare/master...qt5x >>> >>> On Tue, Nov 18, 2014 at 5:25 PM, Petr Bena<ben...@gm...> <mailto:ben...@gm...> wrote: >>>> Hi, >>>> >>>> I had some problems compiling tora using Qt4, especially because I >>>> work in Visual Studio 2013 which isn't supported by Qt4x prebuilt >>>> binaries that are provided by Qt project and I found it extremely >>>> complex and time consuming to compile whole Qt myself in latest VS. So >>>> I decided to adapt Tora3 to Qt5 which, even if some may consider it >>>> premature and unstable, is much better supported on MS windows (you >>>> can easily download all prebuilt libs using their Qt manager). >>>> >>>> I basically created a new flag QT5_BUILD in CMake which if enabled, >>>> switches the configuration to use Qt5 libraries instead of Qt4. This >>>> is mostly useful only for MS windows where using Qt4 is not so simple >>>> as on linux. The goal is to keep Qt4 backward compatibility so that >>>> users can decide which one to use, but as I had to change around 200 >>>> cpp files for Qt5 to work (I wrapped a lot of code in #if QT_VERSION >>>>> = 0x050000) something might be broken now. I will need to work more >>>> on code cleanup so that it works with no glitches and also CMakeLists >>>> needs some update, as it now doesn't properly handle linker options (I >>>> had to manually add paths to Qt5 libs). >>>> >>>> Once this is all finished I will submit a large patch for review, for >>>> now, if anyone was interested, this Qt5 port is available at >>>> https://github.com/benapetr/tora/tree/qt5x >>>> >>>> Let me know if you had any suggestions or questions. >>> >> >> >> >> >> ------------------------------------------------------------------------------ >> Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server >> from Actuate! Instantly Supercharge Your Business Reports and Dashboards >> with Interactivity, Sharing, Native Excel Exports, App Integration & more >> Get technology previously reserved for billion-dollar corporations, FREE >> http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk >> >> >> _______________________________________________ >> Tora-develop mailing list >> Tor...@li... <mailto:Tor...@li...> >> https://lists.sourceforge.net/lists/listinfo/tora-develop > > > ------------------------------------------------------------------------------ > Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server > from Actuate! Instantly Supercharge Your Business Reports and > Dashboards > with Interactivity, Sharing, Native Excel Exports, App Integration > & more > Get technology previously reserved for billion-dollar > corporations, FREE > http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk > _______________________________________________ > Tora-develop mailing list > Tor...@li... > <mailto:Tor...@li...> > https://lists.sourceforge.net/lists/listinfo/tora-develop > > > > > ------------------------------------------------------------------------------ > Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server > from Actuate! Instantly Supercharge Your Business Reports and Dashboards > with Interactivity, Sharing, Native Excel Exports, App Integration & more > Get technology previously reserved for billion-dollar corporations, FREE > http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk > > > _______________________________________________ > Tora-develop mailing list > Tor...@li... > https://lists.sourceforge.net/lists/listinfo/tora-develop |
From: Petr B. <ben...@gm...> - 2014-11-23 15:55:09
|
Yes, I am not going to make that a part of my patch, I changed it just so that I can compile it now. If newer version of that library can compile with no changes, that's ok, we should link to external repository which contains their code, rather than host the copy in our own repository, so that we are synced with their trunk IMHO. On Sat, Nov 22, 2014 at 9:30 AM, Ivan Brezina <iv...@cv...> wrote: > Regarding the headers. I would like to avoid fixing something in > qscintilla. It's piece of code we do not control. > "their" way of compiling it is to tweak cmake, not using #defines to > diferentiate qt4 and qt5. > > See: > ivan@lenochod:~/devel/tora/extlibs/qscintilla2$ svn diff > Index: CMakeLists.txt > =================================================================== > --- CMakeLists.txt (revision 5149) > +++ CMakeLists.txt (working copy) > @@ -15,7 +15,12 @@ > > FILE(GLOB TORA_QSCINTILLA2_LIB_SOURCES "lexers/*.cpp" "lexlib/*.cpp" > "Qt4Qt5/*.cpp" "src/*.cpp") > > +if(QT5_BUILD) > *+INCLUDE_DIRECTORIES(${Qt5PrintSupport_INCLUDE_DIRS})* > +QT5_WRAP_CPP(TORA_QSCINTILLA2_MOC_SOURCES ${TORA_QSCINTILLA2_MOC_CLASSES}) > +else() > QT4_WRAP_CPP(TORA_QSCINTILLA2_MOC_SOURCES ${TORA_QSCINTILLA2_MOC_CLASSES}) > +endif() > > SET(TORA_QSCINTILLA2_LIB "tora_qscintilla2_lib") > ADD_LIBRARY(${TORA_QSCINTILLA2_LIB} STATIC > ${TORA_QSCINTILLA2_LIB_SOURCES} ${TORA_QSCINTILLA2_MOC_SOURCES}) > > Plus also we should add: > find_package(Qt5PrintSupport REQUIRED) > set(QT_INCLUDES + > *${Qt5PrintSupport_INCLUDE_DIRS}) *into top level CMakeLists.txt. > > Also please note that using backslash in include paths is not portable. > So: > > #include <QtPrintSupport\qprinter.h> > should be > #include <QtPrintSupport/qprinter.h> > > But we should really use the same sources where possible. > As I understand it there is only problem with QtGui vs. QtWidgets path. > The rest might remain unchanged. > > Ivan > PS: what is the problem with this? > tora/extlibs/qscintilla2/Qt4Qt5/qscilexerpython.cpp: > int rc = true, num; > > Ok, it's quite nonsense, but why MSVC won't compile it? > > Ivan > > On 11/19/2014 10:31 AM, Petr Bena wrote: > > Yes, I have a cmake for qt5 as well for one of applications I work on, > but it uses both Qt4 and Qt5 this is cmake file I used: > https://github.com/huggle/huggle3-qt-lx/blob/master/huggle/CMakeLists.txt#L18 > > The version I have now in my personal repo isn't fully working, I need to > update the subfolder cmake files as well, that is why I didn't send any > patch yet, it's still in progress. > > Regarding "what is purpose of this" it's a temporary workaround I use for > code that doesn't compile with Qt5, I need to find a way to do the same > with Qt5, I don't even know what that line does, but it surely does compile > with 4 only. I suppose that line changes appearance of some widget, which > is done in a different way now in Qt5. > > On Wed, Nov 19, 2014 at 10:04 AM, Petr Vanek <pe...@ya...> wrote: > >> hi all, >> >> porting qt4->qt5 apps is pretty easy. Well, much easier than qt3->4. >> >> qscintilla supports qt5 out of the box >> >> I ported some smaller apps already so here is a cmake example for real >> app: >> >> >> https://github.com/qterminal/qtermwidget/blob/master/cmake/qtermwidget5_use.cmake >> >> In the ideal case one source code can supprt qt4 and qt5 together >> >> >> petr >> >> >> >> On 11/19/2014 09:47 AM, Ivan Brezina wrote: >> >> >> >> What about the issue with boost iterators? Does it work for you? >> I tried to compile Tora using MSVC 2013 and boost 1.55 and it worked for >> me. >> Could it be problem if the boost ver. 1.57? >> >> About the patch - part by part. >> - qscintilla2, lets sync it with upstream. we use ver 2.8.0 while the >> upstream advaced to 2.8.4, >> the announce that they support Qt5, so it should work without any changes. >> >> - trotl, I'll fix it >> >> - tora sources (QString changes) - ok for me. >> >> - tora sources (header includes) >> I prefixed all the Qt headers with directory to make Eclipse CDT parser >> happy. >> Now I have to revert it back, because Qt reorganized their headers. Grr >> Let's not use #ifdef's when it's not necessary. >> >> >> - CMake >> I will have to check it thoroughly yet >> >> - virtual methods. The method QAbstractItemView::dataChanged has >> additional >> parameter. All overrides have to handle it. >> Maybe we should stick to C++x11 and start using override? >> >> - toWFlags should be put into utils.h (should not be in multiple headers) >> >> - model::reset is deprecated also in Qt4 (it's QT3 relict) >> the replacement with beginResetModel/endResetModel should not be placed >> in #ifdefs. >> it ca be simplified. >> >> - toresultview.cpp >> what is purpose of this? >> +#if QT_VERSION < 0x050000 if (column == 0) wx += >> top->style()->pixelMetric(QStyle::PM_CheckListButtonSize) + 4 + >> top->itemMargin(); +#endif >> >> Ivan >> >> PS: thanks for all the work >> >> On 11/18/2014 05:27 PM, Petr Bena wrote: >> >> Diff https://github.com/benapetr/tora/compare/master...qt5x >> >> On Tue, Nov 18, 2014 at 5:25 PM, Petr Bena <ben...@gm...> <ben...@gm...> wrote: >> >> Hi, >> >> I had some problems compiling tora using Qt4, especially because I >> work in Visual Studio 2013 which isn't supported by Qt4x prebuilt >> binaries that are provided by Qt project and I found it extremely >> complex and time consuming to compile whole Qt myself in latest VS. So >> I decided to adapt Tora3 to Qt5 which, even if some may consider it >> premature and unstable, is much better supported on MS windows (you >> can easily download all prebuilt libs using their Qt manager). >> >> I basically created a new flag QT5_BUILD in CMake which if enabled, >> switches the configuration to use Qt5 libraries instead of Qt4. This >> is mostly useful only for MS windows where using Qt4 is not so simple >> as on linux. The goal is to keep Qt4 backward compatibility so that >> users can decide which one to use, but as I had to change around 200 >> cpp files for Qt5 to work (I wrapped a lot of code in #if QT_VERSION >> >> = 0x050000) something might be broken now. I will need to work more >> >> on code cleanup so that it works with no glitches and also CMakeLists >> needs some update, as it now doesn't properly handle linker options (I >> had to manually add paths to Qt5 libs). >> >> Once this is all finished I will submit a large patch for review, for >> now, if anyone was interested, this Qt5 port is available athttps://github.com/benapetr/tora/tree/qt5x >> >> Let me know if you had any suggestions or questions. >> >> >> >> >> >> >> ------------------------------------------------------------------------------ >> Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server >> from Actuate! Instantly Supercharge Your Business Reports and Dashboards >> with Interactivity, Sharing, Native Excel Exports, App Integration & more >> Get technology previously reserved for billion-dollar corporations, FREEhttp://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk >> >> >> >> _______________________________________________ >> Tora-develop mailing lis...@li...https://lists.sourceforge.net/lists/listinfo/tora-develop >> >> >> >> >> ------------------------------------------------------------------------------ >> Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server >> from Actuate! Instantly Supercharge Your Business Reports and Dashboards >> with Interactivity, Sharing, Native Excel Exports, App Integration & more >> Get technology previously reserved for billion-dollar corporations, FREE >> >> http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk >> _______________________________________________ >> Tora-develop mailing list >> Tor...@li... >> https://lists.sourceforge.net/lists/listinfo/tora-develop >> >> > > > ------------------------------------------------------------------------------ > Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server > from Actuate! Instantly Supercharge Your Business Reports and Dashboards > with Interactivity, Sharing, Native Excel Exports, App Integration & more > Get technology previously reserved for billion-dollar corporations, FREEhttp://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk > > > > _______________________________________________ > Tora-develop mailing lis...@li...https://lists.sourceforge.net/lists/listinfo/tora-develop > > > > > ------------------------------------------------------------------------------ > Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server > from Actuate! Instantly Supercharge Your Business Reports and Dashboards > with Interactivity, Sharing, Native Excel Exports, App Integration & more > Get technology previously reserved for billion-dollar corporations, FREE > > http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk > _______________________________________________ > Tora-develop mailing list > Tor...@li... > https://lists.sourceforge.net/lists/listinfo/tora-develop > > |
From: Ivan B. <iv...@cv...> - 2014-11-26 19:07:37
|
Hi all I've applied most of the Peter's changes - manually. Thank a lot for your help Peter!!! I just wanted to keep source code formating where possible and also wanted to have header's #include to be version independent without any #ifdefs. Now it should be possible to compile Tora with both qt versions and also it should work on Linux and MSVC. Unfortunately I do not have an access to any Mac box :( I also uploaded latest experimental build (with qt5 libs) onto SF. PS: was not able to reproduce the issue with boost iterators even with MSVC 2013 (when using boost 1.55). It has to be somehow related to newest boost version 1.57. Ivan On 11/19/2014 10:31 AM, Petr Bena wrote: > Yes, I have a cmake for qt5 as well for one of applications I work on, > but it uses both Qt4 and Qt5 this is cmake file I used: > https://github.com/huggle/huggle3-qt-lx/blob/master/huggle/CMakeLists.txt#L18 > > The version I have now in my personal repo isn't fully working, I need > to update the subfolder cmake files as well, that is why I didn't send > any patch yet, it's still in progress. > > Regarding "what is purpose of this" it's a temporary workaround I use > for code that doesn't compile with Qt5, I need to find a way to do the > same with Qt5, I don't even know what that line does, but it surely > does compile with 4 only. I suppose that line changes appearance of > some widget, which is done in a different way now in Qt5. > > On Wed, Nov 19, 2014 at 10:04 AM, Petr Vanek <pe...@ya... > <mailto:pe...@ya...>> wrote: > > hi all, > > porting qt4->qt5 apps is pretty easy. Well, much easier than qt3->4. > > qscintilla supports qt5 out of the box > > I ported some smaller apps already so here is a cmake example for > real app: > > https://github.com/qterminal/qtermwidget/blob/master/cmake/qtermwidget5_use.cmake > > In the ideal case one source code can supprt qt4 and qt5 together > > > petr > > > > On 11/19/2014 09:47 AM, Ivan Brezina wrote: >> >> >> What about the issue with boost iterators? Does it work for you? >> I tried to compile Tora using MSVC 2013 and boost 1.55 and it >> worked for me. >> Could it be problem if the boost ver. 1.57? >> >> About the patch - part by part. >> - qscintilla2, lets sync it with upstream. we use ver 2.8.0 while >> the upstream advaced to 2.8.4, >> the announce that they support Qt5, so it should work without any >> changes. >> >> - trotl, I'll fix it >> >> - tora sources (QString changes) - ok for me. >> >> - tora sources (header includes) >> I prefixed all the Qt headers with directory to make Eclipse CDT >> parser happy. >> Now I have to revert it back, because Qt reorganized their >> headers. Grr >> Let's not use #ifdef's when it's not necessary. >> >> >> - CMake >> I will have to check it thoroughly yet >> >> - virtual methods. The method QAbstractItemView::dataChanged has >> additional >> parameter. All overrides have to handle it. >> Maybe we should stick to C++x11 and start using override? >> >> - toWFlags should be put into utils.h (should not be in multiple >> headers) >> >> - model::reset is deprecated also in Qt4 (it's QT3 relict) >> the replacement with beginResetModel/endResetModel should not be >> placed in #ifdefs. >> it ca be simplified. >> >> - toresultview.cpp >> what is purpose of this? >> +#if QT_VERSION < 0x050000 >> if (column == 0) >> wx += top->style()->pixelMetric(QStyle::PM_CheckListButtonSize) + >> 4 + top->itemMargin(); >> +#endif >> >> >> >> Ivan >> >> PS: thanks for all the work >> >> On 11/18/2014 05:27 PM, Petr Bena wrote: >>> Diffhttps://github.com/benapetr/tora/compare/master...qt5x >>> >>> On Tue, Nov 18, 2014 at 5:25 PM, Petr Bena<ben...@gm...> <mailto:ben...@gm...> wrote: >>>> Hi, >>>> >>>> I had some problems compiling tora using Qt4, especially because I >>>> work in Visual Studio 2013 which isn't supported by Qt4x prebuilt >>>> binaries that are provided by Qt project and I found it extremely >>>> complex and time consuming to compile whole Qt myself in latest VS. So >>>> I decided to adapt Tora3 to Qt5 which, even if some may consider it >>>> premature and unstable, is much better supported on MS windows (you >>>> can easily download all prebuilt libs using their Qt manager). >>>> >>>> I basically created a new flag QT5_BUILD in CMake which if enabled, >>>> switches the configuration to use Qt5 libraries instead of Qt4. This >>>> is mostly useful only for MS windows where using Qt4 is not so simple >>>> as on linux. The goal is to keep Qt4 backward compatibility so that >>>> users can decide which one to use, but as I had to change around 200 >>>> cpp files for Qt5 to work (I wrapped a lot of code in #if QT_VERSION >>>>> = 0x050000) something might be broken now. I will need to work more >>>> on code cleanup so that it works with no glitches and also CMakeLists >>>> needs some update, as it now doesn't properly handle linker options (I >>>> had to manually add paths to Qt5 libs). >>>> >>>> Once this is all finished I will submit a large patch for review, for >>>> now, if anyone was interested, this Qt5 port is available at >>>> https://github.com/benapetr/tora/tree/qt5x >>>> >>>> Let me know if you had any suggestions or questions. >>> >> >> >> >> >> ------------------------------------------------------------------------------ >> Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server >> from Actuate! Instantly Supercharge Your Business Reports and Dashboards >> with Interactivity, Sharing, Native Excel Exports, App Integration & more >> Get technology previously reserved for billion-dollar corporations, FREE >> http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk >> >> >> _______________________________________________ >> Tora-develop mailing list >> Tor...@li... <mailto:Tor...@li...> >> https://lists.sourceforge.net/lists/listinfo/tora-develop > > > ------------------------------------------------------------------------------ > Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server > from Actuate! Instantly Supercharge Your Business Reports and > Dashboards > with Interactivity, Sharing, Native Excel Exports, App Integration > & more > Get technology previously reserved for billion-dollar > corporations, FREE > http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk > _______________________________________________ > Tora-develop mailing list > Tor...@li... > <mailto:Tor...@li...> > https://lists.sourceforge.net/lists/listinfo/tora-develop > > > > > ------------------------------------------------------------------------------ > Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server > from Actuate! Instantly Supercharge Your Business Reports and Dashboards > with Interactivity, Sharing, Native Excel Exports, App Integration & more > Get technology previously reserved for billion-dollar corporations, FREE > http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk > > > _______________________________________________ > Tora-develop mailing list > Tor...@li... > https://lists.sourceforge.net/lists/listinfo/tora-develop |
From: Massimo F. <ma...@gm...> - 2014-11-26 19:40:33
|
Thanks a lot Peter and Ivan. I have VS2013 and I will try to compile against qt5. Massimo Il 26/nov/2014 20:07 "Ivan Brezina" <iv...@cv...> ha scritto: > Hi all > I've applied most of the Peter's changes - manually. Thank a lot for your > help Peter!!! > I just wanted to keep source code formating where possible and also wanted > to have > header's #include to be version independent without any #ifdefs. > > Now it should be possible to compile Tora with both qt versions and also > it should work on Linux and MSVC. > Unfortunately I do not have an access to any Mac box :( > > I also uploaded latest experimental build (with qt5 libs) onto SF. > > PS: was not able to reproduce the issue with boost iterators even with > MSVC 2013 (when using boost 1.55). > It has to be somehow related to newest boost version 1.57. > > Ivan > > On 11/19/2014 10:31 AM, Petr Bena wrote: > > Yes, I have a cmake for qt5 as well for one of applications I work on, > but it uses both Qt4 and Qt5 this is cmake file I used: > https://github.com/huggle/huggle3-qt-lx/blob/master/huggle/CMakeLists.txt#L18 > > The version I have now in my personal repo isn't fully working, I need to > update the subfolder cmake files as well, that is why I didn't send any > patch yet, it's still in progress. > > Regarding "what is purpose of this" it's a temporary workaround I use for > code that doesn't compile with Qt5, I need to find a way to do the same > with Qt5, I don't even know what that line does, but it surely does compile > with 4 only. I suppose that line changes appearance of some widget, which > is done in a different way now in Qt5. > > On Wed, Nov 19, 2014 at 10:04 AM, Petr Vanek <pe...@ya...> wrote: > >> hi all, >> >> porting qt4->qt5 apps is pretty easy. Well, much easier than qt3->4. >> >> qscintilla supports qt5 out of the box >> >> I ported some smaller apps already so here is a cmake example for real >> app: >> >> >> https://github.com/qterminal/qtermwidget/blob/master/cmake/qtermwidget5_use.cmake >> >> In the ideal case one source code can supprt qt4 and qt5 together >> >> >> petr >> >> >> >> On 11/19/2014 09:47 AM, Ivan Brezina wrote: >> >> >> >> What about the issue with boost iterators? Does it work for you? >> I tried to compile Tora using MSVC 2013 and boost 1.55 and it worked for >> me. >> Could it be problem if the boost ver. 1.57? >> >> About the patch - part by part. >> - qscintilla2, lets sync it with upstream. we use ver 2.8.0 while the >> upstream advaced to 2.8.4, >> the announce that they support Qt5, so it should work without any changes. >> >> - trotl, I'll fix it >> >> - tora sources (QString changes) - ok for me. >> >> - tora sources (header includes) >> I prefixed all the Qt headers with directory to make Eclipse CDT parser >> happy. >> Now I have to revert it back, because Qt reorganized their headers. Grr >> Let's not use #ifdef's when it's not necessary. >> >> >> - CMake >> I will have to check it thoroughly yet >> >> - virtual methods. The method QAbstractItemView::dataChanged has >> additional >> parameter. All overrides have to handle it. >> Maybe we should stick to C++x11 and start using override? >> >> - toWFlags should be put into utils.h (should not be in multiple headers) >> >> - model::reset is deprecated also in Qt4 (it's QT3 relict) >> the replacement with beginResetModel/endResetModel should not be placed >> in #ifdefs. >> it ca be simplified. >> >> - toresultview.cpp >> what is purpose of this? >> +#if QT_VERSION < 0x050000 if (column == 0) wx += >> top->style()->pixelMetric(QStyle::PM_CheckListButtonSize) + 4 + >> top->itemMargin(); +#endif >> >> Ivan >> >> PS: thanks for all the work >> >> On 11/18/2014 05:27 PM, Petr Bena wrote: >> >> Diff https://github.com/benapetr/tora/compare/master...qt5x >> >> On Tue, Nov 18, 2014 at 5:25 PM, Petr Bena <ben...@gm...> <ben...@gm...> wrote: >> >> Hi, >> >> I had some problems compiling tora using Qt4, especially because I >> work in Visual Studio 2013 which isn't supported by Qt4x prebuilt >> binaries that are provided by Qt project and I found it extremely >> complex and time consuming to compile whole Qt myself in latest VS. So >> I decided to adapt Tora3 to Qt5 which, even if some may consider it >> premature and unstable, is much better supported on MS windows (you >> can easily download all prebuilt libs using their Qt manager). >> >> I basically created a new flag QT5_BUILD in CMake which if enabled, >> switches the configuration to use Qt5 libraries instead of Qt4. This >> is mostly useful only for MS windows where using Qt4 is not so simple >> as on linux. The goal is to keep Qt4 backward compatibility so that >> users can decide which one to use, but as I had to change around 200 >> cpp files for Qt5 to work (I wrapped a lot of code in #if QT_VERSION >> >> = 0x050000) something might be broken now. I will need to work more >> >> on code cleanup so that it works with no glitches and also CMakeLists >> needs some update, as it now doesn't properly handle linker options (I >> had to manually add paths to Qt5 libs). >> >> Once this is all finished I will submit a large patch for review, for >> now, if anyone was interested, this Qt5 port is available athttps://github.com/benapetr/tora/tree/qt5x >> >> Let me know if you had any suggestions or questions. >> >> >> >> >> >> >> ------------------------------------------------------------------------------ >> Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server >> from Actuate! Instantly Supercharge Your Business Reports and Dashboards >> with Interactivity, Sharing, Native Excel Exports, App Integration & more >> Get technology previously reserved for billion-dollar corporations, FREEhttp://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk >> >> >> >> _______________________________________________ >> Tora-develop mailing lis...@li...https://lists.sourceforge.net/lists/listinfo/tora-develop >> >> >> >> >> ------------------------------------------------------------------------------ >> Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server >> from Actuate! Instantly Supercharge Your Business Reports and Dashboards >> with Interactivity, Sharing, Native Excel Exports, App Integration & more >> Get technology previously reserved for billion-dollar corporations, FREE >> >> http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk >> _______________________________________________ >> Tora-develop mailing list >> Tor...@li... >> https://lists.sourceforge.net/lists/listinfo/tora-develop >> >> > > > ------------------------------------------------------------------------------ > Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server > from Actuate! Instantly Supercharge Your Business Reports and Dashboards > with Interactivity, Sharing, Native Excel Exports, App Integration & more > Get technology previously reserved for billion-dollar corporations, FREEhttp://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk > > > > _______________________________________________ > Tora-develop mailing lis...@li...https://lists.sourceforge.net/lists/listinfo/tora-develop > > > > > ------------------------------------------------------------------------------ > Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server > from Actuate! Instantly Supercharge Your Business Reports and Dashboards > with Interactivity, Sharing, Native Excel Exports, App Integration & more > Get technology previously reserved for billion-dollar corporations, FREE > > http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk > _______________________________________________ > Tora-develop mailing list > Tor...@li... > https://lists.sourceforge.net/lists/listinfo/tora-develop > > |