Merge pull request #1661 from tobil4sk/mingw-fixes-develop
Allow cross compiling Windows projects with MinGW
This commit is contained in:
@@ -32,9 +32,9 @@ import sys.io.Process;
|
||||
@:access(lime._internal.backend.native.NativeCFFI)
|
||||
@:access(lime.system.Display)
|
||||
@:access(lime.system.DisplayMode)
|
||||
#if (cpp && windows && !HXCPP_MINGW && !lime_disable_gpu_hint)
|
||||
#if (cpp && windows && !lime_disable_gpu_hint)
|
||||
@:cppFileCode('
|
||||
#if defined(HX_WINDOWS)
|
||||
#if defined(HX_WINDOWS) && !defined(__MINGW32__)
|
||||
extern "C" {
|
||||
_declspec(dllexport) unsigned long NvOptimusEnablement = 0x00000001;
|
||||
_declspec(dllexport) int AmdPowerXpressRequestHighPerformance = 1;
|
||||
|
||||
@@ -128,7 +128,7 @@ class ProjectXMLParser extends HXProject
|
||||
{
|
||||
defines.set("native", "1");
|
||||
|
||||
if (target == Platform.WINDOWS)
|
||||
if (target == Platform.WINDOWS && targetFlags.exists("mingw"))
|
||||
{
|
||||
defines.set("targetType", "cpp");
|
||||
defines.set("cpp", "1");
|
||||
|
||||
@@ -138,7 +138,7 @@ class WindowsPlatform extends PlatformTarget
|
||||
{
|
||||
targetType = "winjs";
|
||||
}
|
||||
else if (project.targetFlags.exists("neko") || project.target != cast System.hostPlatform)
|
||||
else if (project.targetFlags.exists("neko"))
|
||||
{
|
||||
targetType = "neko";
|
||||
}
|
||||
@@ -496,6 +496,24 @@ class WindowsPlatform extends PlatformTarget
|
||||
CPPHelper.compile(project, targetDirectory + "/obj", flags);
|
||||
|
||||
System.copyFile(targetDirectory + "/obj/ApplicationMain" + (project.debug ? "-debug" : "") + ".exe", executablePath);
|
||||
|
||||
if (project.targetFlags.exists("mingw"))
|
||||
{
|
||||
var libraries = ["libwinpthread-1.dll", "libstdc++-6.dll"];
|
||||
if (is64)
|
||||
{
|
||||
libraries.push("libgcc_s_seh-1.dll");
|
||||
}
|
||||
else
|
||||
{
|
||||
libraries.push("libgcc_s_dw2-1.dll");
|
||||
}
|
||||
|
||||
for (library in libraries)
|
||||
{
|
||||
System.copyIfNewer(targetDirectory + "/obj/" + library, Path.combine(applicationDirectory, library));
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user