2010-05-31 12:58 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbqt/hbqt.h
* contrib/hbqt/hbqt_hbqtableview.h
* contrib/hbqt/hbqt_hbevents.h
* contrib/hbqt/hbqt_hbdbfmodel.cpp
* contrib/hbqt/hbqt_hbqsyntaxhighlighter.cpp
* contrib/hbqt/hbqt_hbqmainwindow.h
* contrib/hbqt/hbqt_hbqtableview.cpp
* contrib/hbqt/hbqt_hbevents.cpp
* contrib/hbqt/hbqt_hbqplaintextedit.h
* contrib/hbqt/hbqt_hbdbfmodel.h
* contrib/hbqt/hbqt_destruct.cpp
* contrib/hbqt/hbqt_utils.cpp
* contrib/hbqt/hbqt_hbqsyntaxhighlighter.h
* contrib/hbqt/hbqt_hbqplaintextedit.cpp
* contrib/hbqt/hbqt_hbslots.cpp
* contrib/hbqt/qth/QVariant.qth
* contrib/hbqt/qth/QCursor.qth
* contrib/hbqt/qth/QClipboard.qth
* contrib/hbqt/qth/QApplication.qth
* contrib/hbqt/qth/QCoreApplication.qth
* contrib/hbqt/qth/QImage.qth
* contrib/hbqt/qth/QUrl.qth
* contrib/hbqt/qth/QAbstractItemModel.qth
* contrib/hbqt/qth/QImageReader.qth
* contrib/hbqt/qth/QWebHistoryItem.qth
* contrib/hbqt/qth/QFont.qth
* contrib/hbqt/qth/QFontDatabase.qth
! Fixed to use '#include <QModule/QName>' format when referring
to QT headers. This is the official way and it allows to clean
the include header paths.
! Fixed to use '#include <QtCore/qglobal>' instead of
'#include <qglobal.h>' for the same reason as above.
* contrib/hbqt/hbqt.h
+ Added '#include "QtCore/QObject"' to make hbmk2 component
detection happy. This is slight hack as I didn't want to
introduce parsing of '<>' style system headers just for the
sake of QT. Anyway it's quite humble hack without side effects.
* contrib/hbqt/detect.mk
* Changed to 'QtCore/qglobal.h' as key header name used for
detection.
! Fix to header dir autodetection path on darwin platform.
(it would have caused potential problem with QT 5.x releases)
% Simplified header path list for non-darwin platforms.
+ contrib/hbqt/hbqt_common.hbm
+ contrib/hbqt/hbqt.hbp
+ contrib/hbqt/hbqts.hbp
+ contrib/hbqt/hbqtcore.hbp
+ contrib/hbqt/hbqtcores.hbp
+ contrib/hbqt/hbqtgui.hbp
+ contrib/hbqt/hbqtguis.hbp
+ contrib/hbqt/hbqtnetwork.hbp
+ contrib/hbqt/hbqtnetworks.hbp
+ Added hbmk2 make files for HBQT libs.
Features are equivalent to the GNU Make flavour.
(only tested on Windows so far)
+ contrib/hbxbp/hbxbp.hbp
+ Added hbmk2 make file for HBXBP lib.
* contrib/hbfbird/hbfbird.hbp
* contrib/hbsms/hbsms.hbp
* Use ${hb_name} instead of ${hb_dirname}.
+ Added -w3 -es3 options.
* utils/hbmk2/hbmk2.prg
+ Set pathseps to '/' in "-reqheader=' and
'-reqpkg=' header names.
- utils/hbmk2/examples/plug_moc.prg
+ contrib/hbqt/plug_moc.prg
* Moved inside hbqt lib.
* contrib/hbqt/qtgui/*
* contrib/hbqt/qtcore/*
* Regenerated.
This commit is contained in:
@@ -1,138 +0,0 @@
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright 2010 Viktor Szakats (harbour.01 syenar.hu)
|
||||
* www - http://www.harbour-project.org
|
||||
*
|
||||
* See COPYING for licensing terms.
|
||||
*/
|
||||
|
||||
#define I_( x ) hb_i18n_gettext( x )
|
||||
|
||||
FUNCTION hbmk2_plugin_moc( hbmk2 )
|
||||
LOCAL cRetVal := ""
|
||||
|
||||
LOCAL cMOC_BIN
|
||||
LOCAL aMOC
|
||||
LOCAL aMOC_Dst
|
||||
|
||||
LOCAL cCommand
|
||||
LOCAL cDst
|
||||
LOCAL nError
|
||||
LOCAL tmp, tmp1, tmp2
|
||||
|
||||
LOCAL lBuildIt
|
||||
|
||||
SWITCH hbmk2[ "cSTATE" ]
|
||||
CASE "pre_all"
|
||||
|
||||
aMOC_Dst := {}
|
||||
|
||||
/* Gather input parameters */
|
||||
|
||||
aMOC := {}
|
||||
FOR EACH tmp IN hbmk2[ "params" ]
|
||||
IF Lower( hbmk2_FNameExtGet( tmp ) ) == ".h" .OR. ;
|
||||
Lower( hbmk2_FNameExtGet( tmp ) ) == ".hpp"
|
||||
AAdd( aMOC, tmp )
|
||||
ENDIF
|
||||
NEXT
|
||||
|
||||
IF ! Empty( aMOC )
|
||||
|
||||
/* Detect 'moc' tool location */
|
||||
|
||||
cMOC_BIN := GetEnv( "MOC_BIN" )
|
||||
IF Empty( cMOC_BIN )
|
||||
IF Empty( GetEnv( "HB_QT_MOC_BIN" ) )
|
||||
IF hbmk2[ "cPLAT" ] == "win"
|
||||
cMOC_BIN := GetEnv( "HB_WITH_QT" ) + "\..\bin\moc.exe"
|
||||
IF ! hb_FileExists( cMOC_BIN )
|
||||
hbmk2_OutErr( hbmk2, "HB_WITH_QT points to incomplete QT installation. moc executable not found." )
|
||||
RETURN NIL
|
||||
ENDIF
|
||||
ELSE
|
||||
cMOC_BIN := hbmk2_FindInPath( "moc", "/opt/qtsdk/qt/bin" )
|
||||
IF Empty( cMOC_BIN )
|
||||
cMOC_BIN := hbmk2_FindInPath( "moc-qt4", "/opt/qtsdk/qt/bin" )
|
||||
IF Empty( cMOC_BIN )
|
||||
hbmk2_OutErr( hbmk2, "HB_QT_MOC_BIN not set, could not autodetect" )
|
||||
RETURN NIL
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDIF
|
||||
hbmk2_OutStd( hbmk2, "Using QT 'moc' executable: " + cMOC_BIN + " (autodetected)" )
|
||||
ELSE
|
||||
IF hb_FileExists( GetEnv( "HB_QT_MOC_BIN" ) )
|
||||
cMOC_BIN := GetEnv( "HB_QT_MOC_BIN" )
|
||||
hbmk2_OutStd( hbmk2, "Using QT 'moc' executable: " + cMOC_BIN )
|
||||
ELSE
|
||||
hbmk2_OutErr( hbmk2, "HB_QT_MOC_BIN points to non-existent file. Make sure to set it to full path and filename of moc executable." )
|
||||
RETURN NIL
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
/* Execute 'moc' commands on input files */
|
||||
|
||||
FOR EACH tmp IN aMOC
|
||||
|
||||
cDst := hbmk2_FNameDirExtSet( "moc_" + hbmk2_FNameNameGet( tmp ), hbmk2[ "cWorkDir" ], ".cpp" )
|
||||
|
||||
IF hbmk2[ "lINC" ] .AND. ! hbmk2[ "lREBUILD" ]
|
||||
lBuildIt := ! hb_FGetDateTime( cDst, @tmp2 ) .OR. ;
|
||||
! hb_FGetDateTime( tmp, @tmp1 ) .OR. ;
|
||||
tmp1 > tmp2
|
||||
ELSE
|
||||
lBuildIt := .T.
|
||||
ENDIF
|
||||
|
||||
IF lBuildIt
|
||||
cCommand := cMOC_BIN +;
|
||||
" " + hbmk2_FNameEscape( hbmk2_PathSepToTarget( hbmk2, tmp ), hbmk2[ "nCmd_Esc" ] ) +;
|
||||
" -o " + hbmk2_FNameEscape( hbmk2_PathSepToTarget( hbmk2, cDst ), hbmk2[ "nCmd_Esc" ] )
|
||||
|
||||
IF hbmk2[ "lTRACE" ]
|
||||
IF ! hbmk2[ "lQUIET" ]
|
||||
hbmk2_OutStd( hbmk2, I_( "'moc' command:" ) )
|
||||
ENDIF
|
||||
hbmk2_OutStdRaw( cCommand )
|
||||
ENDIF
|
||||
|
||||
IF ! hbmk2[ "lDONTEXEC" ] .AND. ( nError := hb_processRun( cCommand ) ) != 0
|
||||
hbmk2_OutErr( hbmk2, hb_StrFormat( I_( "Error: Running 'moc' executable. %1$s" ), hb_ntos( nError ) ) )
|
||||
IF ! hbmk2[ "lQUIET" ]
|
||||
hbmk2_OutErrRaw( cCommand )
|
||||
ENDIF
|
||||
IF ! hbmk2[ "lIGNOREERROR" ]
|
||||
cRetVal := "error"
|
||||
EXIT
|
||||
ENDIF
|
||||
ELSE
|
||||
hbmk2_AddInput_CPP( hbmk2, cDst )
|
||||
AAdd( aMOC_Dst, cDst )
|
||||
ENDIF
|
||||
ELSE
|
||||
hbmk2_AddInput_CPP( hbmk2, cDst )
|
||||
AAdd( aMOC_Dst, cDst )
|
||||
ENDIF
|
||||
NEXT
|
||||
ENDIF
|
||||
|
||||
hbmk2[ "vars" ][ "aMOC_Dst" ] := aMOC_Dst
|
||||
|
||||
EXIT
|
||||
|
||||
CASE "post_all"
|
||||
|
||||
IF ! hbmk2[ "lINC" ] .OR. hbmk2[ "lCLEAN" ]
|
||||
AEval( hbmk2[ "vars" ][ "aMOC_Dst" ], {| tmp | FErase( tmp ) } )
|
||||
ENDIF
|
||||
|
||||
EXIT
|
||||
|
||||
ENDSWITCH
|
||||
|
||||
RETURN cRetVal
|
||||
@@ -1975,7 +1975,7 @@ FUNCTION hbmk2( aArgs, /* @ */ lPause )
|
||||
|
||||
cParam := MacroProc( hbmk, tmp := SubStr( cParam, Len( "-reqheader=" ) + 1 ), aParam[ _PAR_cFileName ] )
|
||||
IF ! Empty( cParam )
|
||||
hbmk[ _HBMK_hKEYHEADER ][ cParam ] := NIL
|
||||
hbmk[ _HBMK_hKEYHEADER ][ StrTran( cParam, "\", "/" ) ] := NIL
|
||||
ENDIF
|
||||
|
||||
CASE Left( cParamL, Len( "-stop" ) ) == "-stop"
|
||||
@@ -5848,6 +5848,8 @@ STATIC FUNCTION pkg_try_detection( hbmk, cName )
|
||||
cNameFlavour := hb_StrShrink( cNameFlavour, 1 )
|
||||
ENDIF
|
||||
|
||||
cNameFlavour := StrTran( cNameFlavour, "\", "/" )
|
||||
|
||||
IF cNameFlavour $ hbmk[ _HBMK_hKEYHEADER ]
|
||||
hbmk[ _HBMK_hKEYHEADER ][ cNameFlavour ] := cIncludeDir
|
||||
ENDIF
|
||||
@@ -5919,6 +5921,7 @@ STATIC FUNCTION FindHeader( hbmk, cFileName, cParentDir, aINCTRYPATH )
|
||||
/* Add these dir to include paths */
|
||||
IF AScan( hbmk[ _HBMK_aINCPATH ], { |tmp| tmp == cDir } ) == 0
|
||||
AAdd( hbmk[ _HBMK_aINCPATH ], DirDelPathSep( PathSepToSelf( cDir ) ) )
|
||||
cFileName := StrTran( cFileName, "\", "/" )
|
||||
IF cFileName $ hbmk[ _HBMK_hKEYHEADER ]
|
||||
hbmk[ _HBMK_hKEYHEADER ][ cFileName ] := cDir
|
||||
ENDIF
|
||||
|
||||
Reference in New Issue
Block a user