2022-05-15 03:05:31 +00:00
|
|
|
package main
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"fmt"
|
|
|
|
|
"github.com/orestonce/go2cpp"
|
|
|
|
|
"m3u8d"
|
|
|
|
|
"os"
|
|
|
|
|
"os/exec"
|
|
|
|
|
"path/filepath"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func main() {
|
2022-06-20 23:28:58 +00:00
|
|
|
BuildCliBinary() // 编译二进制
|
2022-05-29 09:43:00 +00:00
|
|
|
CreateLibForQtUi() // 创建Qt需要使用的.a库文件
|
2022-05-15 03:05:31 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func BuildCliBinary() {
|
|
|
|
|
wd, err := os.Getwd()
|
|
|
|
|
if err != nil {
|
|
|
|
|
panic(err)
|
|
|
|
|
}
|
|
|
|
|
type buildCfg struct {
|
|
|
|
|
GOOS string
|
|
|
|
|
GOARCH string
|
|
|
|
|
Ext string
|
|
|
|
|
}
|
|
|
|
|
var list = []buildCfg{
|
|
|
|
|
{
|
|
|
|
|
GOOS: "linux",
|
|
|
|
|
GOARCH: "386",
|
|
|
|
|
},
|
2022-05-28 02:11:38 +00:00
|
|
|
{
|
|
|
|
|
GOOS: "linux",
|
|
|
|
|
GOARCH: "arm",
|
|
|
|
|
},
|
2022-05-15 03:05:31 +00:00
|
|
|
{
|
|
|
|
|
GOOS: "darwin",
|
|
|
|
|
GOARCH: "amd64",
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
for _, cfg := range list {
|
2022-06-20 23:28:58 +00:00
|
|
|
name := "m3u8d_cli_v1.4_" + cfg.GOOS + "_" + cfg.GOARCH + cfg.Ext
|
2022-05-15 03:05:31 +00:00
|
|
|
cmd := exec.Command("go", "build", "-o", filepath.Join(wd, "bin", name))
|
|
|
|
|
cmd.Dir = filepath.Join(wd, "cmd")
|
|
|
|
|
cmd.Env = append(os.Environ(), "GOOS="+cfg.GOOS)
|
|
|
|
|
cmd.Env = append(cmd.Env, "GOARCH="+cfg.GOARCH)
|
|
|
|
|
cmd.Stdout = os.Stdout
|
|
|
|
|
cmd.Stderr = os.Stderr
|
|
|
|
|
err = cmd.Run()
|
|
|
|
|
if err != nil {
|
|
|
|
|
fmt.Println(cmd.Dir)
|
|
|
|
|
panic(err)
|
|
|
|
|
}
|
|
|
|
|
fmt.Println("done", name)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func CreateLibForQtUi() {
|
|
|
|
|
ctx := go2cpp.NewGo2cppContext(go2cpp.NewGo2cppContext_Req{
|
|
|
|
|
CppBaseName: "m3u8d",
|
|
|
|
|
EnableQtClass_RunOnUiThread: true,
|
|
|
|
|
EnableQtClass_Toast: true,
|
|
|
|
|
})
|
|
|
|
|
ctx.Generate1(m3u8d.RunDownload)
|
2022-06-12 14:43:20 +00:00
|
|
|
ctx.Generate1(m3u8d.CloseOldEnv)
|
2022-05-15 03:05:31 +00:00
|
|
|
ctx.Generate1(m3u8d.GetProgress)
|
|
|
|
|
ctx.Generate1(m3u8d.GetWd)
|
|
|
|
|
ctx.MustCreateAmd64LibraryInDir("m3u8d-qt")
|
2022-05-29 09:43:00 +00:00
|
|
|
}
|