diff options
Diffstat (limited to 'ethutil/common.go')
-rw-r--r-- | ethutil/common.go | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/ethutil/common.go b/ethutil/common.go index efc519732..d439dcedc 100644 --- a/ethutil/common.go +++ b/ethutil/common.go @@ -2,6 +2,7 @@ package ethutil import ( "fmt" + "github.com/kardianos/osext" "math/big" "os/user" "path" @@ -9,6 +10,31 @@ import ( "time" ) +func DefaultAssetPath() string { + var assetPath string + // If the current working directory is the go-ethereum dir + // assume a debug build and use the source directory as + // asset directory. + pwd, _ := os.Getwd() + if pwd == path.Join(os.Getenv("GOPATH"), "src", "github.com", "ethereum", "go-ethereum", "cmd", "mist") { + assetPath = path.Join(pwd, "assets") + } else { + switch runtime.GOOS { + case "darwin": + // Get Binary Directory + exedir, _ := osext.ExecutableFolder() + assetPath = filepath.Join(exedir, "../Resources") + case "linux": + assetPath = "/usr/share/mist" + case "windows": + assetPath = "./assets" + default: + assetPath = "." + } + } + return assetPath +} + func DefaultDataDir() string { usr, _ := user.Current() if runtime.GOOS == "darwin" { |