Index: ps/trunk/build/premake/premake5.lua =================================================================== --- ps/trunk/build/premake/premake5.lua +++ ps/trunk/build/premake/premake5.lua @@ -539,9 +539,11 @@ table.insert(static_lib_names, project_name) end - if os.istarget("windows") then - rtti "off" - elseif os.istarget("macosx") and _OPTIONS["macosx-version-min"] then + -- Deactivate Run Time Type Information. Performance of dynamic_cast is very poor. + -- The exception to this principle is Atlas UI, which is not a static library. + rtti "off" + + if os.istarget("macosx") and _OPTIONS["macosx-version-min"] then xcodebuildsettings { MACOSX_DEPLOYMENT_TARGET = _OPTIONS["macosx-version-min"] } end end @@ -564,7 +566,6 @@ end if os.istarget("windows") then - rtti "off" links { "delayimp" } elseif os.istarget("macosx") and _OPTIONS["macosx-version-min"] then xcodebuildsettings { MACOSX_DEPLOYMENT_TARGET = _OPTIONS["macosx-version-min"] } @@ -985,6 +986,8 @@ dependson { "Collada" } + rtti "off" + -- Platform Specifics if os.istarget("windows") then @@ -992,8 +995,6 @@ -- from "lowlevel" static lib; must be added here to be linked in files { source_root.."lib/sysdep/os/win/error_dialog.rc" } - rtti "off" - linkoptions { -- wraps main thread in a __try block(see wseh.cpp). replace with mainCRTStartup if that's undesired. "/ENTRY:wseh_EntryPoint", @@ -1387,6 +1388,8 @@ dependson { "Collada" } + rtti "off" + -- TODO: should fix the duplication between this OS-specific linking -- code, and the similar version in setup_main_exe @@ -1394,8 +1397,6 @@ -- from "lowlevel" static lib; must be added here to be linked in files { source_root.."lib/sysdep/os/win/error_dialog.rc" } - rtti "off" - -- see wstartup.h linkoptions { "/INCLUDE:_wstartup_InitAndRegisterShutdown" } -- Enables console for the TEST project on Windows