mirror of
https://github.com/bluszcz/cutego.git
synced 2024-09-28 21:25:16 +03:00
fix recursive bug in qtmoc + remove std installation in qtsetup
This commit is contained in:
parent
5751299dd5
commit
8dbcd7aecc
3 changed files with 39 additions and 22 deletions
|
@ -24,29 +24,19 @@ func install(buildTarget string) {
|
|||
|
||||
var env, tagFlags = getEnvAndTagflags(buildTarget)
|
||||
|
||||
if buildTarget != "desktop" || (runtime.GOOS == "windows" && buildTarget == "desktop") {
|
||||
if buildTarget == "sailfish" {
|
||||
var _, err = ioutil.ReadDir(filepath.Join(runtime.GOROOT(), "bin", "linux_386"))
|
||||
if err != nil {
|
||||
var build = exec.Command(filepath.Join(runtime.GOROOT(), "src", func() string {
|
||||
if runtime.GOOS == "windows" {
|
||||
return "run.bat"
|
||||
}
|
||||
return "run.bash"
|
||||
}()))
|
||||
for key, value := range env {
|
||||
build.Env = append(build.Env, fmt.Sprintf("%v=%v", key, value))
|
||||
if buildTarget == "sailfish" {
|
||||
var _, err = ioutil.ReadDir(filepath.Join(runtime.GOROOT(), "bin", "linux_386"))
|
||||
if err != nil {
|
||||
var build = exec.Command(filepath.Join(runtime.GOROOT(), "src", func() string {
|
||||
if runtime.GOOS == "windows" {
|
||||
return "run.bat"
|
||||
}
|
||||
build.Run()
|
||||
return "run.bash"
|
||||
}()))
|
||||
for key, value := range env {
|
||||
build.Env = append(build.Env, fmt.Sprintf("%v=%v", key, value))
|
||||
}
|
||||
}
|
||||
|
||||
utils.RunCmd(installPkgCmd(buildTarget, tagFlags, "std", env), "install.std")
|
||||
//also install armv7 std
|
||||
if buildTarget == "ios" {
|
||||
var cmd = installPkgCmd(buildTarget, tagFlags, "std", env)
|
||||
cmd.Env = append(strings.Split(strings.Replace(strings.Replace(strings.Join(cmd.Env, "|"), "-arch arm64", "-arch armv7", -1), "arm64", "arm", -1), "|"), "GOARM=7")
|
||||
utils.RunCmd(cmd, "install.std")
|
||||
build.Run()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -74,6 +74,33 @@ func (c *Class) GetAllBases() []string {
|
|||
return input
|
||||
}
|
||||
|
||||
func (c *Class) GetAllBasesRecursiveCheckFailed(i int) ([]string, bool) {
|
||||
var input = make([]string, 0)
|
||||
|
||||
i++
|
||||
if i > 100 {
|
||||
return input, true
|
||||
}
|
||||
|
||||
for _, b := range c.GetBases() {
|
||||
var bc, exists = CurrentState.ClassMap[b]
|
||||
if !exists {
|
||||
continue
|
||||
}
|
||||
|
||||
input = append(input, b)
|
||||
var bs, isRecursive = bc.GetAllBasesRecursiveCheckFailed(i)
|
||||
if isRecursive {
|
||||
return input, true
|
||||
}
|
||||
for _, sbc := range bs {
|
||||
input = append(input, sbc)
|
||||
}
|
||||
}
|
||||
|
||||
return input, false
|
||||
}
|
||||
|
||||
func (c *Class) IsSubClassOfQObject() bool {
|
||||
return c.IsSubClassOf("QObject")
|
||||
}
|
||||
|
|
|
@ -57,7 +57,7 @@ func cacheModules() (err error) {
|
|||
// return how many moc classes are in module, delete those that are not
|
||||
func (m *appMoc) cleanupClassMap() (size int) {
|
||||
for _, class := range m.module.Namespace.Classes {
|
||||
if !class.IsSubClassOfQObject() {
|
||||
if _, failed := class.GetAllBasesRecursiveCheckFailed(0); failed || !class.IsSubClassOfQObject() {
|
||||
delete(parser.CurrentState.ClassMap, class.Name)
|
||||
} else {
|
||||
size++
|
||||
|
|
Loading…
Reference in a new issue