2009-12-11 19:41 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)

* contrib/hbqt/Makefile
  * contrib/hbqt/detect.mk
  + contrib/hbqt/moc.mk
  * contrib/hbqt/hbqts/Makefile
  * contrib/hbqt/qtgui/qtguis/Makefile
  * contrib/hbqt/qtgui/Makefile
  * contrib/hbqt/qtcore/qtcores/Makefile
  * contrib/hbqt/qtcore/Makefile
  * contrib/hbqt/qtnetwork/qtnetworks/Makefile
  * contrib/hbqt/qtnetwork/Makefile
    + Moved 'moc' build logic to separate file.
    + Added support for MOC_HEADERS in all sub-libs.
      This allows to avoid hacks to place every custom 
      created component in central lib. (It probably allows 
      to avoid central lib altogether.)
    ! Fixed broken static build after recent changes.
      (I've readded central filelist.mk to avoid 
      redundancy, but the file isn't an automatically 
      generated one anymore)
    % Optimized build to not provide all subsystem header 
      dirs for each QT sub-libs, only those which are needed.
      Now QtCore header dir is passed to all components, 
      but QtGui and QtNetwork is passed only to these 
      subcomponents.
      Central hbqt lib gets all dirs, but hopefully this 
      will be cleaned eventually.
    % Cleaned to not use /Qt include dir. It's apparently 
      not needed.

  * contrib/hbqt/qth/QObject.qth
  * contrib/hbqt/qtcore/QObject.cpp
    ! Core component was referring to a GUI one, and hbqt_par_QWidget() 
      was used to retieve a QObject inside QObject wrappers.
      Please fix me if it was intentional, but it didn't look right and 
      came out after cleaning header dir usage.

  * contrib/hbide/hbide.hbp
    + Added MSVC link switched sent by Andi to make QT 4.6.0 
      libs to default Harbour build.
This commit is contained in:
Viktor Szakats
2009-12-11 18:43:42 +00:00
parent fbafd6c259
commit 3ff24fff7e
14 changed files with 82 additions and 37 deletions

View File

@@ -17,6 +17,47 @@
past entries belonging to author(s): Viktor Szakats.
*/
2009-12-11 19:41 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbqt/Makefile
* contrib/hbqt/detect.mk
+ contrib/hbqt/moc.mk
* contrib/hbqt/hbqts/Makefile
* contrib/hbqt/qtgui/qtguis/Makefile
* contrib/hbqt/qtgui/Makefile
* contrib/hbqt/qtcore/qtcores/Makefile
* contrib/hbqt/qtcore/Makefile
* contrib/hbqt/qtnetwork/qtnetworks/Makefile
* contrib/hbqt/qtnetwork/Makefile
+ Moved 'moc' build logic to separate file.
+ Added support for MOC_HEADERS in all sub-libs.
This allows to avoid hacks to place every custom
created component in central lib. (It probably allows
to avoid central lib altogether.)
! Fixed broken static build after recent changes.
(I've readded central filelist.mk to avoid
redundancy, but the file isn't an automatically
generated one anymore)
% Optimized build to not provide all subsystem header
dirs for each QT sub-libs, only those which are needed.
Now QtCore header dir is passed to all components,
but QtGui and QtNetwork is passed only to these
subcomponents.
Central hbqt lib gets all dirs, but hopefully this
will be cleaned eventually.
% Cleaned to not use /Qt include dir. It's apparently
not needed.
* contrib/hbqt/qth/QObject.qth
* contrib/hbqt/qtcore/QObject.cpp
! Core component was referring to a GUI one, and hbqt_par_QWidget()
was used to retieve a QObject inside QObject wrappers.
Please fix me if it was intentional, but it didn't look right and
came out after cleaning header dir usage.
* contrib/hbide/hbide.hbp
+ Added MSVC link switched sent by Andi to make QT 4.6.0
libs to default Harbour build.
2009-12-11 18:17 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbwinuni.h
+ Added HB_ARRAYSETSTR*(). Based on Przemek's post.

View File

@@ -10,6 +10,10 @@
-ohbide
# Trick to make it link using default Harbour builds
-ldflag={msvc}-nodefaultlib:msvcrt.lib
-ldflag={msvc}-defaultlib:libcmt.lib
hbide.prg
idestylesheets.prg
idetags.prg

View File

@@ -15,34 +15,9 @@ include $(TOP)$(ROOT)contrib/hbqt/detect.mk
ifneq ($(HB_HAS_QT),)
MOC_HEADERS := \
hbqt_events.h \
hbqt_hbdbfmodel.h \
hbqt_hbqmainwindow.h \
hbqt_hbqsyntaxhighlighter.h \
hbqt_hbqtableview.h \
hbqt_slots.h \
CPP_SOURCES := \
hbqt_base.cpp \
hbqt_utils.cpp \
hbqt_slots.cpp \
hbqt_destruct.cpp \
hbqt_events.cpp \
hbqt_hbdbfmodel.cpp \
hbqt_hbqmainwindow.cpp \
hbqt_hbqsyntaxhighlighter.cpp \
hbqt_hbqtableview.cpp \
MOC_CPP_SOURCES := $(foreach dir,$(MOC_HEADERS),moc_$(dir:.h=.cpp))
$(MOC_CPP_SOURCES) : moc_%.cpp : $(GRANDP)%.h
moc_%.cpp : $(GRANDP)%.h
$(MOC_BIN) $? -o $@
CPP_SOURCES += $(MOC_CPP_SOURCES)
include $(TOP)$(ROOT)contrib/hbqt/filelist.mk
include $(TOP)$(ROOT)contrib/hbqt/moc.mk
include $(TOP)$(ROOT)config/header.mk
include $(TOP)$(ROOT)config/lib.mk

View File

@@ -30,10 +30,21 @@ endif
ifneq ($(HB_HAS_QT),)
ifeq ($(_QT_DARWIN),yes)
HB_CFLAGS += -I/Library/Frameworks/QtCore.framework/Headers
HB_CFLAGS += -I/Library/Frameworks/QtGui.framework/Headers
HB_CFLAGS += -I/Library/Frameworks/QtNetwork.framework/Headers
ifneq ($(filter $(LIBNAME),hbqt hbqtgui hbqtgui),)
HB_CFLAGS += -I/Library/Frameworks/QtGui.framework/Headers
endif
ifneq ($(filter $(LIBNAME),hbqt hbqtnetwork hbqtnetworks),)
HB_CFLAGS += -I/Library/Frameworks/QtNetwork.framework/Headers
endif
else
HB_CFLAGS += $(foreach d,$(HB_HAS_QT),-I$(d) -I$(d)/Qt -I$(d)/QtCore -I$(d)/QtGui -I$(d)/QtNetwork)
HB_CFLAGS += $(foreach d,$(HB_HAS_QT),-I$(d))
HB_CFLAGS += $(foreach d,$(HB_HAS_QT),-I$(d)/QtCore)
ifneq ($(filter $(LIBNAME),hbqt hbqtgui hbqtgui),)
HB_CFLAGS += $(foreach d,$(HB_HAS_QT),-I$(d)/QtGui)
endif
ifneq ($(filter $(LIBNAME),hbqt hbqtnetwork hbqtnetworks),)
HB_CFLAGS += $(foreach d,$(HB_HAS_QT),-I$(d)/QtNetwork)
endif
endif
# Locate 'moc' executable

View File

@@ -17,11 +17,9 @@ ifneq ($(HB_HAS_QT),)
HB_CFLAGS += -DQT_NODLL
moc_slots.cpp : $(TOP)$(ROOT)contrib/hbqt/hbqt_slots.h
$(MOC_BIN) $(TOP)$(ROOT)contrib/hbqt/hbqt_slots.h > moc_slots.cpp
include $(TOP)$(ROOT)contrib/hbqt/filelist.mk
include $(TOP)$(ROOT)contrib/hbqt/moc.mk
include $(TOP)$(ROOT)config/header.mk
include $(TOP)$(ROOT)config/lib.mk
endif

View File

@@ -0,0 +1,12 @@
#
# $Id$
#
MOC_CPP_SOURCES := $(foreach dir,$(MOC_HEADERS),moc_$(dir:.h=.cpp))
$(MOC_CPP_SOURCES) : moc_%.cpp : $(GRANDP)%.h
CPP_SOURCES += $(MOC_CPP_SOURCES)
moc_%.cpp : $(GRANDP)%.h
$(MOC_BIN) $? -o $@

View File

@@ -14,6 +14,7 @@ ifneq ($(HB_HAS_QT),)
include $(TOP)$(ROOT)contrib/hbqt/qtcore/filelist.mk
include $(TOP)$(ROOT)contrib/hbqt/moc.mk
include $(TOP)$(ROOT)config/header.mk
include $(TOP)$(ROOT)config/lib.mk

View File

@@ -85,7 +85,6 @@
#include <QtCore/QPointer>
#include <QWidget>
#include <QtCore/QObject>
#include <QtCore/QVariant>
@@ -154,7 +153,7 @@ HB_FUNC( QT_QOBJECT )
{
void * pObj = NULL;
pObj = ( QObject* ) new QObject( hbqt_par_QWidget( 1 ) ) ;
pObj = ( QObject* ) new QObject( hbqt_par_QObject( 1 ) ) ;
hb_retptrGC( gcAllocate_QObject( pObj ) );
}

View File

@@ -19,6 +19,7 @@ ifneq ($(HB_HAS_QT),)
include $(TOP)$(ROOT)contrib/hbqt/qtcore/filelist.mk
include $(TOP)$(ROOT)contrib/hbqt/moc.mk
include $(TOP)$(ROOT)config/header.mk
include $(TOP)$(ROOT)config/lib.mk
else

View File

@@ -14,6 +14,7 @@ ifneq ($(HB_HAS_QT),)
include $(TOP)$(ROOT)contrib/hbqt/qtgui/filelist.mk
include $(TOP)$(ROOT)contrib/hbqt/moc.mk
include $(TOP)$(ROOT)config/header.mk
include $(TOP)$(ROOT)config/lib.mk

View File

@@ -19,6 +19,7 @@ ifneq ($(HB_HAS_QT),)
include $(TOP)$(ROOT)contrib/hbqt/qtgui/filelist.mk
include $(TOP)$(ROOT)contrib/hbqt/moc.mk
include $(TOP)$(ROOT)config/header.mk
include $(TOP)$(ROOT)config/lib.mk
else

View File

@@ -60,7 +60,6 @@ Calls = QT_Qbject
</CLASS>
<CODE>
#include <QWidget>
#include <QtCore/QObject>
#include <QtCore/QVariant>
@@ -70,7 +69,7 @@ Calls = QT_Qbject
*/
HB_FUNC( QT_QOBJECT )
{
hb_retptr( ( QObject* ) new QObject( hbqt_par_QWidget( 1 ) ) );
hb_retptr( ( QObject* ) new QObject( hbqt_par_QObject( 1 ) ) );
}
</CODE>

View File

@@ -14,6 +14,7 @@ ifneq ($(HB_HAS_QT),)
include $(TOP)$(ROOT)contrib/hbqt/qtnetwork/filelist.mk
include $(TOP)$(ROOT)contrib/hbqt/moc.mk
include $(TOP)$(ROOT)config/header.mk
include $(TOP)$(ROOT)config/lib.mk

View File

@@ -19,6 +19,7 @@ ifneq ($(HB_HAS_QT),)
include $(TOP)$(ROOT)contrib/hbqt/qtnetwork/filelist.mk
include $(TOP)$(ROOT)contrib/hbqt/moc.mk
include $(TOP)$(ROOT)config/header.mk
include $(TOP)$(ROOT)config/lib.mk
else