Browse Source

Allow passing config macros from env (#2147)

云风 5 years ago
parent
commit
79166dfe17
2 changed files with 18 additions and 5 deletions
  1. 1 3
      scripts/bgfx.lua
  2. 17 2
      scripts/genie.lua

+ 1 - 3
scripts/bgfx.lua

@@ -79,9 +79,7 @@ function bgfxProjectBase(_kind, _defines)
 		path.join(BIMG_DIR, "include"),
 	}
 
-	defines {
-		_defines,
-	}
+	defines (_defines)
 
 	links {
 		"bx",

+ 17 - 2
scripts/genie.lua

@@ -498,7 +498,22 @@ end
 dofile "bgfx.lua"
 
 group "libs"
-bgfxProject("", "StaticLib", {})
+
+local function userdefines()
+	local defines = {}
+	local BGFX_CONFIG = os.getenv("BGFX_CONFIG")
+	if BGFX_CONFIG then
+		for def in BGFX_CONFIG:gmatch "[^%s:]+" do
+			table.insert(defines, "BGFX_CONFIG_" .. def)
+		end
+	end
+
+	return defines
+end
+
+BGFX_CONFIG = userdefines()
+
+bgfxProject("", "StaticLib", BGFX_CONFIG)
 
 dofile(path.join(BX_DIR,   "scripts/bx.lua"))
 dofile(path.join(BIMG_DIR, "scripts/bimg.lua"))
@@ -575,7 +590,7 @@ end
 
 if _OPTIONS["with-shared-lib"] then
 	group "libs"
-	bgfxProject("-shared-lib", "SharedLib", {})
+	bgfxProject("-shared-lib", "SharedLib", BGFX_CONFIG)
 end
 
 if _OPTIONS["with-tools"] then