@@ -65,7 +65,7 @@ public void Preprocess(Driver driver, ASTContext lib)
65
65
method . ExplicitlyIgnore ( ) ;
66
66
}
67
67
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
69
69
var qSignalMapper = lib . FindCompleteClass ( "QSignalMapper" ) ;
70
70
for ( int i = qSignalMapper . Methods . Count - 1 ; i >= 0 ; i -- )
71
71
{
@@ -98,7 +98,8 @@ public void Preprocess(Driver driver, ASTContext lib)
98
98
method . ExplicitlyIgnore ( ) ;
99
99
}
100
100
}
101
- var qCamera = lib . FindCompleteClass ( "QCamera" ) ;
101
+ var qCamera = lib . FindClass ( "QCamera" ) . FirstOrDefault ( c => ! c . IsIncomplete &&
102
+ c . TranslationUnit . Module . OutputNamespace == "QtMultimedia" ) ;
102
103
var qMediaPlayer = lib . FindCompleteClass ( "QMediaPlayer" ) ;
103
104
foreach ( var method in qCamera . Methods . Union ( qMediaPlayer . Methods ) . Where ( m => m . Parameters . Any ( ) ) )
104
105
{
@@ -164,7 +165,9 @@ public void Postprocess(Driver driver, ASTContext lib)
164
165
{
165
166
new ClearCommentsPass ( ) . VisitLibrary ( driver . ASTContext ) ;
166
167
var modules = this . qtInfo . LibFiles . Select ( l => GetModuleNameFromLibFile ( l ) ) ;
168
+ var s = System . Diagnostics . Stopwatch . StartNew ( ) ;
167
169
new GetCommentsFromQtDocsPass ( this . qtInfo . Docs , modules ) . VisitLibrary ( driver . ASTContext ) ;
170
+ System . Console . WriteLine ( "Documentation done in: {0}" , s . Elapsed ) ;
168
171
new CaseRenamePass (
169
172
RenameTargets . Function | RenameTargets . Method | RenameTargets . Property | RenameTargets . Delegate |
170
173
RenameTargets . Field | RenameTargets . Variable ,
@@ -187,6 +190,15 @@ public void Postprocess(Driver driver, ASTContext lib)
187
190
{
188
191
method . ExplicitlyIgnore ( ) ;
189
192
}
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
+ }
190
202
}
191
203
192
204
public void Setup ( Driver driver )
@@ -257,11 +269,6 @@ public void Setup(Driver driver)
257
269
}
258
270
259
271
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 ) ) ;
265
272
}
266
273
267
274
foreach ( var systemIncludeDir in this . qtInfo . SystemIncludeDirs )
0 commit comments