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

github.com/windirstat/premake-4.x.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorstarkos <unknown>2009-04-24 17:18:46 +0400
committerstarkos <unknown>2009-04-24 17:18:46 +0400
commit7e973368beaf13deb9568501d7758e138e289584 (patch)
tree0e517a57fb91bc3a1c773470d847b32922c6caa6 /src/actions
parentf46e63df23817d5eb941e4f742f827af502c3c95 (diff)
Added platform support to Code::Blocks
Diffstat (limited to 'src/actions')
-rw-r--r--src/actions/codeblocks/codeblocks_cbp.lua134
1 files changed, 72 insertions, 62 deletions
diff --git a/src/actions/codeblocks/codeblocks_cbp.lua b/src/actions/codeblocks/codeblocks_cbp.lua
index ef52a13..f88c7a1 100644
--- a/src/actions/codeblocks/codeblocks_cbp.lua
+++ b/src/actions/codeblocks/codeblocks_cbp.lua
@@ -17,83 +17,93 @@
_p('\t\t<Option title="%s" />', premake.esc(prj.name))
_p('\t\t<Option pch_mode="2" />')
_p('\t\t<Option compiler="%s" />', _OPTIONS.cc)
+
+ -- build a list of supported target platforms that also includes a generic build
+ local platforms = premake.filterplatforms(prj.solution, cc.platforms, "Native")
-- write configuration blocks
_p('\t\t<Build>')
- for cfg in premake.eachconfig(prj) do
- _p('\t\t\t<Target title="%s">', premake.esc(cfg.name))
-
- _p('\t\t\t\t<Option output="%s" prefix_auto="0" extension_auto="0" />', premake.esc(cfg.buildtarget.fullpath))
- _p('\t\t\t\t<Option object_output="%s" />', premake.esc(cfg.objectsdir))
+ for _, platform in ipairs(platforms) do
+ for cfg in premake.eachconfig(prj, platform) do
+
+ local name = cfg.name
+ if platform ~= "Native" then
+ name = name .. "|" .. platform
+ end
+ _p('\t\t\t<Target title="%s">', premake.esc(name))
+
+ _p('\t\t\t\t<Option output="%s" prefix_auto="0" extension_auto="0" />', premake.esc(cfg.buildtarget.fullpath))
+ _p('\t\t\t\t<Option object_output="%s" />', premake.esc(cfg.objectsdir))
- -- identify the type of binary
- local types = { WindowedApp = 0, ConsoleApp = 1, StaticLib = 2, SharedLib = 3 }
- _p('\t\t\t\t<Option type="%d" />', types[cfg.kind])
+ -- identify the type of binary
+ local types = { WindowedApp = 0, ConsoleApp = 1, StaticLib = 2, SharedLib = 3 }
+ _p('\t\t\t\t<Option type="%d" />', types[cfg.kind])
- _p('\t\t\t\t<Option compiler="%s" />', _OPTIONS.cc)
-
- if (cfg.kind == "SharedLib") then
- _p('\t\t\t\t<Option createDefFile="0" />')
- _p('\t\t\t\t<Option createStaticLib="%s" />', iif(cfg.flags.NoImportLib, 0, 1))
- end
+ _p('\t\t\t\t<Option compiler="%s" />', _OPTIONS.cc)
+
+ if (cfg.kind == "SharedLib") then
+ _p('\t\t\t\t<Option createDefFile="0" />')
+ _p('\t\t\t\t<Option createStaticLib="%s" />', iif(cfg.flags.NoImportLib, 0, 1))
+ end
- -- begin compiler block --
- _p('\t\t\t\t<Compiler>')
- for _,flag in ipairs(table.join(cc.getcflags(cfg), cc.getcxxflags(cfg), cc.getdefines(cfg.defines), cfg.buildoptions)) do
- _p('\t\t\t\t\t<Add option="%s" />', premake.esc(flag))
- end
- if not cfg.flags.NoPCH and cfg.pchheader then
- _p('\t\t\t\t\t<Add option="-Winvalid-pch" />')
- _p('\t\t\t\t\t<Add option="-include &quot;%s&quot;" />', premake.esc(cfg.pchheader))
- end
- for _,v in ipairs(cfg.includedirs) do
- _p('\t\t\t\t\t<Add directory="%s" />', premake.esc(v))
- end
- _p('\t\t\t\t</Compiler>')
- -- end compiler block --
-
- -- begin linker block --
- _p('\t\t\t\t<Linker>')
- for _,flag in ipairs(table.join(cc.getldflags(cfg), cfg.linkoptions)) do
- _p('\t\t\t\t\t<Add option="%s" />', premake.esc(flag))
- end
- for _,v in ipairs(premake.getlinks(cfg, "all", "directory")) do
- _p('\t\t\t\t\t<Add directory="%s" />', premake.esc(v))
- end
- for _,v in ipairs(premake.getlinks(cfg, "all", "basename")) do
- _p('\t\t\t\t\t<Add library="%s" />', premake.esc(v))
- end
- _p('\t\t\t\t</Linker>')
- -- end linker block --
-
- -- begin resource compiler block --
- if premake.findfile(cfg, ".rc") then
- _p('\t\t\t\t<ResourceCompiler>')
+ -- begin compiler block --
+ _p('\t\t\t\t<Compiler>')
+ for _,flag in ipairs(table.join(cc.getcflags(cfg), cc.getcxxflags(cfg), cc.getdefines(cfg.defines), cfg.buildoptions)) do
+ _p('\t\t\t\t\t<Add option="%s" />', premake.esc(flag))
+ end
+ if not cfg.flags.NoPCH and cfg.pchheader then
+ _p('\t\t\t\t\t<Add option="-Winvalid-pch" />')
+ _p('\t\t\t\t\t<Add option="-include &quot;%s&quot;" />', premake.esc(cfg.pchheader))
+ end
for _,v in ipairs(cfg.includedirs) do
_p('\t\t\t\t\t<Add directory="%s" />', premake.esc(v))
end
- for _,v in ipairs(cfg.resincludedirs) do
+ _p('\t\t\t\t</Compiler>')
+ -- end compiler block --
+
+ -- begin linker block --
+ _p('\t\t\t\t<Linker>')
+ for _,flag in ipairs(table.join(cc.getldflags(cfg), cfg.linkoptions)) do
+ _p('\t\t\t\t\t<Add option="%s" />', premake.esc(flag))
+ end
+ for _,v in ipairs(premake.getlinks(cfg, "all", "directory")) do
_p('\t\t\t\t\t<Add directory="%s" />', premake.esc(v))
end
- _p('\t\t\t\t</ResourceCompiler>')
- end
- -- end resource compiler block --
-
- -- begin build steps --
- if #cfg.prebuildcommands > 0 or #cfg.postbuildcommands > 0 then
- _p('\t\t\t\t<ExtraCommands>')
- for _,v in ipairs(cfg.prebuildcommands) do
- _p('\t\t\t\t\t<Add before="%s" />', premake.esc(v))
+ for _,v in ipairs(premake.getlinks(cfg, "all", "basename")) do
+ _p('\t\t\t\t\t<Add library="%s" />', premake.esc(v))
end
- for _,v in ipairs(cfg.postbuildcommands) do
- _p('\t\t\t\t\t<Add after="%s" />', premake.esc(v))
+ _p('\t\t\t\t</Linker>')
+ -- end linker block --
+
+ -- begin resource compiler block --
+ if premake.findfile(cfg, ".rc") then
+ _p('\t\t\t\t<ResourceCompiler>')
+ for _,v in ipairs(cfg.includedirs) do
+ _p('\t\t\t\t\t<Add directory="%s" />', premake.esc(v))
+ end
+ for _,v in ipairs(cfg.resincludedirs) do
+ _p('\t\t\t\t\t<Add directory="%s" />', premake.esc(v))
+ end
+ _p('\t\t\t\t</ResourceCompiler>')
end
+ -- end resource compiler block --
+
+ -- begin build steps --
+ if #cfg.prebuildcommands > 0 or #cfg.postbuildcommands > 0 then
+ _p('\t\t\t\t<ExtraCommands>')
+ for _,v in ipairs(cfg.prebuildcommands) do
+ _p('\t\t\t\t\t<Add before="%s" />', premake.esc(v))
+ end
+ for _,v in ipairs(cfg.postbuildcommands) do
+ _p('\t\t\t\t\t<Add after="%s" />', premake.esc(v))
+ end
- _p('\t\t\t\t</ExtraCommands>')
+ _p('\t\t\t\t</ExtraCommands>')
+ end
+ -- end build steps --
+
+ _p('\t\t\t</Target>')
end
- -- end build steps --
-
- _p('\t\t\t</Target>')
end
_p('\t\t</Build>')