diff options
-rw-r--r-- | CHANGES.txt | 1 | ||||
-rw-r--r-- | scripts/release.lua | 19 | ||||
-rw-r--r-- | src/actions/make/_make.lua | 9 | ||||
-rw-r--r-- | tests/premake4.lua | 3 |
4 files changed, 16 insertions, 16 deletions
diff --git a/CHANGES.txt b/CHANGES.txt index fcc2a15..7c53e37 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -15,6 +15,7 @@ * Bug 2997728: Project dependencies should be case-sensitive * Bug 3056381: Xcode project breaks on special chars * Bug 3007101: Generating PDB in Release builds is not supported +* Bug 2971841: Gmake escaping of shell variable $(...) is broken * Fixed handling of icons in Xcode (bitshifter) * Added imagepath to set Xbox360 image file name (Jarod) * Patch 3063804: Set CompileAs flag for VS200x C projects (rjmyst3) diff --git a/scripts/release.lua b/scripts/release.lua index 53de20f..f15155e 100644 --- a/scripts/release.lua +++ b/scripts/release.lua @@ -98,22 +98,15 @@ function dorelease() -- --------------------------------------------------------------------------- --- --- Create a directory to hold the release --- - - local workdir = "premake-" .. version - os.mkdir("release/" .. workdir) - os.chdir("release/" .. workdir) - - -- -- Check out the release tagged sources to releases/ -- print("Downloading release tag...") - - -- hg clone -r {tag} https://bitbucket.org/premake/premake-stable . + + os.chdir("release") + -- hg clone -r {tag} https://bitbucket.org/premake/premake-stable premake-{version} + os.chdir("premake-" .. version) -- @@ -200,11 +193,11 @@ function dorelease() print("Building platform binary release...") - -- IMPORTANT: Mac binary needs to be build in Xcode to ensure 10.5 + -- IMPORTANT: Mac binary needs to be built in Xcode to ensure 10.5 -- compatibility right now. I haven't been able to figure out the -- right flags to make it work from a makefile yet. -- - -- In Xcode, open the inspector for the target. Set the architecture + -- In Xcode, open the inspector for the TARGET Set the architecture -- to 32-bit universal, and the base SDK to 10.5. exec("premake4 /platform=universal32 gmake") diff --git a/src/actions/make/_make.lua b/src/actions/make/_make.lua index 4be9c59..9a129cf 100644 --- a/src/actions/make/_make.lua +++ b/src/actions/make/_make.lua @@ -12,19 +12,22 @@ -- function _MAKE.esc(value) + local result if (type(value) == "table") then - local result = { } + result = { } for _,v in ipairs(value) do table.insert(result, _MAKE.esc(v)) end return result else - if not value then print(debug.traceback()) end - local result + -- handle simple replacements result = value:gsub("\\", "\\\\") result = result:gsub(" ", "\\ ") result = result:gsub("%(", "\\%(") result = result:gsub("%)", "\\%)") + + -- leave $(...) shell replacement sequences alone + result = result:gsub("$\\%((.-)\\%)", "$%(%1%)") return result end end diff --git a/tests/premake4.lua b/tests/premake4.lua index 42ae928..237f9ea 100644 --- a/tests/premake4.lua +++ b/tests/premake4.lua @@ -73,6 +73,9 @@ dofile("actions/vstudio/test_vs2010_filters.lua") dofile("actions/vstudio/test_vs2010_project_kinds.lua") + -- Makefile tests + dofile("actions/make/test_make_escaping.lua") + -- Xcode tests dofile("actions/xcode/test_xcode_common.lua") dofile("actions/xcode/test_xcode_project.lua") |