From a89eafe45c740d208ed4890596f58d3ec6279067 Mon Sep 17 00:00:00 2001 From: "K. S. Ernest (iFire) Lee" Date: Sat, 20 Jul 2024 13:48:18 -0700 Subject: [PATCH 1/2] Don't build shared libs for riscv. --- CMakeLists.txt | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b7316773..b23190d2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,11 +6,13 @@ option(STATIC_BUILD "Build statically" OFF) set(BUILD_SHARED_LIBS ON CACHE BOOL "Build shared libraries") set(SOURCES - src/gvar.cpp - src/shmain.cpp + src/gvar.cpp + src/shmain.cpp src/register_types.cpp src/syscalls.cpp ) + +set(BUILD_SHARED_LIBS OFF) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC") # Check if MinGW @@ -36,5 +38,5 @@ add_library(godot-riscv SHARED ${SOURCES}) target_link_libraries(godot-riscv PUBLIC riscv godot-cpp) if (STATIC_BUILD) - target_link_libraries(godot-riscv PUBLIC -static) + target_link_libraries(godot-riscv PUBLIC -static) endif() From ff11743c3126d1e4e17e0165488661027014c2e2 Mon Sep 17 00:00:00 2001 From: "K. S. Ernest (iFire) Lee" Date: Sat, 20 Jul 2024 14:16:37 -0700 Subject: [PATCH 2/2] Force libgcc and libstdc++ as static. --- CMakeLists.txt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b23190d2..59637b4b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -15,8 +15,10 @@ set(SOURCES set(BUILD_SHARED_LIBS OFF) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC") -# Check if MinGW -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++20") +if (MINGW) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -static-libgcc -static-libstdc++ -static") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++20") +endif() if (SANITIZE) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address,undefined")