81 lines
2.0 KiB
Lua
81 lines
2.0 KiB
Lua
function os.winSdkVersion()
|
|
local reg_arch = iif( os.is64bit(), "\\Wow6432Node\\", "\\" )
|
|
local sdk_version = os.getWindowsRegistry( "HKLM:SOFTWARE" .. reg_arch .."Microsoft\\Microsoft SDKs\\Windows\\v10.0\\ProductVersion" )
|
|
if sdk_version ~= nil then return sdk_version end
|
|
end
|
|
|
|
solution "GWSockets"
|
|
|
|
language "C++"
|
|
location ( "solutions/" .. os.target() .. "-" .. _ACTION )
|
|
flags { "NoPCH", "NoImportLib"}
|
|
optimize "On"
|
|
vectorextensions "SSE"
|
|
symbols "On"
|
|
floatingpoint "Fast"
|
|
editandcontinue "Off"
|
|
targetdir ( "out/" .. os.target() .. "/" )
|
|
includedirs { "include/",
|
|
"src/"
|
|
}
|
|
|
|
if os.target() == "macosx" or os.target() == "linux" then
|
|
|
|
buildoptions { "-std=c++11 -fPIC" }
|
|
linkoptions { " -fPIC" }
|
|
|
|
end
|
|
|
|
configurations { "Release" }
|
|
platforms { "x86", "x86_64" }
|
|
|
|
defines { "NDEBUG" }
|
|
optimize "On"
|
|
floatingpoint "Fast"
|
|
|
|
if os.target() == "windows" then
|
|
defines{ "WIN32" }
|
|
elseif os.target() == "linux" then
|
|
defines{ "LINUX" }
|
|
end
|
|
|
|
local platform
|
|
if os.target() == "windows" then
|
|
platform = "win"
|
|
links { "libcrypto", "libssl", "boost_system", "crypt32" }
|
|
elseif os.target() == "macosx" then
|
|
platform = "osx"
|
|
links { "ssl", "boost_system" }
|
|
elseif os.target() == "linux" then
|
|
platform = "linux"
|
|
links { "ssl", "crypto", "boost_system", "pthread", "dl" }
|
|
else
|
|
error "Unsupported platform."
|
|
end
|
|
|
|
|
|
|
|
filter "platforms:x86"
|
|
architecture "x86"
|
|
libdirs { "lib/" .. os.target() }
|
|
if os.target() == "windows" then
|
|
targetname( "gmsv_gwsockets_" .. platform .. "32")
|
|
else
|
|
targetname( "gmsv_gwsockets_" .. platform)
|
|
end
|
|
filter "platforms:x86_64"
|
|
architecture "x86_64"
|
|
libdirs { "lib64/" .. os.target() }
|
|
targetname( "gmsv_gwsockets_" .. platform .. "64")
|
|
filter {"system:windows", "action:vs*"}
|
|
systemversion((os.winSdkVersion() or "10.0.16299") .. ".0")
|
|
toolset "v141"
|
|
|
|
project "GWSockets"
|
|
defines{ "GMMODULE", "BOOST_ALL_NO_LIB" }
|
|
files{ "src/**.*" }
|
|
kind "SharedLib"
|
|
targetprefix ("")
|
|
targetextension (".dll")
|
|
targetdir("out/" .. os.target())
|