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.txt3
-rw-r--r--samples/project/premake4.lua4
-rw-r--r--src/base/api.lua3
-rw-r--r--src/base/configs.lua2
-rw-r--r--tests/test_api.lua9
5 files changed, 8 insertions, 13 deletions
diff --git a/CHANGES.txt b/CHANGES.txt
index a1c538c..5ba2578 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -24,7 +24,8 @@
RC2 -> RC3
-- Bug 2805763: GCC PCH issues
+- Bug 2805763: GCC PCH breaks on path
+- Bug 2709641: Location field does not propagate to projects
RC1 -> RC2
diff --git a/samples/project/premake4.lua b/samples/project/premake4.lua
index eadf648..582cec4 100644
--- a/samples/project/premake4.lua
+++ b/samples/project/premake4.lua
@@ -1,6 +1,8 @@
solution "PremakeTestbox"
configurations { "Debug", "Release" }
-
+
+ location "build"
+
-- solution level configuration
configuration "Debug"
diff --git a/src/base/api.lua b/src/base/api.lua
index 80796e0..67a5d03 100644
--- a/src/base/api.lua
+++ b/src/base/api.lua
@@ -591,7 +591,6 @@
prj.solution = sln
prj.name = name
prj.basedir = os.getcwd()
- prj.location = prj.basedir
prj.uuid = os.uuid()
prj.blocks = { }
end
@@ -627,7 +626,7 @@
})
sln.name = name
- sln.location = os.getcwd()
+ sln.basedir = os.getcwd()
sln.projects = { }
sln.blocks = { }
sln.configurations = { }
diff --git a/src/base/configs.lua b/src/base/configs.lua
index 1aa64f0..9fcf1ca 100644
--- a/src/base/configs.lua
+++ b/src/base/configs.lua
@@ -421,11 +421,13 @@
-- convert project path fields to be relative to project location
for _, sln in ipairs(_SOLUTIONS) do
for _, prj in ipairs(sln.projects) do
+ prj.location = prj.location or sln.location or prj.basedir
adjustpaths(prj.location, prj)
for _, blk in ipairs(prj.blocks) do
adjustpaths(prj.location, blk)
end
end
+ sln.location = sln.location or sln.basedir
end
-- collapse configuration blocks, so that there is only one block per build
diff --git a/tests/test_api.lua b/tests/test_api.lua
index 342ae02..44262c1 100644
--- a/tests/test_api.lua
+++ b/tests/test_api.lua
@@ -181,10 +181,6 @@
test.isequal("MySolution", sln.name)
end
- function T.api.solution_SetsLocation_OnNewName()
- test.isequal(os.getcwd(), sln.location)
- end
-
function T.api.solution_AddsNewConfig_OnNewName()
test.istrue(#sln.blocks == 1)
end
@@ -293,11 +289,6 @@
test.isequal("MyProject", prj.name)
end
- function T.api.project_SetsLocation_OnNewName()
- prj = project("MyProject")
- test.isequal(os.getcwd(), prj.location)
- end
-
function T.api.project_SetsSolution_OnNewName()
prj = project("MyProject")
test.istrue(sln == prj.solution)