mirror of
https://github.com/tursodatabase/libsql.git
synced 2024-12-15 21:29:01 +00:00
112 lines
2.8 KiB
Lua
112 lines
2.8 KiB
Lua
require('vstudio')
|
|
require('gmake2')
|
|
|
|
premake.api.register {
|
|
name = "wxUseProps",
|
|
scope = "project",
|
|
kind = "boolean",
|
|
default = false
|
|
}
|
|
|
|
local function wxPropertySheets(prj)
|
|
-- if premake.wxProject ~= nil and premake.wxProject then
|
|
if prj.wxUseProps then
|
|
premake.push('<ImportGroup Label="PropertySheets">')
|
|
if premake.wxSetupProps ~= nil and premake.wxSetupProps ~= '' then
|
|
premake.w('<Import Project="' .. premake.wxSetupProps .. '" />')
|
|
else
|
|
premake.w('<Import Project="wx_setup.props" />')
|
|
end
|
|
premake.w('<Import Project="wx_local.props" Condition="Exists(\'wx_local.props\')" />')
|
|
premake.pop('</ImportGroup>')
|
|
end
|
|
end
|
|
|
|
premake.override(premake.vstudio.vc2010.elements, "project", function(base, prj)
|
|
local calls = base(prj)
|
|
table.insertafter(calls, premake.vstudio.vc2010.importExtensionSettings, wxPropertySheets)
|
|
return calls
|
|
end)
|
|
|
|
premake.override(premake.modules.gmake2, "target", function(base, cfg, toolset)
|
|
local targetpath = string.gsub(premake.project.getrelative(cfg.project, cfg.buildtarget.directory), ' ', '_')
|
|
premake.outln('TARGETDIR = ' .. targetpath)
|
|
premake.outln('TARGET = $(TARGETDIR)/' .. cfg.buildtarget.name)
|
|
end)
|
|
|
|
premake.override(premake.modules.gmake2, "objdir", function(base, cfg, toolset)
|
|
local objpath = string.gsub(premake.project.getrelative(cfg.project, cfg.objdir), ' ', '_')
|
|
premake.outln('OBJDIR = ' .. objpath)
|
|
end)
|
|
|
|
-- Determine version of Visual Studio action
|
|
vc_version = "";
|
|
if _ACTION == "vs2003" then
|
|
vc_version = 7
|
|
elseif _ACTION == "vs2005" then
|
|
vc_version = 8
|
|
elseif _ACTION == "vs2008" then
|
|
vc_version = 9
|
|
elseif _ACTION == "vs2010" then
|
|
vc_version = 10
|
|
elseif _ACTION == "vs2012" then
|
|
vc_version = 11
|
|
elseif _ACTION == "vs2013" then
|
|
vc_version = 12
|
|
elseif _ACTION == "vs2015" then
|
|
vc_version = 14
|
|
elseif _ACTION == "vs2017" then
|
|
vc_version = 15
|
|
elseif _ACTION == "vs2019" then
|
|
vc_version = 16
|
|
elseif _ACTION == "vs2022" then
|
|
vc_version = 17
|
|
end
|
|
|
|
is_msvc = false
|
|
msvc_useProps = false
|
|
if ( vc_version ~= "" ) then
|
|
is_msvc = true
|
|
msvc_useProps = vc_version >= 10
|
|
vc_with_ver = "vc"..vc_version
|
|
end
|
|
|
|
function wxWorkspaceCommon()
|
|
configurations { "Debug", "Release" }
|
|
platforms { "Win32", "Win64" }
|
|
location(BUILDDIR)
|
|
|
|
defines {
|
|
"_WINDOWS",
|
|
"WIN32",
|
|
"_CRT_SECURE_NO_WARNINGS",
|
|
"_CRT_SECURE_NO_DEPRECATE",
|
|
"_CRT_NONSTDC_NO_WARNINGS",
|
|
"_CRT_NONSTDC_NO_DEPRECATE"
|
|
}
|
|
|
|
filter { "platforms:Win32" }
|
|
system "Windows"
|
|
architecture "x32"
|
|
|
|
filter { "platforms:Win64" }
|
|
system "Windows"
|
|
architecture "x64"
|
|
targetsuffix "_x64"
|
|
|
|
filter { "configurations:Debug*" }
|
|
defines {
|
|
"DEBUG",
|
|
"_DEBUG"
|
|
}
|
|
symbols "On"
|
|
|
|
filter { "configurations:Release*" }
|
|
defines {
|
|
"NDEBUG"
|
|
}
|
|
optimize "On"
|
|
|
|
filter {}
|
|
end
|