2
0
Эх сурвалжийг харах

[cs] Use mkdir_from_path instead of own mkdir implementation

Cauê Waneck 11 жил өмнө
parent
commit
e41ad91928
2 өөрчлөгдсөн 8 нэмэгдсэн , 15 устгасан
  1. 1 11
      gencommon.ml
  2. 7 4
      gencs.ml

+ 1 - 11
gencommon.ml

@@ -918,17 +918,7 @@ let write_file gen w source_dir path extension =
 	let t = timer "write file" in
 	let s_path = source_dir	^ "/" ^ (snd path) ^ "." ^ (extension) in
 	(* create the folders if they don't exist *)
-	let rec create acc = function
-		| [] -> ()
-		| d :: l ->
-				if d <> "" then begin
-					let dir = String.concat "/" (List.rev (d :: acc)) in
-					if not (Sys.file_exists dir) then Unix.mkdir dir 0o755
-				end;
-				create (d :: acc) l
-	in
-	let p = (String.nsplit source_dir "/") in
-	create [] p;
+	mkdir_from_path s_path;
 
 	let contents = SourceWriter.contents w in
 	let should_write = if not (Common.defined gen.gcon Define.ReplaceFiles) && Sys.file_exists s_path then begin

+ 7 - 4
gencs.ml

@@ -2652,11 +2652,14 @@ let configure gen =
 
 	(* copy resource files *)
 	if Hashtbl.length gen.gcon.resources > 0 then begin
-		mkdir gen.gcon.file;
-		mkdir (gen.gcon.file ^ "/src");
-		mkdir (gen.gcon.file ^ "/src/Resources");
+		let src =
+			if Common.defined gen.gcon Define.UnityStdTarget then
+				Common.defined_value gen.gcon Define.UnityStdTarget ^ "/../Resources"
+			else
+				gen.gcon.file ^ "/src/Resources"
+		in
 		Hashtbl.iter (fun name v ->
-			let full_path = gen.gcon.file ^ "/src/Resources/" ^ name in
+			let full_path = src ^ "/" ^ name in
 			mkdir_from_path full_path;
 
 			let f = open_out full_path in