@@ -65,7 +65,7 @@ public void Preprocess(Driver driver, ASTContext lib)
6565 method . ExplicitlyIgnore ( ) ;
6666 }
6767
68- // HACK: forward declarations can enable declarations to use types from other modules; ignore such declarations until properly fixed
68+ // HACK: work around https://github.com/mono/CppSharp/issues/657
6969 var qSignalMapper = lib . FindCompleteClass ( "QSignalMapper" ) ;
7070 for ( int i = qSignalMapper . Methods . Count - 1 ; i >= 0 ; i -- )
7171 {
@@ -98,7 +98,8 @@ public void Preprocess(Driver driver, ASTContext lib)
9898 method . ExplicitlyIgnore ( ) ;
9999 }
100100 }
101- var qCamera = lib . FindCompleteClass ( "QCamera" ) ;
101+ var qCamera = lib . FindClass ( "QCamera" ) . FirstOrDefault ( c => ! c . IsIncomplete &&
102+ c . TranslationUnit . Module . OutputNamespace == "QtMultimedia" ) ;
102103 var qMediaPlayer = lib . FindCompleteClass ( "QMediaPlayer" ) ;
103104 foreach ( var method in qCamera . Methods . Union ( qMediaPlayer . Methods ) . Where ( m => m . Parameters . Any ( ) ) )
104105 {
@@ -164,7 +165,9 @@ public void Postprocess(Driver driver, ASTContext lib)
164165 {
165166 new ClearCommentsPass ( ) . VisitLibrary ( driver . ASTContext ) ;
166167 var modules = this . qtInfo . LibFiles . Select ( l => GetModuleNameFromLibFile ( l ) ) ;
168+ var s = System . Diagnostics . Stopwatch . StartNew ( ) ;
167169 new GetCommentsFromQtDocsPass ( this . qtInfo . Docs , modules ) . VisitLibrary ( driver . ASTContext ) ;
170+ System . Console . WriteLine ( "Documentation done in: {0}" , s . Elapsed ) ;
168171 new CaseRenamePass (
169172 RenameTargets . Function | RenameTargets . Method | RenameTargets . Property | RenameTargets . Delegate |
170173 RenameTargets . Field | RenameTargets . Variable ,
@@ -187,6 +190,15 @@ public void Postprocess(Driver driver, ASTContext lib)
187190 {
188191 method . ExplicitlyIgnore ( ) ;
189192 }
193+
194+ foreach ( var module in driver . Options . Modules )
195+ {
196+ var prefix = Platform . IsWindows ? string . Empty : "lib" ;
197+ var extension = Platform . IsWindows ? ".dll" : Platform . IsMacOS ? ".dylib" : ".so" ;
198+ var inlinesLibraryFile = string . Format ( "{0}{1}{2}" , prefix , module . InlinesLibraryName , extension ) ;
199+ var inlinesLibraryPath = Path . Combine ( driver . Options . OutputDir , Platform . IsWindows ? "release" : string . Empty , inlinesLibraryFile ) ;
200+ this . wrappedModules . Add ( new KeyValuePair < string , string > ( module . LibraryName + ".dll" , inlinesLibraryPath ) ) ;
201+ }
190202 }
191203
192204 public void Setup ( Driver driver )
@@ -257,11 +269,6 @@ public void Setup(Driver driver)
257269 }
258270
259271 driver . Options . Modules . Add ( module ) ;
260- var prefix = Platform . IsWindows ? string . Empty : "lib" ;
261- var extension = Platform . IsWindows ? ".dll" : Platform . IsMacOS ? ".dylib" : ".so" ;
262- var inlinesLibraryFile = string . Format ( "{0}{1}{2}" , prefix , module . InlinesLibraryName , extension ) ;
263- var inlinesLibraryPath = Path . Combine ( driver . Options . OutputDir , Platform . IsWindows ? "release" : string . Empty , inlinesLibraryFile ) ;
264- this . wrappedModules . Add ( new KeyValuePair < string , string > ( module . LibraryName + ".dll" , inlinesLibraryPath ) ) ;
265272 }
266273
267274 foreach ( var systemIncludeDir in this . qtInfo . SystemIncludeDirs )
0 commit comments