Commits

Dimitar Trendafilov committed f7c614e

* fixed linking to dependencies when project has a config map

Comments (0)

Files changed (1)

src/project/config.lua

 			elseif premake.isdotnetproject(source.project) then
 				return premake.isdotnetproject(target.project)
 			end
-		end	
+		end
+
+		local function find_solution_config(buildcfg, configmap)
+			for slnconfig, map in pairs(configmap) do
+				for _, project_config in ipairs(map) do
+					if project_config == buildcfg then
+						return slnconfig
+					end
+				end
+			end
+		end
 
 		for _, link in ipairs(cfg.links) do
 			local item
 			-- is this a sibling project?
 			local prj = premake.solution.findproject(cfg.solution, link)
 			if prj and kind ~= "system" then
-
 				local prjcfg = project.getconfig(prj, cfg.buildcfg, cfg.platform)
+				if not prjcfg then
+					local slnconfig = find_solution_config(cfg.buildcfg, cfg.project.configmap)
+					if slnconfig then
+						prjcfg = project.getconfig(prj, slnconfig, cfg.platform)
+					end
+				end
 				if prjcfg and (kind == "dependencies" or canlink(cfg, prjcfg)) then
 					-- if the caller wants the whole project object, then okay
 					if part == "object" then