diff --git a/CMakeLists.txt b/CMakeLists.txt index 0765c5c0c4..92be8fbfe8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -699,6 +699,7 @@ elseif(ZIG_HOST_TARGET_ARCH STREQUAL "armv7l") elseif(ZIG_HOST_TARGET_ARCH STREQUAL "armv7b") set(ZIG_HOST_TARGET_ARCH "armeb") endif() + if(ZIG_HOST_TARGET_ARCH MATCHES "^arm(eb)?$") include(CheckSymbolExists) check_symbol_exists(__thumb__ "" ZIG_HOST_TARGET_DEFAULTS_TO_THUMB) @@ -710,7 +711,16 @@ string(TOLOWER "${CMAKE_HOST_SYSTEM_NAME}" ZIG_HOST_TARGET_OS) if(ZIG_HOST_TARGET_OS STREQUAL "darwin") set(ZIG_HOST_TARGET_OS "macos") endif() -set(ZIG_HOST_TARGET_TRIPLE "${ZIG_HOST_TARGET_ARCH}-${ZIG_HOST_TARGET_OS}" CACHE STRING "Host zig target triple.") + +if(MSVC) + set(ZIG_HOST_TARGET_ABI "-msvc") +elif(MINGW) + set(ZIG_HOST_TARGET_ABI "-gnu") +else() + set(ZIG_HOST_TARGET_ABI "") +endif() + +set(ZIG_HOST_TARGET_TRIPLE "${ZIG_HOST_TARGET_ARCH}-${ZIG_HOST_TARGET_OS}${ZIG_HOST_TARGET_ABI}" CACHE STRING "Host zig target triple.") if(MSVC) set(ZIG_WASM2C_COMPILE_FLAGS "") @@ -723,6 +733,8 @@ else() set(ZIG2_COMPILE_FLAGS "-std=c99 -O0 -fno-stack-protector") if(APPLE) set(ZIG2_LINK_FLAGS "-Wl,-stack_size,0x10000000") + elseif(MINGW) + set(ZIG2_LINK_FLAGS "-Wl,--stack,0x10000000") else() set(ZIG2_LINK_FLAGS "-Wl,-z,stack-size=0x10000000") endif() @@ -751,6 +763,9 @@ if(MSVC) target_link_options(zig1 PRIVATE /STACK:0x10000000) else() target_link_libraries(zig1 LINK_PUBLIC m) + if(MINGW) + target_link_options(zig1 PRIVATE -Wl,--stack,0x10000000) + endif() endif() set(BUILD_ZIG2_ARGS