diff options
Diffstat (limited to 'addon')
-rw-r--r-- | addon/doxmlparser/CMakeLists.txt | 0 | ||||
-rw-r--r-- | addon/doxmlparser/src/Makefile.in | 15 | ||||
-rw-r--r-- | addon/doxmlparser/src/doxmlparser.pro.in | 27 | ||||
-rw-r--r-- | addon/doxyapp/CMakeLists.txt | 28 | ||||
-rw-r--r-- | addon/doxyapp/Makefile.in | 19 | ||||
-rw-r--r-- | addon/doxyapp/doxyapp.pro.in | 12 | ||||
-rwxr-xr-x | addon/doxypysql/search.py | 483 | ||||
-rw-r--r-- | addon/doxysearch/CMakeLists.txt | 30 | ||||
-rw-r--r-- | addon/doxysearch/Makefile.in | 34 | ||||
-rw-r--r-- | addon/doxysearch/doxyindexer.pro.in | 12 | ||||
-rw-r--r-- | addon/doxysearch/doxysearch.pro.in | 12 | ||||
-rw-r--r-- | addon/doxywizard/CMakeLists.txt | 80 | ||||
-rw-r--r-- | addon/doxywizard/Makefile.in | 40 | ||||
-rw-r--r-- | addon/doxywizard/config_doxyw.l | 3 | ||||
-rw-r--r-- | addon/doxywizard/doxywizard.pro.in | 40 |
15 files changed, 396 insertions, 439 deletions
diff --git a/addon/doxmlparser/CMakeLists.txt b/addon/doxmlparser/CMakeLists.txt new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/addon/doxmlparser/CMakeLists.txt diff --git a/addon/doxmlparser/src/Makefile.in b/addon/doxmlparser/src/Makefile.in deleted file mode 100644 index 47d20c2..0000000 --- a/addon/doxmlparser/src/Makefile.in +++ /dev/null @@ -1,15 +0,0 @@ -all clean depend: Makefile.doxmlparser - $(MAKE) -f Makefile.doxmlparser $@ - -distclean: clean - $(RM) -rf Makefile.doxmlparser doxmlparser.pro Makefile obj - -realclean: distclean - -tmake: - $(ENV) $(PERL) $(TMAKE) doxmlparser.pro >Makefile.doxmlparser - -Makefile.doxmlparser: doxmlparser.pro - $(ENV) $(PERL) $(TMAKE) doxmlparser.pro >Makefile.doxmlparser - -install: diff --git a/addon/doxmlparser/src/doxmlparser.pro.in b/addon/doxmlparser/src/doxmlparser.pro.in deleted file mode 100644 index 2bbf326..0000000 --- a/addon/doxmlparser/src/doxmlparser.pro.in +++ /dev/null @@ -1,27 +0,0 @@ -TEMPLATE = lib.t -CONFIG = console staticlib warn_on $extraopts -HEADERS = basehandler.h mainhandler.h \ - compoundhandler.h sectionhandler.h \ - memberhandler.h paramhandler.h \ - dochandler.h linkedtexthandler.h \ - debug.h graphhandler.h stringimpl.h \ - loamhandler.h -SOURCES = mainhandler.cpp \ - compoundhandler.cpp sectionhandler.cpp \ - memberhandler.cpp paramhandler.cpp \ - dochandler.cpp linkedtexthandler.cpp \ - basehandler.cpp debug.cpp graphhandler.cpp \ - loamhandler.cpp -unix:LIBS += -L../../../lib -lqtools -win32:INCLUDEPATH += . -win32-mingw:LIBS += -L../../../lib -lqtools -win32-msvc:LIBS += qtools.lib shell32.lib -win32-msvc:TMAKE_LFLAGS += /LIBPATH:....\\..\lib -win32-borland:LIBS += qtools.lib doxycfg.lib shell32.lib -win32-borland:TMAKE_LFLAGS += -L..\..\..\lib -win32:TMAKE_CXXFLAGS += -DQT_NODLL -DESTDIR = ../../../lib -OBJECTS_DIR = ../../../objects/doxmlparser -TARGET = doxmlparser -INCLUDEPATH += ../../../qtools ../include - diff --git a/addon/doxyapp/CMakeLists.txt b/addon/doxyapp/CMakeLists.txt new file mode 100644 index 0000000..a039762 --- /dev/null +++ b/addon/doxyapp/CMakeLists.txt @@ -0,0 +1,28 @@ +if (build_app) + +find_package(Iconv) + +include_directories( + ${CMAKE_SOURCE_DIR}/src + ${CMAKE_SOURCE_DIR}/qtools + ${ICONV_INCLUDE_DIR} +) + +add_executable(doxyapp +doxyapp.cpp +) +target_link_libraries(doxyapp +_doxygen +qtools +md5 +doxycfg +vhdlparser +${ICONV_LIBRARIES} +${CMAKE_THREAD_LIBS_INIT} +${SQLITE3_LIBRARIES} +${EXTRA_LIBS} +) + +install(TARGETS doxyapp DESTINATION bin) + +endif() diff --git a/addon/doxyapp/Makefile.in b/addon/doxyapp/Makefile.in deleted file mode 100644 index d0629d9..0000000 --- a/addon/doxyapp/Makefile.in +++ /dev/null @@ -1,19 +0,0 @@ - -all clean depend distclean: Makefile.doxyapp - $(MAKE) -f Makefile.doxyapp $@ - -distclean: clean - $(RM) -rf Makefile doxyapp.pro Makefile.doxyapp - -realclean: distclean - -tmake: - $(ENV) $(PERL) "$(TMAKE)" doxyapp.pro >Makefile.doxyapp - -strip: - strip doxyapp - -Makefile.doxyapp: doxyapp.pro - $(ENV) $(PERL) "$(TMAKE)" doxyapp.pro >Makefile.doxyapp - -install: diff --git a/addon/doxyapp/doxyapp.pro.in b/addon/doxyapp/doxyapp.pro.in deleted file mode 100644 index 207967d..0000000 --- a/addon/doxyapp/doxyapp.pro.in +++ /dev/null @@ -1,12 +0,0 @@ -TEMPLATE = app.t -CONFIG = console warn_on debug -HEADERS = -SOURCES = doxyapp.cpp -LIBS += -L../../lib -ldoxygen -lqtools -lmd5 -ldoxycfg -lvhdlparser -lpthread -liconv -DESTDIR = -OBJECTS_DIR = ../../objects/doxyapp -TARGET = ../../bin/doxyapp -INCLUDEPATH += ../../qtools ../../src -DEPENDPATH += ../../src -TARGETDEPS = ../../lib/libdoxygen.a - diff --git a/addon/doxypysql/search.py b/addon/doxypysql/search.py index d0c88c0..c185138 100755 --- a/addon/doxypysql/search.py +++ b/addon/doxypysql/search.py @@ -14,6 +14,7 @@ import sys import os import getopt import json +import re class MemberType: Define="0" @@ -28,6 +29,7 @@ class MemberType: DCOP="9" Property="10" Event="11" + File="12" class RequestType: References="9901" @@ -38,252 +40,253 @@ class RequestType: BaseClasses="9906" SubClasses="9907" -g_conn=None +g_use_regexp=False ############################################################################### -def escapeLike(val): - return 'LIKE "%' + val.replace("\\", "\\\\").replace("_", "\\_") \ - .replace("%", "\\%") + '%" ESCAPE "\\"' +# case-insensitive sqlite regexp function +def re_fn(expr, item): + reg = re.compile(expr, re.I) + return reg.search(item) is not None -def matchName(name): - if type(name) is str: - return "name "+escapeLike(name) - else: - return 'id=%d' %name - -def fileName(id_file): - if g_conn.execute("SELECT COUNT(*) FROM files WHERE id=?",[id_file]).fetchone()[0] > 1: - print "non-uniq fileid" - - for r in g_conn.execute("SELECT * FROM files WHERE id=?",[id_file]).fetchall(): - return r['name'] +def openDb(dbname): + if dbname == None: + dbname = "doxygen_sqlite3.db" - return "" + if not os.path.isfile(dbname): + raise BaseException("No such file %s" % dbname ) -def fileId(name): - if g_conn.execute("SELECT COUNT(*) FROM files WHERE name=?",[name]).fetchone()[0] > 1: - print "non-uniq file name" + conn = sqlite3.connect(dbname) + conn.execute('PRAGMA temp_store = MEMORY;') + conn.row_factory = sqlite3.Row + conn.create_function("REGEXP", 2, re_fn) + return conn +############################################################################### +class Finder: + def __init__(self,cn,name,row_type=str): + self.cn=cn + self.name=name + self.row_type=row_type + + def match(self,row): + if self.row_type is int: + return " id=?" + else: + if g_use_regexp == True: + return " REGEXP (?,%s)" %row + else: + return " %s=?" %row - for r in g_conn.execute("SELECT * FROM files WHERE name=?",[name]).fetchall(): - return r['id'] + def fileName(self,id_file): + if self.cn.execute("SELECT COUNT(*) FROM files WHERE rowid=?",[id_file]).fetchone()[0] > 1: + print >>sys.stderr,"WARNING: non-uniq fileid [%s]. Considering only the first match." % id_file - return -1 + for r in self.cn.execute("SELECT * FROM files WHERE rowid=?",[id_file]).fetchall(): + return r['name'] -############################################################################### + return "" -def findReferences(name): - o=[] + def fileId(self,name): + if self.cn.execute("SELECT COUNT(*) FROM files WHERE"+self.match("name"),[name]).fetchone()[0] > 1: + print >>sys.stderr,"WARNING: non-uniq file name [%s]. Considering only the first match." % name - cur = g_conn.cursor() - cur.execute("SELECT refid FROM memberdef WHERE name=?",[name]) - refids = cur.fetchall() + for r in self.cn.execute("SELECT rowid FROM files WHERE"+self.match("name"),[name]).fetchall(): + return r[0] - if len(refids) == 0: + return -1 +############################################################################### + def references(self): + o=[] + cur = self.cn.cursor() + cur.execute("SELECT refid FROM memberdef WHERE"+self.match("name"),[self.name]) + refids = cur.fetchall() + + if len(refids) == 0: + return o + + refid = refids[0]['refid'] + cur = self.cn.cursor() + #TODO:SELECT rowid from refids where refid=refid + for info in cur.execute("SELECT * FROM xrefs WHERE refid_dst LIKE '%"+refid+"%'"): + item={} + cur = self.cn.cursor() + for i2 in cur.execute("SELECT * FROM memberdef WHERE refid=?",[info['src']]): + item['name']=i2['name'] + item['src']=info['src'] + item['file']=self.fileName(info['id_file']) + item['line']=info['line'] + + o.append(item) return o - - refid = refids[0]['refid'] - cur = g_conn.cursor() - for info in cur.execute("SELECT * FROM xrefs WHERE dst LIKE '%"+refid+"%'"): - item={} - cur = g_conn.cursor() - for i2 in cur.execute("SELECT * FROM memberdef WHERE refid=?",[info['src']]): - item['name']=i2['name'] - item['src']=info['src'] - item['file']=fileName(info['id_file']) - item['line']=info['line'] - - o.append(item) - return o - - -def findFunction(name): - o=[] - for r in g_conn.execute('SELECT * FROM memberdef WHERE '+matchName(name)+' AND kind=?',[MemberType.Function]).fetchall(): - item={} - item['name'] = r['name'] - item['definition'] = r['definition'] - item['argsstring'] = r['argsstring'] - item['file'] = fileName(r['id_file']) - item['line'] = r['line'] - item['detaileddescription'] = r['detaileddescription'] - o.append(item) - return o - - -def findMacro(name): - o=[] - for r in g_conn.execute('SELECT * FROM memberdef WHERE '+matchName(name)+' AND kind=?',[MemberType.Define]).fetchall(): - item={} - item['name'] = r['name'] - if r['argsstring']: +############################################################################### + def function(self): + o=[] + c=self.cn.execute('SELECT * FROM memberdef WHERE'+self.match("name")+' AND kind=?',[self.name,MemberType.Function]) + for r in c.fetchall(): + item={} + item['name'] = r['name'] + item['definition'] = r['definition'] item['argsstring'] = r['argsstring'] - item['definition'] = r['initializer'] - item['file'] = fileName(r['id_file']) - item['line'] = r['line'] - o.append(item) - return o - - -def findTypedef(name): - o=[] - for r in g_conn.execute('SELECT * FROM memberdef WHERE '+matchName(name)+' AND kind=?',[MemberType.Typedef]).fetchall(): - item={} - item['name'] = r['name'] - item['definition'] = r['definition'] - item['file'] = fileName(r['id_file']) - item['line'] = r['line'] - o.append(item) - return o - - -def findVariable(name): - o=[] - for r in g_conn.execute('SELECT * FROM memberdef WHERE '+matchName(name)+' AND kind=?',[MemberType.Variable]).fetchall(): - item={} - item['name'] = r['name'] - item['definition'] = r['definition'] - item['file'] = fileName(r['id_file']) - item['line'] = r['line'] - o.append(item) - return o - -def findParams(name): - o=[] - for r in g_conn.execute('SELECT id FROM memberdef WHERE '+matchName(name)).fetchall(): - #a=("SELECT * FROM params where id=(SELECT id_param FROM memberdef_params where id_memberdef=?",[id_memberdef]) - item={} - item['id'] = r['id'] - o.append(item) - return o - - -def findStruct(name): - o=[] - for r in g_conn.execute('SELECT * FROM compounddef WHERE '+matchName(name)).fetchall(): - item={} - item['name'] = r['name'] - o.append(item) - return o - -def findIncluders(name): - o=[] - fid = fileId(name) - for r in g_conn.execute('SELECT * FROM includes WHERE id_dst=?',[fid]).fetchall(): - item={} - item['name'] = fileName(r['id_src']) - o.append(item) - return o - -def findIncludees(name): - o=[] - fid = fileId(name) - for r in g_conn.execute('SELECT * FROM includes WHERE id_src=?',[fid]).fetchall(): - item={} - item['name'] = r['dst'] - o.append(item) - return o - - -def findMembers(name): - o=[] - for r in g_conn.execute('SELECT * FROM memberdef WHERE scope LIKE "%'+name+'%";').fetchall(): - item={} - item['name'] = r['name'] - item['definition'] = r['definition'] - item['argsstring'] = r['argsstring'] - item['file'] = fileName(r['id_file']) - item['line'] = r['line'] - item['documentation'] = r['documentation'] - o.append(item) - return o - - -def findBaseClasses(name): - o=[] - for r in g_conn.execute('SELECT base FROM basecompoundref WHERE derived=?',[name]).fetchall(): - item={} - item['name'] = r['base'] - o.append(item) - return o - - -def findSubClasses(name): - o=[] - for r in g_conn.execute('SELECT derived FROM basecompoundref WHERE base=?',[name]).fetchall(): - item={} - item['name'] = r['derived'] - o.append(item) - return o - - + item['file'] = self.fileName(r['id_file']) + item['line'] = r['line'] + item['detaileddescription'] = r['detaileddescription'] + o.append(item) + return o ############################################################################### + def file(self): + o=[] + for r in self.cn.execute("SELECT rowid,* FROM files WHERE"+self.match("name"),[self.name]).fetchall(): + item={} + item['name'] = r['name'] + item['id'] = r['rowid'] + o.append(item) + return o -def usage(): - print """Usage: search.py [Options] -Options: - -h, --help - -d <D> Use database <D> for queries - -r <F> Search for references to <F> - -f <F> Search for definition of function <F> - -m <M> Search for definition of macro <M> - -t <T> Search for definition of type <T> - -v <V> Search for definition of variable <V> - -I <I> Get the includers of <I> - -i <I> Get the includees of <I> - -M <C> Get all members of class <C> - -B <C> Get the base classes of class <C> - -S <C> Get the sub classes of class <C> -""" - -def openDb(dbname): - global g_conn - - if dbname == None: - dbname = "doxygen_sqlite3.db" - - if not os.path.isfile(dbname): - raise BaseException("No such file %s" % dbname ) - - g_conn = sqlite3.connect(dbname) - g_conn.execute('PRAGMA temp_store = MEMORY;') - g_conn.row_factory = sqlite3.Row - ############################################################################### -def process(kind,o): + def macro(self): + o=[] + c=self.cn.execute('SELECT * FROM memberdef WHERE'+self.match("name")+' AND kind=?',[self.name,MemberType.Define]) + for r in c.fetchall(): + item={} + item['name'] = r['name'] + if r['argsstring']: + item['argsstring'] = r['argsstring'] + item['definition'] = r['initializer'] + item['file'] = self.fileName(r['id_file']) + item['line'] = r['line'] + o.append(item) + return o +############################################################################### + def typedef(self): + o=[] + c=self.cn.execute('SELECT * FROM memberdef WHERE'+self.match("name")+' AND kind=?',[self.name,MemberType.Typedef]) + for r in c.fetchall(): + item={} + item['name'] = r['name'] + item['definition'] = r['definition'] + item['file'] = self.fileName(r['id_file']) + item['line'] = r['line'] + o.append(item) + return o +############################################################################### + def variable(self): + o=[] + c=self.cn.execute('SELECT * FROM memberdef WHERE'+self.match("name")+' AND kind=?',[self.name,MemberType.Variable]) + for r in c.fetchall(): + item={} + item['name'] = r['name'] + item['definition'] = r['definition'] + item['file'] = self.fileName(r['id_file']) + item['line'] = r['line'] + o.append(item) + return o +############################################################################### + def params(self): + o=[] + c=self.cn.execute('SELECT id FROM memberdef WHERE'+self.match("name"),[self.name]) + for r in c.fetchall(): + #a=("SELECT * FROM params where id=(SELECT id_param FROM memberdef_params where id_memberdef=?",[id_memberdef]) + item={} + item['id'] = r['id'] + o.append(item) + return o +############################################################################### + def struct(self): + o=[] + c=self.cn.execute('SELECT * FROM compounddef WHERE'+self.match("name"),[self.name]) + for r in c.fetchall(): + item={} + item['name'] = r['name'] + o.append(item) + return o +############################################################################### + def includers(self): + o=[] + fid = self.fileId(self.name) + c=self.cn.execute('SELECT * FROM includes WHERE id_dst=?',[fid]) + for r in c.fetchall(): + item={} + item['name'] = self.fileName(r['id_src']) + o.append(item) + return o +############################################################################### + def includees(self): + o=[] + fid = self.fileId(self.name) + c=self.cn.execute('SELECT * FROM includes WHERE id_src=?',[fid]) + for r in c.fetchall(): + item={} + item['name'] = self.fileName(r['id_dst']) + o.append(item) + return o +############################################################################### + def members(self): + o=[] + c=self.cn.execute('SELECT * FROM memberdef WHERE'+self.match("scope"),[self.name]) + for r in c.fetchall(): + item={} + item['name'] = r['name'] + item['definition'] = r['definition'] + item['argsstring'] = r['argsstring'] + item['file'] = self.fileName(r['id_file']) + item['line'] = r['line'] + #item['documentation'] = r['documentation'] + o.append(item) + return o +############################################################################### + def baseClasses(self): + o=[] + c=self.cn.execute('SELECT base FROM basecompoundref WHERE'+self.match("derived"),[self.name]) + for r in c.fetchall(): + item={} + item['name'] = r['base'] + o.append(item) + return o +############################################################################### + def subClasses(self): + o=[] + c=self.cn.execute('SELECT derived FROM basecompoundref WHERE'+self.match("base"),[self.name]) + for r in c.fetchall(): + item={} + item['name'] = r['derived'] + o.append(item) + return o +############################################################################### +def process(f,kind): request_processors = { - MemberType.Function: findFunction, - MemberType.Define: findMacro, - MemberType.Variable: findVariable, - MemberType.Typedef: findTypedef, - RequestType.References: findReferences, - RequestType.Struct: findStruct, - RequestType.Includers: findIncluders, - RequestType.Includees: findIncludees, - RequestType.Members: findMembers, - RequestType.BaseClasses: findBaseClasses, - RequestType.SubClasses: findSubClasses + MemberType.Function: f.function, + MemberType.File: f.file, + MemberType.Define: f.macro, + MemberType.Variable: f.variable, + MemberType.Typedef: f.typedef, + RequestType.References: f.references, + RequestType.Struct: f.struct, + RequestType.Includers: f.includers, + RequestType.Includees: f.includees, + RequestType.Members: f.members, + RequestType.BaseClasses: f.baseClasses, + RequestType.SubClasses: f.subClasses } - return request_processors[kind](o) - - -def processHref(ref): + return request_processors[kind]() +############################################################################### +def processHref(cn,ref): j={} # is it in memberdef ? table="memberdef" - if ( g_conn.execute("SELECT count(*) from %s WHERE refid='%s'" % (table,ref) ).fetchone()[0] > 0 ): - for r in g_conn.execute("SELECT kind,id FROM %s WHERE refid='%s'" % (table,ref) ).fetchall(): - j=process(str(r['kind']),int(r['id'])) + if ( cn.execute("SELECT count(*) from %s WHERE refid=?"%table,[ref] ).fetchone()[0] > 0 ): + for r in cn.execute("SELECT kind,id FROM %s WHERE refid='%s'" % (table,ref) ).fetchall(): + f=Finder(cn,r['id'],int) + j=process(f,str(r['kind'])) # is it in compounddef ? table="compounddef" - if ( g_conn.execute("SELECT count(*) from %s WHERE refid='%s'" % (table,ref)).fetchone()[0] > 0 ): - for r in g_conn.execute("SELECT id FROM %s WHERE refid='%s'" % (table,ref) ).fetchall(): - j=process(RequestType.Struct,int(r['id'])) + if ( cn.execute("SELECT count(*) from %s WHERE refid=?"%table,[ref]).fetchone()[0] > 0 ): + for r in cn.execute("SELECT id FROM %s WHERE refid=?"%table,[ref] ).fetchall(): + f=Finder(cn,r['id'],int) + j=process(f,RequestType.Struct) return j - - +############################################################################### def serveCgi(): import cgi @@ -298,16 +301,33 @@ def serveCgi(): print '{"result": null, "error": "no refid given"}' sys.exit(0) - openDb('doxygen_sqlite3.db') + cn=openDb('doxygen_sqlite3.db') - j = processHref(ref) + j = processHref(cn,ref) print json.dumps({"result":j,"error":None}) - - +############################################################################### +def usage(): + print >>sys.stderr,"""Usage: search.py [Options] +Options: + -h, --help + -d <D> Use database <D> for queries. + -f <F> Search for definition of function <F>. + -m <M> Search for definition of macro <M>. + -r <F> Search for references to function <F>. + -t <T> Search for definition of type <T>. + -v <V> Search for definition of variable <V>. + -I <I> What files are including <I>. + -i <i> What files are included by <i>. + -B <C> Get the base classes of class <C>. + -M <C> Get all members of class <C>. + -S <C> Get the sub classes of class <C>. + -R Consider the search <term> to be a regex. +""" +############################################################################### def serveCli(argv): try: - opts, args = getopt.getopt(argv, "hr:I:i:d:f:m:t:v:H:M:B:S:",["help"]) + opts, args = getopt.getopt(argv, "hr:RI:i:d:f:m:t:v:H:M:B:S:F:",["help"]) except getopt.GetoptError: usage() sys.exit(1) @@ -315,6 +335,7 @@ def serveCli(argv): ref=None dbname=None j={} + global g_use_regexp for a, o in opts: if a in ('-h', '--help'): @@ -325,6 +346,9 @@ def serveCli(argv): continue elif a in ('-r'): kind=RequestType.References + elif a in ('-R'): + g_use_regexp=True + continue elif a in ('-I'): kind=RequestType.Includers elif a in ('-i'): @@ -337,6 +361,8 @@ def serveCli(argv): kind=RequestType.SubClasses elif a in ('-f'): kind=MemberType.Function + elif a in ('-F'): + kind=MemberType.File elif a in ('-m'): kind=MemberType.Define elif a in ('-t'): @@ -346,12 +372,13 @@ def serveCli(argv): elif a in ('-H'): ref = o - openDb(dbname) + cn=openDb(dbname) + f=Finder(cn,o) if ref != None: - j=processHref(ref) + j=processHref(cn,ref) else: - j=process(kind,o) - print json.dumps(j) + j=process(f,kind) + print json.dumps(j,indent=4) def main(argv): diff --git a/addon/doxysearch/CMakeLists.txt b/addon/doxysearch/CMakeLists.txt new file mode 100644 index 0000000..e3511aa --- /dev/null +++ b/addon/doxysearch/CMakeLists.txt @@ -0,0 +1,30 @@ +if (build_search) + +find_package(Xapian REQUIRED) +find_package(ZLIB REQUIRED) + +include_directories( + ${CMAKE_SOURCE_DIR}/qtools + ${XAPIAN_INCLUDE_DIR} + ${ZLIB_INCLUDE_DIRS} +) +add_executable(doxyindexer + doxyindexer.cpp +) +target_link_libraries(doxyindexer + ${XAPIAN_LIBRARIES} + ${ZLIB_LIBRARIES} + qtools +) + +add_executable(doxysearch.cgi + doxysearch.cpp +) +target_link_libraries(doxysearch.cgi + ${XAPIAN_LIBRARIES} + ${ZLIB_LIBRARIES} +) + +install(TARGETS doxyindexer doxysearch.cgi DESTINATION bin) + +endif() diff --git a/addon/doxysearch/Makefile.in b/addon/doxysearch/Makefile.in deleted file mode 100644 index 7daafee..0000000 --- a/addon/doxysearch/Makefile.in +++ /dev/null @@ -1,34 +0,0 @@ - -all clean depend: Makefile.doxysearch Makefile.doxyindexer - $(MAKE) -f Makefile.doxysearch $@ - $(MAKE) -f Makefile.doxyindexer $@ - -distclean: clean - $(RM) -rf Makefile doxysearch.pro Makefile.doxysearch - $(RM) -rf Makefile doxyindexer.pro Makefile.doxyindexer - -tmake: - $(ENV) $(PERL) "$(TMAKE)" doxysearch.pro >Makefile.doxysearch - $(ENV) $(PERL) "$(TMAKE)" doxyindexer.pro >Makefile.doxyindexer - -strip: - strip doxysearch - -Makefile.doxysearch: doxysearch.pro - $(ENV) $(PERL) "$(TMAKE)" doxysearch.pro >Makefile.doxysearch - -Makefile.doxyindexer: doxyindexer.pro - $(ENV) $(PERL) "$(TMAKE)" doxyindexer.pro >Makefile.doxyindexer - -install: - $(INSTTOOL) -d $(INSTALL)/bin - $(INSTTOOL) -m 755 ../../bin/doxysearch.cgi $(INSTALL)/bin - $(INSTTOOL) -m 755 ../../bin/doxyindexer $(INSTALL)/bin - $(INSTTOOL) -d $(INSTALL)/$(MAN1DIR) - cat ../../doc/doxyindexer.1 | sed -e "s/DATE/$(DATE)/g" -e "s/VERSION/$(VERSION)/g" > doxyindexer.1 - $(INSTTOOL) -m 644 doxyindexer.1 $(INSTALL)/$(MAN1DIR)/doxyindexer.1 - rm doxyindexer.1 - cat ../../doc/doxysearch.1 | sed -e "s/DATE/$(DATE)/g" -e "s/VERSION/$(VERSION)/g" > doxysearch.1 - $(INSTTOOL) -m 644 doxysearch.1 $(INSTALL)/$(MAN1DIR)/doxysearch.1 - rm doxysearch.1 - diff --git a/addon/doxysearch/doxyindexer.pro.in b/addon/doxysearch/doxyindexer.pro.in deleted file mode 100644 index c84a2ac..0000000 --- a/addon/doxysearch/doxyindexer.pro.in +++ /dev/null @@ -1,12 +0,0 @@ -TEMPLATE = app.t -CONFIG = console warn_on static release -HEADERS = -SOURCES = doxyindexer.cpp -LIBS += -L../../lib -lxapian -lqtools -DESTDIR = -OBJECTS_DIR = ../../objects/doxyindexer -TARGET = ../../bin/doxyindexer -INCLUDEPATH += ../../qtools -DEPENDPATH += -TARGETDEPS = - diff --git a/addon/doxysearch/doxysearch.pro.in b/addon/doxysearch/doxysearch.pro.in deleted file mode 100644 index 702f5a4..0000000 --- a/addon/doxysearch/doxysearch.pro.in +++ /dev/null @@ -1,12 +0,0 @@ -TEMPLATE = app.t -CONFIG = console warn_on debug cgi -HEADERS = -SOURCES = doxysearch.cpp -LIBS += -lxapian -DESTDIR = -OBJECTS_DIR = ../../objects/doxysearch -TARGET = ../../bin/doxysearch.cgi -INCLUDEPATH += -DEPENDPATH += -TARGETDEPS = - diff --git a/addon/doxywizard/CMakeLists.txt b/addon/doxywizard/CMakeLists.txt new file mode 100644 index 0000000..055aac3 --- /dev/null +++ b/addon/doxywizard/CMakeLists.txt @@ -0,0 +1,80 @@ +if (build_wizard) + +include_directories( + . + ${CMAKE_SOURCE_DIR}/src + ${CMAKE_SOURCE_DIR}/qtools + ${GENERATED_SRC} +) + +set(GENERATED_SRC_WIZARD ${GENERATED_SRC}/doxywizard) +file(MAKE_DIRECTORY ${GENERATED_SRC_WIZARD}) + +add_definitions(-DQT_ARCH_X86_64 -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DUNICODE) +set(QT_USE_QTXML TRUE) +find_package(Qt4 REQUIRED) +include(${QT_USE_FILE}) + +# generate settings.h +file(GENERATE OUTPUT ${GENERATED_SRC_WIZARD}/settings.h +CONTENT "#ifndef SETTINGS_H +#define SETTINGS_H +#define USE_SQLITE3 ${sqlite3} +#define USE_LIBCLANG ${clang} +#define IS_SUPPORTED(x) \\ + ((USE_SQLITE3 && strcmp(\"USE_SQLITE3\",(x))==0) || \\ + (USE_LIBCLANG && strcmp(\"USE_LIBCLANG\",(x))==0) || \\ + 0) +#endif" ) +set_source_files_properties(${GENERATED_SRC_WIZARD}/settings.h PROPERTIES GENERATED 1) + +# generate version.cpp +file(GENERATE OUTPUT ${GENERATED_SRC_WIZARD}/version.cpp + CONTENT "char versionString[]=\"${VERSION}\";" +) +set_source_files_properties(${GENERATED_SRC_WIZARD}/version.cpp PROPERTIES GENERATED 1) + +# generate configdoc.cpp +add_custom_command( +COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/configgen.py -wiz ${CMAKE_SOURCE_DIR}/src/config.xml > ${GENERATED_SRC_WIZARD}/configdoc.cpp +OUTPUT ${GENERATED_SRC_WIZARD}/configdoc.cpp +) +set_source_files_properties(${GENERATED_SRC_WIZARD}/configdoc.cpp PROPERTIES GENERATED 1) + +FLEX_TARGET(config_doxyw config_doxyw.l ${GENERATED_SRC_WIZARD}/config_doxyw.cpp COMPILE_FLAGS "-Pconfig_doxywYY") + +QT4_WRAP_CPP(doxywizard_MOC +doxywizard.h +expert.h +helplabel.h +inputint.h +inputbool.h +inputstring.h +inputstrlist.h +wizard.h +) + +QT4_ADD_RESOURCES(doxywizard_RESOURCES_RCC doxywizard.qrc) + +add_executable(doxywizard +doxywizard.cpp +expert.cpp +wizard.cpp +inputbool.cpp +inputstring.cpp +inputint.cpp +inputstrlist.cpp +${GENERATED_SRC_WIZARD}/settings.h +${GENERATED_SRC_WIZARD}/version.cpp +${GENERATED_SRC_WIZARD}/config_doxyw.cpp +${GENERATED_SRC_WIZARD}/configdoc.cpp +${doxywizard_MOC} +${doxywizard_RESOURCES_RCC} +) +target_link_libraries(doxywizard +${QT_LIBRARIES} +) + +install(TARGETS doxywizard DESTINATION bin) + +endif() diff --git a/addon/doxywizard/Makefile.in b/addon/doxywizard/Makefile.in deleted file mode 100644 index 79b885e..0000000 --- a/addon/doxywizard/Makefile.in +++ /dev/null @@ -1,40 +0,0 @@ -# -# -# -# Copyright (C) 1997-2015 by Dimitri van Heesch. -# -# Permission to use, copy, modify, and distribute this software and its -# documentation under the terms of the GNU General Public License is hereby -# granted. No representations are made about the suitability of this software -# for any purpose. It is provided "as is" without express or implied warranty. -# See the GNU General Public License for more details. -# - -QMAKE=$(QTDIR)/bin/$(QMAKEEXE) $(MKSPECS) -INCBUFSIZE=$(PYTHON) ../../src/increasebuffer.py - -all: Makefile.doxywizard - $(MAKE) -f Makefile.doxywizard LEX=$(LEX) PYTHON=$(PYTHON) INCBUFSIZE="$(INCBUFSIZE)" - -Makefile.doxywizard: doxywizard.pro - $(QMAKE) doxywizard.pro -o Makefile.doxywizard - -qmake: - $(QMAKE) doxywizard.pro -o Makefile.doxywizard - -clean: Makefile.doxywizard - $(MAKE) -f Makefile.doxywizard clean - -distclean: Makefile.doxywizard - $(MAKE) -f Makefile.doxywizard distclean - $(RM) Makefile.doxywizard - -install: - $(INSTTOOL) -d $(INSTALL)/bin - $(INSTTOOL) -m 755 ../../bin/doxywizard $(INSTALL)/bin - $(INSTTOOL) -d $(INSTALL)/$(MAN1DIR) - cat ../../doc/doxywizard.1 | sed -e "s/DATE/$(DATE)/g" -e "s/VERSION/$(VERSION)/g" > doxywizard.1 - $(INSTTOOL) -m 644 doxywizard.1 $(INSTALL)/$(MAN1DIR)/doxywizard.1 - rm doxywizard.1 - -FORCE: diff --git a/addon/doxywizard/config_doxyw.l b/addon/doxywizard/config_doxyw.l index 6402674..3e1c59f 100644 --- a/addon/doxywizard/config_doxyw.l +++ b/addon/doxywizard/config_doxyw.l @@ -12,6 +12,7 @@ * */ +%option never-interactive %{ /* @@ -21,6 +22,8 @@ #include "input.h" #include <QtCore> +#define YY_NO_UNISTD_H 1 + #define MAX_INCLUDE_DEPTH 10 diff --git a/addon/doxywizard/doxywizard.pro.in b/addon/doxywizard/doxywizard.pro.in deleted file mode 100644 index 1ad36a9..0000000 --- a/addon/doxywizard/doxywizard.pro.in +++ /dev/null @@ -1,40 +0,0 @@ -###################################################################### -# Automatically generated by qmake (2.01a) zo okt 19 12:50:02 2008 -###################################################################### - -TEMPLATE = app -DESTDIR = ../../bin -TARGET = -DEPENDPATH += . -INCLUDEPATH += . ../../generated_src/doxywizard -QT += xml -CONFIG += $extraopts -OBJECTS_DIR = ../../objects/doxywizard -MOC_DIR = ../../moc/doxywizard -RCC_DIR = ../../rcc/doxywizard -DEFINES += QT_NO_CAST_FROM_ASCII QT_NO_CAST_TO_ASCII - -macx-g++ { - CONFIG += x86 x86_64 -} - -# Input -HEADERS += doxywizard.h version.h expert.h config.h helplabel.h \ - inputbool.h inputstring.h inputint.h inputstrlist.h wizard.h docintf.h -SOURCES += doxywizard.cpp expert.cpp wizard.cpp \ - inputbool.cpp inputstring.cpp inputint.cpp inputstrlist.cpp -RESOURCES += doxywizard.qrc -win32:RC_FILE += doxywizard.rc - -config.target = ../../generated_src/doxywizard/config_doxyw.cpp -config.commands = $(LEX) -Pconfig_doxywYY -t ../../addon/doxywizard/config_doxyw.l | $(PYTHON) ../../src/increasebuffer.py >../../generated_src/doxywizard/$*.cpp -config.depends = ../../addon/doxywizard/config_doxyw.l ../../src/increasebuffer.py -configdoc.target = ../../generated_src/doxywizard/configdoc.cpp -configdoc.commands = $(PYTHON) ../../src/configgen.py -wiz ../../src/config.xml > ../../generated_src/doxywizard/configdoc.cpp -configdoc.depends = ../../src/config.xml ../../src/configgen.py -version.target = ../../generated_src/doxywizard/version.cpp -version.commands = cd ../../src;$(PYTHON) version.py -version.depends = ../../configure -QMAKE_EXTRA_TARGETS += configdoc config version -GENERATED_SOURCES += $$configdoc.target $$config.target $$version.target - |