diff options
| author | Akaps316 <[email protected]> | 2026-04-04 20:40:34 +0530 |
|---|---|---|
| committer | Akaps316 <[email protected]> | 2026-04-04 20:40:34 +0530 |
| commit | 2bcd211ec0aa155444f0f3e8b428b4fa365d61d4 (patch) | |
| tree | cc651ec21d8cbb7c9f86161b7a62116cf288e433 | |
| parent | 482b81ae5d4dc0bca6d2869c94237b48a55a2cfa (diff) | |
fix(xcode.application): configure dynamic rpath logic and update test env vars
| -rw-r--r-- | tests/projects/objc/macapp_duplicate_rpath/test.lua | 14 | ||||
| -rw-r--r-- | xmake/rules/xcode/application/build.lua | 2 |
2 files changed, 3 insertions, 13 deletions
diff --git a/tests/projects/objc/macapp_duplicate_rpath/test.lua b/tests/projects/objc/macapp_duplicate_rpath/test.lua index f2821df14..561d206cf 100644 --- a/tests/projects/objc/macapp_duplicate_rpath/test.lua +++ b/tests/projects/objc/macapp_duplicate_rpath/test.lua @@ -3,16 +3,6 @@ function main(t) return t:skip("wrong host platform") end - local homedir = path.absolute("home") - os.setenv("HOME", homedir) - os.mkdir(homedir) - os.mkdir(path.join(homedir, ".xmake")) - - local xmake = path.absolute(path.join(os.projectdir(), "build", "xmake")) - local xmake_program_dir = path.absolute(path.join(os.projectdir(), "xmake")) - os.setenv("XMAKE_PROGRAM_FILE", xmake) - os.setenv("XMAKE_PROGRAM_DIR", xmake_program_dir) - - os.execv(xmake, {"f", "-p", "macosx", "-a", os.arch(), "-c"}) - os.execv(xmake, {"-vD"}) + os.execv("xmake", {"f", "-p", "macosx", "-a", os.arch(), "-c"}) + os.execv("xmake", {"-vD"}) end diff --git a/xmake/rules/xcode/application/build.lua b/xmake/rules/xcode/application/build.lua index 57c3655d5..a393ed76b 100644 --- a/xmake/rules/xcode/application/build.lua +++ b/xmake/rules/xcode/application/build.lua @@ -50,7 +50,7 @@ function main (target, opt) -- @see https://github.com/xmake-io/xmake/issues/2679#issuecomment-1221839215 local targetfile = path.join(binarydir, path.filename(target:targetfile())) try { function () os.vrunv("install_name_tool", {"-delete_rpath", "@loader_path", targetfile}) end } - local rpath = "@executable_path/../Frameworks" + local rpath = target:is_plat("macosx") and "@executable_path/../Frameworks" or "@executable_path/Frameworks" local rpathdirs = rpath_utils.list(targetfile, {plat = target:plat(), arch = target:arch()}) or {} if not table.contains(rpathdirs, rpath) then os.vrunv("install_name_tool", {"-add_rpath", rpath, targetfile}) |
