mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-02-03 15:47:04 +01:00
Buildsystem: Add support for compiling with MinGW on Windows
Tested with: - Windows 8 x64 - MySQL 5.5.30 win32 - OpenSSL 1.0.1c (32 bits) - No PCH - MinGW with GCC 4.7.0 TODO: - Fix compile/link with PCH enabled - Fix compile with WheatyExceptonionReport enabled (ignored for now) - Fix compile of .rc files (ignored for now) - Test with more platforms
This commit is contained in:
@@ -12,7 +12,7 @@
|
||||
# This to stop a few silly crashes that could have been avoided IF people
|
||||
# weren't doing some -O3 psychooptimizations etc.
|
||||
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
if(CMAKE_COMPILER_IS_GNUCXX AND NOT MINGW)
|
||||
add_definitions(-fno-delete-null-pointer-checks)
|
||||
endif()
|
||||
|
||||
|
||||
@@ -29,11 +29,18 @@ set(authserver_SRCS
|
||||
)
|
||||
|
||||
if( WIN32 )
|
||||
set(authserver_SRCS
|
||||
${authserver_SRCS}
|
||||
${sources_Debugging}
|
||||
if ( MSVC )
|
||||
set(authserver_SRCS
|
||||
${authserver_SRCS}
|
||||
${sources_Debugging}
|
||||
authserver.rc
|
||||
)
|
||||
)
|
||||
else ( )
|
||||
set(authserver_SRCS
|
||||
${authserver_SRCS}
|
||||
${sources_Debugging}
|
||||
)
|
||||
endif ()
|
||||
endif()
|
||||
|
||||
include_directories(
|
||||
@@ -76,10 +83,17 @@ target_link_libraries(authserver
|
||||
)
|
||||
|
||||
if( WIN32 )
|
||||
add_custom_command(TARGET authserver
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/authserver.conf.dist ${CMAKE_BINARY_DIR}/bin/$(ConfigurationName)/
|
||||
)
|
||||
if ( MSVC )
|
||||
add_custom_command(TARGET authserver
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/authserver.conf.dist ${CMAKE_BINARY_DIR}/bin/$(ConfigurationName)/
|
||||
)
|
||||
elseif ( MINGW )
|
||||
add_custom_command(TARGET authserver
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/authserver.conf.dist ${CMAKE_BINARY_DIR}/bin/
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if( UNIX )
|
||||
|
||||
@@ -18,12 +18,10 @@
|
||||
|
||||
#include "BoundingIntervalHierarchy.h"
|
||||
|
||||
#if defined __APPLE__
|
||||
#define isnan std::isnan
|
||||
#elif defined __CYGWIN__
|
||||
#define isnan std::isnan
|
||||
#elif defined _MSC_VER
|
||||
#ifdef _MSC_VER
|
||||
#define isnan _isnan
|
||||
#else
|
||||
#define isnan std::isnan
|
||||
#endif
|
||||
|
||||
void BIH::buildHierarchy(std::vector<uint32> &tempTree, buildData &dat, BuildStats &stats)
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
// MSDN Magazine, 2002
|
||||
// FILE: WheatyExceptionReport.CPP
|
||||
//==========================================
|
||||
#if PLATFORM == PLATFORM_WINDOWS
|
||||
#if PLATFORM == PLATFORM_WINDOWS && not defined(__MINGW32__)
|
||||
#define WIN32_LEAN_AND_MEAN
|
||||
#pragma warning(disable:4996)
|
||||
#pragma warning(disable:4312)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef _WHEATYEXCEPTIONREPORT_
|
||||
#define _WHEATYEXCEPTIONREPORT_
|
||||
|
||||
#if PLATFORM == PLATFORM_WINDOWS
|
||||
#if PLATFORM == PLATFORM_WINDOWS && not defined(__MINGW32__)
|
||||
|
||||
#include <dbghelp.h>
|
||||
|
||||
|
||||
@@ -29,11 +29,18 @@ set(worldserver_SRCS
|
||||
)
|
||||
|
||||
if( WIN32 )
|
||||
set(worldserver_SRCS
|
||||
${worldserver_SRCS}
|
||||
${sources_Debugging}
|
||||
worldserver.rc
|
||||
)
|
||||
if ( MSVC )
|
||||
set(worldserver_SRCS
|
||||
${worldserver_SRCS}
|
||||
${sources_Debugging}
|
||||
worldserver.rc
|
||||
)
|
||||
else ( )
|
||||
set(worldserver_SRCS
|
||||
${worldserver_SRCS}
|
||||
${sources_Debugging}
|
||||
)
|
||||
endif ()
|
||||
endif()
|
||||
|
||||
include_directories(
|
||||
@@ -175,10 +182,17 @@ target_link_libraries(worldserver
|
||||
)
|
||||
|
||||
if( WIN32 )
|
||||
add_custom_command(TARGET worldserver
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/worldserver.conf.dist ${CMAKE_BINARY_DIR}/bin/$(ConfigurationName)/
|
||||
)
|
||||
if ( MSVC )
|
||||
add_custom_command(TARGET worldserver
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/worldserver.conf.dist ${CMAKE_BINARY_DIR}/bin/$(ConfigurationName)/
|
||||
)
|
||||
elseif ( MINGW )
|
||||
add_custom_command(TARGET worldserver
|
||||
POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/worldserver.conf.dist ${CMAKE_BINARY_DIR}/bin/
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if( UNIX )
|
||||
|
||||
Reference in New Issue
Block a user