Merge pull request #32 from SamJakob/fix-windows-build

Closes #30, enabling builds on Windows under MSYS2 per instructions in Wiki
This commit is contained in:
Cas Cremers 2022-12-15 16:27:58 +01:00 committed by GitHub
commit 89a3e1dd24
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 25 additions and 3 deletions

View File

@ -45,7 +45,7 @@ If you are using Ubuntu, installing these may be as simple as running
In case you also want to be able to compile Windows binaries from Linux, In case you also want to be able to compile Windows binaries from Linux,
you also need: you also need:
* `mingw32` * `i686-w64-mingw32`
Note that welcome all contributions, e.g., further protocol models. Just send Note that welcome all contributions, e.g., further protocol models. Just send
us a pull request. us a pull request.

22
src/Build-Win32.cmake Normal file
View File

@ -0,0 +1,22 @@
################################################################
# Name: BuildUnix-Win32.cmake
# Purpose: Build Win32 binary on Unix
# Author: Cas Cremers
################################################################
message (STATUS "Building W32 version")
# This should work on win32 platform, but also when the compiler
# is available anyway under linux
set (CMAKE_C_COMPILER "i686-w64-mingw32-gcc")
set (CMAKE_CXX_COMPILER "i686-w64-mingw32-g++")
set (CMAKE_SHARED_LIBRARY_LINK_C_FLAGS) # to get rid of -rdynamic
# Signal for windows
set (CMAKE_C_FLAGS "-DFORWINDOWS")
# Static where possible (i.e. only not on the APPLE)
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -static -m32")
set (scythername "scyther-w32.exe")
add_executable (${scythername} ${Scyther_sources})

View File

@ -8,8 +8,8 @@ message (STATUS "Building W32 version")
# This should work on win32 platform, but also when the compiler # This should work on win32 platform, but also when the compiler
# is available anyway under linux # is available anyway under linux
set (CMAKE_C_COMPILER "i586-mingw32msvc-gcc") set (CMAKE_C_COMPILER "i686-w64-mingw32-gcc")
set (CMAKE_CXX_COMPILER "i586-mingw32msvc-g++") set (CMAKE_CXX_COMPILER "i686-w64-mingw32-g++")
set (CMAKE_SHARED_LIBRARY_LINK_C_FLAGS) # to get rid of -rdynamic set (CMAKE_SHARED_LIBRARY_LINK_C_FLAGS) # to get rid of -rdynamic
# Signal for windows # Signal for windows
set (CMAKE_C_FLAGS "-DFORWINDOWS") set (CMAKE_C_FLAGS "-DFORWINDOWS")