build: linux mingw cross-compile fixes (partial, stuck at DIMM.h) #5

Open
jann wants to merge 1 commits from claude/linux-mingw-crosscompile-fixes into main
9 changed files with 45 additions and 6 deletions

View File

@@ -20,12 +20,30 @@ set(CMAKE_MSVC_DEBUG_INFORMATION_FORMAT "$<$<CONFIG:Debug,RelWithDebInfo,Release
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Zi")
set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /DEBUG")
add_compile_definitions(UNICODE _UNICODE)
add_compile_definitions("$<$<NOT:$<CXX_COMPILER_ID:MSVC>>:__int64=long long>")
add_compile_options("$<$<NOT:$<CXX_COMPILER_ID:MSVC>>:-mssse3>")
if(MSVC)
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Zi")
endif()
add_compile_definitions(UNICODE _UNICODE)
add_compile_definitions("$<$<NOT:$<CXX_COMPILER_ID:MSVC>>:__int64=long long>")
add_compile_options("$<$<NOT:$<CXX_COMPILER_ID:MSVC>>:-mssse3>")
if(MSVC)
set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /DEBUG")
endif()
add_compile_options("$<$<CXX_COMPILER_ID:MSVC>:/utf-8>")
add_compile_options(/MP)
add_compile_definitions(UNICODE _UNICODE)
add_compile_definitions("$<$<NOT:$<CXX_COMPILER_ID:MSVC>>:__int64=long long>")
add_compile_options("$<$<NOT:$<CXX_COMPILER_ID:MSVC>>:-mssse3>")
if(MSVC)
add_compile_options(/MP)
endif()
add_compile_definitions(UNICODE _UNICODE)
add_compile_definitions("$<$<NOT:$<CXX_COMPILER_ID:MSVC>>:__int64=long long>")
add_compile_options("$<$<NOT:$<CXX_COMPILER_ID:MSVC>>:-mssse3>")
if(MSVC)
add_compile_definitions(UNICODE _UNICODE)
endif()

View File

@@ -1,3 +1,4 @@
#include <cstdint>
#pragma once
#include <string>
#include <cstring>

View File

@@ -1,3 +1,4 @@
#include <cstdint>
#pragma once
#define MA_NO_WASAPI
#define MA_ENABLE_DSOUND

View File

@@ -1,3 +1,4 @@
#include <cstdint>
#pragma once
#include <vector>

View File

@@ -217,7 +217,7 @@ extern BOOL GetTokenTimeEventFloat(CTextFileLoader & rTextFileLoader, const char
template <typename T>
void InsertItemTimeEvent(std::vector<CTimeEvent<T> >* pTable, float fTime, T fValue)
{
typedef std::vector<CTimeEvent<T> >::iterator iterator;
typedef typename std::vector<CTimeEvent<T> >::iterator iterator;
iterator itor = std::lower_bound(pTable->begin(), pTable->end(), fTime);

View File

@@ -1,2 +1,2 @@
#pragma once
#include "..\StdAfx.h"
#include "../StdAfx.h"

View File

@@ -20,7 +20,7 @@
#include <map>
#include <queue>
#include <functional>
#include <SSTREAM>
#include <sstream>
#pragma warning ( pop )

View File

@@ -1,3 +1,4 @@
#include <cmath>
#ifndef __INC_ETER2_ETERBASE_UTILS_H__
#define __INC_ETER2_ETERBASE_UTILS_H__

View File

@@ -0,0 +1,17 @@
# Cross-compile for Windows x86_64 from Linux using MinGW + LLD.
set(CMAKE_SYSTEM_NAME Windows)
set(CMAKE_SYSTEM_PROCESSOR x86_64)
set(CMAKE_C_COMPILER x86_64-w64-mingw32-gcc)
set(CMAKE_CXX_COMPILER x86_64-w64-mingw32-g++)
set(CMAKE_RC_COMPILER x86_64-w64-mingw32-windres)
set(CMAKE_FIND_ROOT_PATH /usr/x86_64-w64-mingw32)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
set(CMAKE_EXE_LINKER_FLAGS_INIT "-fuse-ld=lld")
set(CMAKE_SHARED_LINKER_FLAGS_INIT "-fuse-ld=lld")
set(CMAKE_MODULE_LINKER_FLAGS_INIT "-fuse-ld=lld")