Produce release build

Disable devil
Support mac build (which is useless as mono doesn't support winforms on modern macOS)
This commit is contained in:
Magnus Norddahl 2020-01-06 08:52:59 +01:00
parent 20f5f01b84
commit 5363fe0717
5 changed files with 30 additions and 11 deletions

View file

@ -1,8 +1,15 @@
all: builder native
all: linux
linux: builder native
mac: builder nativemac
builder:
msbuild -p:Configuration=Debug BuilderMono.sln
msbuild -p:Configuration=Release -p:Platform=x86 BuilderMono.sln
nativemac:
g++ -std=c++14 -O2 --shared -g3 -o Build/libBuilderNative.so -fPIC -I Source/Native Source/Native/*.cpp Source/Native/OpenGL/*.cpp Source/Native/OpenGL/gl_load/*.c -ldl
native:
g++ -std=c++14 -O2 --shared -g3 -o Build/libBuilderNative.so -fPIC -I Source/Native Source/Native/*.cpp Source/Native/OpenGL/*.cpp Source/Native/OpenGL/gl_load/*.c -lX11 -ldl

View file

@ -42,7 +42,7 @@
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DebugSymbols>true</DebugSymbols>
<OutputPath>..\..\Build\</OutputPath>
<DefineConstants>DEBUG;TRACE;NO_SCINTILLA;NO_FORMS_DESIGN;NO_WIN32;NO_UPDATER</DefineConstants>
<DefineConstants>DEBUG;TRACE;NO_SCINTILLA;NO_FORMS_DESIGN;NO_WIN32;NO_UPDATER;NO_DEVIL</DefineConstants>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
@ -63,7 +63,7 @@
<ErrorReport>prompt</ErrorReport>
<DocumentationFile>
</DocumentationFile>
<DefineConstants>NO_SCINTILLA;NO_FORMS_DESIGN;NO_WIN32;NO_UPDATER</DefineConstants>
<DefineConstants>NO_SCINTILLA;NO_FORMS_DESIGN;NO_WIN32;NO_UPDATER;NO_DEVIL</DefineConstants>
<WarningLevel>4</WarningLevel>
<DebugSymbols>true</DebugSymbols>
<NoWarn>1591</NoWarn>
@ -72,7 +72,7 @@
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug + Profiler|x86' ">
<DebugSymbols>true</DebugSymbols>
<OutputPath>..\..\Build\</OutputPath>
<DefineConstants>DEBUG;TRACE;PROFILE;NO_SCINTILLA;NO_FORMS_DESIGN;NO_WIN32;NO_UPDATER</DefineConstants>
<DefineConstants>DEBUG;TRACE;PROFILE;NO_SCINTILLA;NO_FORMS_DESIGN;NO_WIN32;NO_UPDATER;NO_DEVIL</DefineConstants>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DocumentationFile>
</DocumentationFile>
@ -94,7 +94,7 @@
<PlatformTarget>x86</PlatformTarget>
<UseVSHostingProcess>false</UseVSHostingProcess>
<ErrorReport>prompt</ErrorReport>
<DefineConstants>TRACE;PROFILE;NO_SCINTILLA;NO_FORMS_DESIGN;NO_WIN32;NO_UPDATER</DefineConstants>
<DefineConstants>TRACE;PROFILE;NO_SCINTILLA;NO_FORMS_DESIGN;NO_WIN32;NO_UPDATER;NO_DEVIL</DefineConstants>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
@ -104,7 +104,7 @@
</DocumentationFile>
<Prefer32Bit>false</Prefer32Bit>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DefineConstants>TRACE;DEBUG;NO_SCINTILLA;NO_FORMS_DESIGN;NO_WIN32;NO_UPDATER</DefineConstants>
<DefineConstants>TRACE;DEBUG;NO_SCINTILLA;NO_FORMS_DESIGN;NO_WIN32;NO_UPDATER;NO_DEVIL</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<PlatformTarget>x64</PlatformTarget>
@ -112,14 +112,14 @@
<Prefer32Bit>false</Prefer32Bit>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<Optimize>true</Optimize>
<DefineConstants>TRACE;NO_SCINTILLA;NO_FORMS_DESIGN;NO_WIN32;NO_UPDATER</DefineConstants>
<DefineConstants>TRACE;NO_SCINTILLA;NO_FORMS_DESIGN;NO_WIN32;NO_UPDATER;NO_DEVIL</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug + Profiler|x64'">
<PlatformTarget>x64</PlatformTarget>
<OutputPath>..\..\Build\</OutputPath>
<Prefer32Bit>false</Prefer32Bit>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DefineConstants>TRACE;DEBUG;PROFILE;NO_SCINTILLA;NO_FORMS_DESIGN;NO_WIN32;NO_UPDATER</DefineConstants>
<DefineConstants>TRACE;DEBUG;PROFILE;NO_SCINTILLA;NO_FORMS_DESIGN;NO_WIN32;NO_UPDATER;NO_DEVIL</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release + Profiler|x64'">
<PlatformTarget>x64</PlatformTarget>

View file

@ -49,8 +49,10 @@ namespace CodeImp.DoomBuilder
{
#region ================== API Declarations
#if !NO_DEVIL
[DllImport("devil.dll")]
private static extern void ilInit();
#endif
#if NO_WIN32
@ -632,7 +634,9 @@ namespace CodeImp.DoomBuilder
// Initialize static classes
MapSet.Initialize();
#if !NO_DEVIL
ilInit();
#endif
// Create main window
General.WriteLogLine("Loading main interface window...");

View file

@ -79,6 +79,7 @@ namespace CodeImp.DoomBuilder.IO
{
#region ================== APIs
#if !NO_DEVIL
[DllImport("devil.dll")]
private static extern void ilEnable(int num);
@ -108,6 +109,7 @@ namespace CodeImp.DoomBuilder.IO
[DllImport("devil.dll")]
private static extern uint ilCopyPixels(uint xoff, uint yoff, uint zoff, uint width, uint height, uint depth, uint format, uint type, IntPtr data);
#endif
//
private const int IL_ORIGIN_SET = 0x0600;
@ -529,6 +531,7 @@ namespace CodeImp.DoomBuilder.IO
stream.Seek(0, SeekOrigin.Begin);
}
#if !NO_DEVIL
string error;
lock (syncobject) // DevIL is not thread safe.
{
@ -592,6 +595,9 @@ namespace CodeImp.DoomBuilder.IO
error = "Unable to make file image. " + e.GetType().Name + ": " + e.Message;
}
}
#else
string error = "No devil image support";
#endif
// [ZZ] try to make a guessed reader
switch (guesstype)
@ -679,6 +685,7 @@ namespace CodeImp.DoomBuilder.IO
public bool Validate(Stream stream)
{
#if !NO_DEVIL
uint _vimageid = 0;
try
{
@ -737,6 +744,7 @@ namespace CodeImp.DoomBuilder.IO
}
}
}
#endif
return true;
}

View file

@ -334,8 +334,8 @@ std::unique_ptr<IOpenGLContext> IOpenGLContext::Create(void* disp, void* window)
class OpenGLContext : public IOpenGLContext
{
public:
OpenGLContext(void* window);
~OpenGLContext();
OpenGLContext(void* window) { }
~OpenGLContext() { }
void MakeCurrent() override { }
void ClearCurrent() override { }