1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00

thirdparty/ui for macOS (temporary)

This commit is contained in:
Alexander Medvednikov
2019-11-01 00:57:16 +03:00
parent 71450828bd
commit f8f7881f89
5 changed files with 266 additions and 2 deletions

View File

@@ -172,8 +172,20 @@ fn (v mut V) cc() {
libs += ' ' + path
} else {
println('$path not found... building module $imp')
os.system('$vexe build module vlib${os.path_separator}$imp_path')
if path.ends_with('vlib/ui.o') {
vdir := os.dir(vexe)
println('copying ui...')
os.cp('$vdir/thirdparty/ui/ui.o', path)
os.cp('$vdir/thirdparty/ui/ui.vh', v_modules_path +
'/vlib/ui.vh')
} else {
os.system('$vexe build module vlib${os.path_separator}$imp_path')
}
}
if path.ends_with('vlib/ui.o') {
a << '-framework Cocoa -framework Carbon'
}
}
}
if v.pref.sanitize {

View File

@@ -9,7 +9,8 @@ module darwin
struct C.NSString { }
// macOS and iOS helpers
pub fn nsstring(s string) *C.NSString {
//pub fn nsstring(s string) *C.NSString {
pub fn nsstring(s string) voidptr {
// println('ns $s len=$s.len')
# return [ [ NSString alloc ] initWithBytesNoCopy:s.str length:s.len
# encoding:NSUTF8StringEncoding freeWhenDone: false];

View File

@@ -126,6 +126,15 @@ pub fn mv(old, new string) {
}
}
// TODO implement actual cp()
pub fn cp(old, new string) {
$if windows {
panic('not implemented')
} $else {
os.system('cp $old $new')
}
}
fn vfopen(path, mode string) *C.FILE {
$if windows {
return C._wfopen(path.to_wide(), mode.to_wide())