premake5.exe vs2015 vs2017
premake5.exe vs2015
premake5.exe vs2017
function ModelerProject( AutocadMajorVersion )
-- .arx can be compiled only against Visual Studio version which it supports. if AutocadMajorVersion == 18 and ( buildvsver ~= "vs2008" ) then return end
if AutocadMajorVersion == 19 and ( buildvsver ~= "vs2010" ) then return end
if AutocadMajorVersion == 20 and ( buildvsver ~= "vs2012" ) then return end
if AutocadMajorVersion == 21 and ( buildvsver ~= "vs2015" ) then return end
solution ("vm-modeler" .. AutocadMajorVersion .. "_" .. buildvsver) platforms { "x32", "x64" } configurations { "Debug", "Release" } objdir ( "obj/" .. "R" .. AutocadMajorVersion .. "_" .. buildvsver)
project ("vm-modeler" .. AutocadMajorVersion .. "_" .. buildvsver)...
if AutocadMajorVersion == 21 then acadVersion = "2017" elseif AutocadMajorVersion == 20 then acadVersion = "2015" elseif AutocadMajorVersion == 19 then acadVersion = "2013" elseif AutocadMajorVersion == 18 then acadVersion = "2011" end
includedirs { "\\libraries\\ObjectARX" .. acadVersion .. "\\utils\\brep\\inc", "\\libraries\\ObjectARX" .. acadVersion .. "\\inc-x64", "\\libraries\\ObjectARX" .. acadVersion .. "\\inc", }...
end --function ModelerProject
ModelerProject(18) ModelerProject(19) ModelerProject(20) ModelerProject(21)
/// <summary>/// Tags platform/// </summary>public enum EKeyword{ /// <summary> /// Typically set for Android packaging project. /// </summary> None = 0,
/// <summary> /// Windows project (32 or 64 bit) /// </summary> Win32Proj,
/// <summary> /// Android project /// </summary> Android}
... class Project:
...
/// <summary> /// "4.0" for vs2010/vs2012, "12.0" for vs2013, "14.0" for vs2015 /// </summary> public String ToolsVersion; public EKeyword Keyword;
public String getOsBase() { switch (Keyword) { case EKeyword.Android: return "android"; case EKeyword.None: return "package"; default: case EKeyword.Win32Proj: if (Double.Parse(ToolsVersion) <= 4.0) return "vs2012"; return "vs2015"; } } //getOsBase
/// <summary> /// Sets os base, returns false if not supported. /// </summary> public bool setOsBase(String osBase) { switch (osBase.ToLower()) { case "package": ToolsVersion = "14.0"; Keyword = EKeyword.None; break; case "vs2010": case "vs2012": ToolsVersion = "4.0"; Keyword = EKeyword.Win32Proj; break; case "vs2013": ToolsVersion = "12.0"; Keyword = EKeyword.Win32Proj; break; case "vs2015": ToolsVersion = "14.0"; Keyword = EKeyword.Win32Proj; break; case "android": Keyword = EKeyword.Android; break; default: return false; }
return true; } //setOsBase
project("test_Android1.NativeActivity"); osbase("android"); configurations( "Debug","Release" ); platforms( "ARM","ARM64","x64","x86" ); uuid("a5651b81-1c70-4416-b60f-a5b2094a211a"); kind("SharedLib"); toolset("Clang_3_8");