From ba00473b937c24d6a926822a2db2c7f1a786f8c1 Mon Sep 17 00:00:00 2001 From: Anton Mamontov Date: Sun, 22 Feb 2026 19:37:49 -0800 Subject: [PATCH 1/2] Enable static linking for portability --- Bootstrapper/CMakeLists.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Bootstrapper/CMakeLists.txt b/Bootstrapper/CMakeLists.txt index f03fb10..6046cf8 100644 --- a/Bootstrapper/CMakeLists.txt +++ b/Bootstrapper/CMakeLists.txt @@ -4,6 +4,9 @@ project(Bootstrapper) set(CMAKE_CXX_STANDARD 23) set(CMAKE_CXX_STANDARD_REQUIRED ON) +# Use static CRT (/MT) - no dependency on vcruntime140.dll, ucrtbase.dll, or msvcp140.dll +set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") + add_library(${PROJECT_NAME} SHARED src/library.cpp) target_include_directories(${PROJECT_NAME} PRIVATE include) From 6abfe3f9c92a7bc6d8c1bed4aed20b580cd6405f Mon Sep 17 00:00:00 2001 From: Anton Mamontov Date: Sun, 22 Feb 2026 19:56:17 -0800 Subject: [PATCH 2/2] Add static linking for linux too --- Bootstrapper/CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Bootstrapper/CMakeLists.txt b/Bootstrapper/CMakeLists.txt index 6046cf8..6d38087 100644 --- a/Bootstrapper/CMakeLists.txt +++ b/Bootstrapper/CMakeLists.txt @@ -12,6 +12,8 @@ target_include_directories(${PROJECT_NAME} PRIVATE include) if (NOT WIN32) target_link_libraries(${PROJECT_NAME} PRIVATE dl) + # Statically link libgcc and libstdc++ - no dependency on system libgcc_s.so or libstdc++.so + target_link_options(${PROJECT_NAME} PRIVATE -static-libgcc -static-libstdc++) endif () install(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_BINARY_DIR}/bin)