49 lines
1.6 KiB
Lua
49 lines
1.6 KiB
Lua
|
local function auStartSolution(sln)
|
||
|
|
||
|
workspace(sln.name)
|
||
|
|
||
|
auRequire("Core/Target").startSolution()
|
||
|
|
||
|
location(Aurora.Settings.sAbsCompilerWd)
|
||
|
|
||
|
-- Required for core Aurora assumptions. External build chains may mess with these -- not my problem.
|
||
|
symbols "On" -- even ship binaries are initially built with symbols for unix targets to strip them with objcopy
|
||
|
visibility "Hidden" -- posix devs are stupid. default vis is stupid. we're beyond the 70's C OS aka version 7 UNIX
|
||
|
stringpooling "true" -- i've seen hashmaps explode too many times to care about the few ms this saves
|
||
|
floatingpoint "strict" -- x87 sucks so lets be mean. it's a nice to have when working with js runtimes
|
||
|
justmycode "Off" -- some premake warning bug
|
||
|
|
||
|
-- TODO (reece): consider breaking these out into settings
|
||
|
staticruntime "On"
|
||
|
editandcontinue "Off"
|
||
|
|
||
|
flags
|
||
|
{
|
||
|
"NoPCH"
|
||
|
}
|
||
|
|
||
|
if (Aurora.Settings.bMultithreadBuild) then
|
||
|
flags
|
||
|
{
|
||
|
"MultiProcessorCompile"
|
||
|
}
|
||
|
end
|
||
|
|
||
|
if (Aurora.Settings.bForceClangWin32) then
|
||
|
auFilterForPlatforms(function(platform)
|
||
|
if (platform == "win32") then
|
||
|
toolset "clang"
|
||
|
end
|
||
|
end)
|
||
|
end
|
||
|
|
||
|
if (Aurora.Settings.bForceLLVMStl) then
|
||
|
filter {"files:**.cpp or files:**.cc or files:**.cxx", "toolset:clang"}
|
||
|
buildoptions {"-stdlib=libc++"}
|
||
|
filter {}
|
||
|
end
|
||
|
end
|
||
|
|
||
|
return {
|
||
|
start = auStartSolution
|
||
|
}
|