Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/windirstat/premake-4.x-stable.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES.txt1
-rw-r--r--scripts/release.lua19
-rw-r--r--src/actions/make/_make.lua9
-rw-r--r--tests/premake4.lua3
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")