mirror of
https://github.com/koho/frpmgr.git
synced 2025-10-20 07:33:47 +08:00
* Support for ARM64 * Rename environment variable * Switch to MinGW toolchain * Fix invalid path * Fix error handling * Fix error level * Delete installer/actions/actions.def
61 lines
1.4 KiB
Go
61 lines
1.4 KiB
Go
//go:build ignore
|
|
|
|
// generates resource files.
|
|
|
|
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
"os/exec"
|
|
"path/filepath"
|
|
"strings"
|
|
"time"
|
|
|
|
"github.com/koho/frpmgr/pkg/version"
|
|
)
|
|
|
|
var versionArray = strings.ReplaceAll(version.Number, ".", ",")
|
|
|
|
func main() {
|
|
rcFiles, err := filepath.Glob("cmd/*/*.rc")
|
|
if err != nil {
|
|
println(err.Error())
|
|
os.Exit(1)
|
|
}
|
|
arch := os.Getenv("FRPMGR_TARGET")
|
|
if arch == "" {
|
|
arch = os.Getenv("GOARCH")
|
|
}
|
|
for _, arch := range strings.Split(arch, " ") {
|
|
var args []string
|
|
var goArch string
|
|
switch strings.TrimSpace(arch) {
|
|
case "x64", "amd64":
|
|
goArch = "amd64"
|
|
args = append(args, "windres", "-F", "pe-x86-64")
|
|
case "x86", "386":
|
|
goArch = "386"
|
|
args = append(args, "windres", "-F", "pe-i386")
|
|
case "arm64":
|
|
goArch = "arm64"
|
|
args = append(args, "aarch64-w64-mingw32-windres")
|
|
default:
|
|
continue
|
|
}
|
|
for _, rc := range rcFiles {
|
|
output := strings.TrimSuffix(rc, filepath.Ext(rc)) + fmt.Sprintf("_windows_%s.syso", goArch)
|
|
res, err := exec.Command(args[0], append([]string{
|
|
"-DVERSION_ARRAY=" + versionArray, "-DVERSION_STR=" + version.Number,
|
|
"-i", rc, "-o", output, "-O", "coff", "-c", "65001",
|
|
}, args[1:]...)...).CombinedOutput()
|
|
if err != nil {
|
|
println(err.Error(), string(res))
|
|
os.Exit(1)
|
|
}
|
|
}
|
|
}
|
|
fmt.Println("VERSION=" + version.Number)
|
|
fmt.Println("BUILD_DATE=" + time.Now().Format(time.DateOnly))
|
|
}
|