diff options
Diffstat (limited to 'scripts/src/main.lua')
-rw-r--r-- | scripts/src/main.lua | 205 |
1 files changed, 78 insertions, 127 deletions
diff --git a/scripts/src/main.lua b/scripts/src/main.lua index ce31dd7f5c4..c638c852350 100644 --- a/scripts/src/main.lua +++ b/scripts/src/main.lua @@ -10,18 +10,20 @@ --------------------------------------------------------------------------- function mainProject(_target, _subtarget) -local projname if (_OPTIONS["SOURCES"] == nil) then if (_target == _subtarget) then - projname = _target + project (_target) else - projname = _target .. _subtarget + if (_subtarget=="mess") then + project (_subtarget) + else + project (_target .. _subtarget) + end end else - projname = _subtarget + project (_subtarget) end - project (projname) - uuid (os.uuid(_target .. "_" .. _subtarget)) + uuid (os.uuid(_target .."_" .. _subtarget)) kind "ConsoleApp" configuration { "android*" } @@ -55,18 +57,30 @@ end } end - configuration { "Release" } + configuration { "x64", "Release" } targetsuffix "" if _OPTIONS["PROFILE"] then targetsuffix "p" end - configuration { "Debug" } + configuration { "x64", "Debug" } targetsuffix "d" if _OPTIONS["PROFILE"] then targetsuffix "dp" end + configuration { "x32", "Release" } + targetsuffix "32" + if _OPTIONS["PROFILE"] then + targetsuffix "32p" + end + + configuration { "x32", "Debug" } + targetsuffix "32d" + if _OPTIONS["PROFILE"] then + targetsuffix "32dp" + end + configuration { "mingw*" or "vs20*" } targetextension ".exe" @@ -107,6 +121,12 @@ end if (STANDALONE~=true) then findfunction("linkProjects_" .. _OPTIONS["target"] .. "_" .. _OPTIONS["subtarget"])(_OPTIONS["target"], _OPTIONS["subtarget"]) end + links { + "osd_" .. _OPTIONS["osd"], + } + links { + "qtdbg_" .. _OPTIONS["osd"], + } if (STANDALONE~=true) then links { "frontend", @@ -116,12 +136,6 @@ end "optional", "emu", } - links { - "osd_" .. _OPTIONS["osd"], - } - links { - "qtdbg_" .. _OPTIONS["osd"], - } --if (STANDALONE~=true) then links { "formats", @@ -194,8 +208,7 @@ end override_resources = false; - maintargetosdoptions(_target, _subtarget) - local exename = projname -- FIXME: should include the OSD prefix if any + maintargetosdoptions(_target,_subtarget) includedirs { MAME_DIR .. "src/osd", @@ -206,23 +219,11 @@ end MAME_DIR .. "src/lib/util", MAME_DIR .. "3rdparty", GEN_DIR .. _target .. "/layout", + GEN_DIR .. "resource", ext_includedir("zlib"), ext_includedir("flac"), } - resincludedirs { - MAME_DIR .. "scripts/resources/windows/" .. _target, - GEN_DIR .. "resource", - } - - configuration { "vs20*"} - -- See https://github.com/bkaradzic/GENie/issues/544 - includedirs { - MAME_DIR .. "scripts/resources/windows/" .. _target, - GEN_DIR .. "resource", - } - configuration { } - if (STANDALONE==true) then standalone(); @@ -230,147 +231,97 @@ end if (STANDALONE~=true) then if _OPTIONS["targetos"]=="macosx" and (not override_resources) then - local plistname = _target .. "_" .. _subtarget .. "-Info.plist" linkoptions { - "-sectcreate __TEXT __info_plist " .. _MAKE.esc(GEN_DIR) .. "resource/" .. plistname + "-sectcreate __TEXT __info_plist " .. _MAKE.esc(GEN_DIR) .. "resource/" .. _subtarget .. "-Info.plist" } custombuildtask { - { - GEN_DIR .. "version.cpp", - GEN_DIR .. "resource/" .. plistname, - { MAME_DIR .. "scripts/build/verinfo.py" }, - { - "@echo Emitting " .. plistname .. "...", - PYTHON .. " $(1) -f plist -t " .. _target .. " -s " .. _subtarget .. " -e " .. exename .. " -o $(@) $(<)" - } - }, + { GEN_DIR .. "version.cpp" , GEN_DIR .. "resource/" .. _subtarget .. "-Info.plist", { MAME_DIR .. "scripts/build/verinfo.py" }, {"@echo Emitting " .. _subtarget .. "-Info.plist" .. "...", PYTHON .. " $(1) -p -b " .. _subtarget .. " $(<) > $(@)" }}, } dependency { - { "$(TARGET)" , GEN_DIR .. "resource/" .. plistname, true }, + { "$(TARGET)" , GEN_DIR .. "resource/" .. _subtarget .. "-Info.plist", true }, } end + local rctarget = _subtarget - local rcversfile = GEN_DIR .. "resource/" .. _target .. "_" .. _subtarget .. "_vers.rc" if _OPTIONS["targetos"]=="windows" and (not override_resources) then - files { - rcversfile - } - end - - local rcincfile = MAME_DIR .. "scripts/resources/windows/" .. _target .. "/" .. _subtarget ..".rc" - if not os.isfile(rcincfile) then - rcincfile = MAME_DIR .. "scripts/resources/windows/mame/mame.rc" - resincludedirs { - MAME_DIR .. "scripts/resources/windows/mame", - } - configuration { "vs20*"} - -- See https://github.com/bkaradzic/GENie/issues/544 - includedirs { - MAME_DIR .. "scripts/resources/windows/mame", + rcfile = MAME_DIR .. "scripts/resources/windows/" .. _subtarget .. "/" .. rctarget ..".rc" + if os.isfile(rcfile) then + files { + rcfile, + } + dependency { + { "$(OBJDIR)/".._subtarget ..".res" , GEN_DIR .. "resource/" .. rctarget .. "vers.rc", true }, + } + else + rctarget = "mame" + files { + MAME_DIR .. "scripts/resources/windows/mame/mame.rc", + } + dependency { + { "$(OBJDIR)/mame.res" , GEN_DIR .. "resource/" .. rctarget .. "vers.rc", true }, } - configuration { } + end end - local mainfile = MAME_DIR .. "src/" .. _target .. "/" .. _subtarget .. ".cpp" + local mainfile = MAME_DIR .. "src/".._target .."/" .. _subtarget ..".cpp" if not os.isfile(mainfile) then - mainfile = MAME_DIR .. "src/" .. _target .. "/" .. _target .. ".cpp" + mainfile = MAME_DIR .. "src/".._target .."/" .. _target ..".cpp" end files { mainfile, - GEN_DIR .. "version.cpp", - GEN_DIR .. _target .. "/" .. _subtarget .. "/drivlist.cpp", + MAME_DIR .. "src/version.cpp", + GEN_DIR .. _target .. "/" .. _subtarget .."/drivlist.cpp", } if (_OPTIONS["SOURCES"] == nil) then - if os.isfile(MAME_DIR .. "src/" .. _target .."/" .. _subtarget ..".flt") then + if os.isfile(MAME_DIR .. "src/".._target .."/" .. _subtarget ..".flt") then dependency { - { GEN_DIR .. _target .. "/" .. _subtarget .."/drivlist.cpp", MAME_DIR .. "src/".._target .."/" .. _target ..".lst", true }, - } - custombuildtask { - { - MAME_DIR .. "src/" .. _target .. "/" .. _subtarget .. ".flt", - GEN_DIR .. _target .. "/" .. _subtarget .. "/drivlist.cpp", - { MAME_DIR .. "scripts/build/makedep.py", MAME_DIR .. "src/" .. _target .."/" .. _target .. ".lst" }, - { - "@echo Building driver list...", - PYTHON .. " $(1) driverlist $(2) -f $(<) > $(@)" - } - }, + { + GEN_DIR .. _target .. "/" .. _subtarget .."/drivlist.cpp", MAME_DIR .. "src/".._target .."/" .. _target ..".lst", true }, } - elseif os.isfile(MAME_DIR .. "src/" .._target .. "/" .. _subtarget ..".lst") then custombuildtask { - { - MAME_DIR .. "src/" .. _target .. "/" .. _subtarget .. ".lst", - GEN_DIR .. _target .. "/" .. _subtarget .."/drivlist.cpp", - { MAME_DIR .. "scripts/build/makedep.py" }, - { - "@echo Building driver list...", - PYTHON .. " $(1) driverlist $(<) > $(@)" - } - }, + { MAME_DIR .. "src/".._target .."/" .. _subtarget ..".flt" , GEN_DIR .. _target .. "/" .. _subtarget .."/drivlist.cpp", { MAME_DIR .. "scripts/build/makedep.py", MAME_DIR .. "src/".._target .."/" .. _target ..".lst" }, {"@echo Building driver list...", PYTHON .. " $(1) driverlist $(2) -f $(<) > $(@)" }}, } else - dependency { - { GEN_DIR .. _target .. "/" .. _target .."/drivlist.cpp", MAME_DIR .. "src/".._target .."/" .. _target ..".lst", true }, - } - custombuildtask { + if os.isfile(MAME_DIR .. "src/".._target .."/" .. _subtarget ..".lst") then + custombuildtask { + { MAME_DIR .. "src/".._target .."/" .. _subtarget ..".lst" , GEN_DIR .. _target .. "/" .. _subtarget .."/drivlist.cpp", { MAME_DIR .. "scripts/build/makedep.py" }, {"@echo Building driver list...", PYTHON .. " $(1) driverlist $(<) > $(@)" }}, + } + else + dependency { { - MAME_DIR .. "src/" .. _target .. "/" .. _target .. ".lst", - GEN_DIR .. _target .. "/" .. _target .. "/drivlist.cpp", - { MAME_DIR .. "scripts/build/makedep.py" }, - { - "@echo Building driver list...", - PYTHON .. " $(1) driverlist $(<) > $(@)" - } - }, - } + GEN_DIR .. _target .. "/" .. _target .."/drivlist.cpp", MAME_DIR .. "src/".._target .."/" .. _target ..".lst", true }, + } + custombuildtask { + { MAME_DIR .. "src/".._target .."/" .. _target ..".lst" , GEN_DIR .. _target .. "/" .. _target .."/drivlist.cpp", { MAME_DIR .. "scripts/build/makedep.py" }, {"@echo Building driver list...", PYTHON .. " $(1) driverlist $(<) > $(@)" }}, + } + end end end if (_OPTIONS["SOURCES"] ~= nil) then dependency { - { GEN_DIR .. _target .. "/" .. _subtarget .."/drivlist.cpp", MAME_DIR .. "src/".._target .."/" .. _target ..".lst", true }, + { + GEN_DIR .. _target .. "/" .. _subtarget .."/drivlist.cpp", MAME_DIR .. "src/".._target .."/" .. _target ..".lst", true }, } custombuildtask { - { - GEN_DIR .. _target .."/" .. _subtarget ..".flt" , - GEN_DIR .. _target .. "/" .. _subtarget .."/drivlist.cpp", - { MAME_DIR .. "scripts/build/makedep.py", MAME_DIR .. "src/".._target .."/" .. _target ..".lst" }, - { - "@echo Building driver list...", - PYTHON .. " $(1) driverlist $(2) -f $(<) > $(@)" - } - }, + { GEN_DIR .. _target .."/" .. _subtarget ..".flt" , GEN_DIR .. _target .. "/" .. _subtarget .."/drivlist.cpp", { MAME_DIR .. "scripts/build/makedep.py", MAME_DIR .. "src/".._target .."/" .. _target ..".lst" }, {"@echo Building driver list...", PYTHON .. " $(1) driverlist $(2) -f $(<) > $(@)" }}, } end configuration { "mingw*" } - dependency { - { "$(OBJDIR)/" .. _target .. "_" .. _subtarget .. "_vers.res", rcincfile, true }, - } custombuildtask { - { - GEN_DIR .. "version.cpp" , - rcversfile, - { MAME_DIR .. "scripts/build/verinfo.py" }, - { - "@echo Emitting " .. _target .. "_" .. _subtarget .. "_vers.rc" .. "...", - PYTHON .. " $(1) -f rc -t " .. _target .. " -s " .. _subtarget .. " -e " .. exename .. " -r " .. rcincfile .. " -o $(@) $(<)" - } - }, +-- { GEN_DIR .. "version.cpp" , GEN_DIR .. "resource/" .. rctarget .. "vers.rc", { MAME_DIR .. "scripts/build/verinfo.py" }, {"@echo Emitting " .. rctarget .. "vers.rc" .. "...", PYTHON .. " $(1) -r -b " .. rctarget .. " $(<) > $(@)" }}, + { MAME_DIR .. "src/version.cpp" , GEN_DIR .. "resource/" .. rctarget .. "vers.rc", { MAME_DIR .. "scripts/build/verinfo.py" }, {"@echo Emitting " .. rctarget .. "vers.rc" .. "...", PYTHON .. " $(1) -r -b " .. rctarget .. " $(<) > $(@)" }}, } configuration { "vs20*" } - dependency { - { "$(OBJDIR)/" .. _target .. "_" .. _subtarget .. "_vers.res", rcincfile, true }, - } prebuildcommands { - "mkdir \"" .. path.translate(GEN_DIR .. "resource/", "\\") .. "\" 2>NUL", - "mkdir \"" .. path.translate(GEN_DIR .. _target .. "/" .. _subtarget .. "/", "\\") .. "\" 2>NUL", - "@echo Emitting " .. _target .. "_" .. _subtarget .. "_vers.rc" .. "...", - PYTHON .. " \"" .. path.translate(MAME_DIR .. "scripts/build/verinfo.py", "\\") .. "\" -f rc -t " .. _target .. " -s " .. _subtarget .. " -e " .. exename .. " -o \"" .. path.translate(rcversfile) .. "\" -r \"" .. path.translate(rcincfile, "\\") .. "\" \"" .. path.translate(GEN_DIR .. "version.cpp", "\\") .. "\"", + "mkdir \"" .. path.translate(GEN_DIR .. "resource/","\\") .. "\" 2>NUL", + "@echo Emitting ".. rctarget .. "vers.rc...", + PYTHON .. " \"" .. path.translate(MAME_DIR .. "scripts/build/verinfo.py","\\") .. "\" -r -b " .. rctarget .. " \"" .. path.translate(GEN_DIR .. "version.cpp","\\") .. "\" > \"" .. path.translate(GEN_DIR .. "resource/" .. rctarget .. "vers.rc", "\\") .. "\"" , } end |