mirror of
https://github.com/mappu/miqt.git
synced 2025-05-16 08:20:21 +00:00
genbindings/libraries: add OnlyHeaders/ExceptHeaders helpers
This commit is contained in:
parent
862bd100f4
commit
ccbfaf0819
cmd/genbindings
@ -8,6 +8,16 @@ import (
|
|||||||
func ProcessLibraries(clangBin, outDir, extraLibsDir string) {
|
func ProcessLibraries(clangBin, outDir, extraLibsDir string) {
|
||||||
|
|
||||||
AllowAllHeaders := func(string) bool { return true }
|
AllowAllHeaders := func(string) bool { return true }
|
||||||
|
OnlyHeaders := func(s ...string) func(fullpath string) bool {
|
||||||
|
return func(fullpath string) bool {
|
||||||
|
return slice_contains(s, filepath.Base(fullpath))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ExceptHeaders := func(s ...string) func(fullpath string) bool {
|
||||||
|
return func(fullpath string) bool {
|
||||||
|
return !slice_contains(s, filepath.Base(fullpath))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
flushKnownTypes()
|
flushKnownTypes()
|
||||||
InsertTypedefs(false)
|
InsertTypedefs(false)
|
||||||
@ -150,14 +160,7 @@ func ProcessLibraries(clangBin, outDir, extraLibsDir string) {
|
|||||||
"/usr/include/x86_64-linux-gnu/qt5/QtWebEngineCore",
|
"/usr/include/x86_64-linux-gnu/qt5/QtWebEngineCore",
|
||||||
"/usr/include/x86_64-linux-gnu/qt5/QtWebEngineWidgets",
|
"/usr/include/x86_64-linux-gnu/qt5/QtWebEngineWidgets",
|
||||||
},
|
},
|
||||||
|
ExceptHeaders("qquickwebengineprofile.h", "qquickwebenginescript.h"),
|
||||||
func(fullpath string) bool {
|
|
||||||
baseName := filepath.Base(fullpath)
|
|
||||||
if baseName == "qquickwebengineprofile.h" || baseName == "qquickwebenginescript.h" {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
return true
|
|
||||||
},
|
|
||||||
clangBin,
|
clangBin,
|
||||||
pkgConfigCflags("Qt5WebEngineWidgets"),
|
pkgConfigCflags("Qt5WebEngineWidgets"),
|
||||||
outDir,
|
outDir,
|
||||||
@ -280,10 +283,7 @@ func ProcessLibraries(clangBin, outDir, extraLibsDir string) {
|
|||||||
[]string{
|
[]string{
|
||||||
"/usr/include/x86_64-linux-gnu/qt6/QtNetwork",
|
"/usr/include/x86_64-linux-gnu/qt6/QtNetwork",
|
||||||
},
|
},
|
||||||
func(fullpath string) bool {
|
ExceptHeaders("qtnetwork-config.h"),
|
||||||
fname := filepath.Base(fullpath)
|
|
||||||
return fname != "qtnetwork-config.h"
|
|
||||||
},
|
|
||||||
clangBin,
|
clangBin,
|
||||||
"--std=c++17 "+pkgConfigCflags("Qt6Network"),
|
"--std=c++17 "+pkgConfigCflags("Qt6Network"),
|
||||||
outDir,
|
outDir,
|
||||||
|
@ -54,3 +54,12 @@ func slice_copy[T comparable](input []T) []T {
|
|||||||
}
|
}
|
||||||
return ret
|
return ret
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func slice_contains[T comparable](input []T, search T) bool {
|
||||||
|
for _, elem := range input {
|
||||||
|
if elem == search {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false // not found
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user