[education/rkward] /: Force backend process into UTF8 mode on Windows

Thomas Friedrichsmeier null at kde.org
Thu Sep 4 20:46:54 BST 2025


Git commit 95964855b94b395bd2f761534b5f73a162d50f67 by Thomas Friedrichsmeier.
Committed on 03/09/2025 at 18:03.
Pushed by tfry into branch 'master'.

Force backend process into UTF8 mode on Windows

M  +1    -0    .reuse/dep5
M  +10   -2    rkward/rbackend/CMakeLists.txt
A  +9    -0    rkward/rbackend/winutf8.manifest

https://invent.kde.org/education/rkward/-/commit/95964855b94b395bd2f761534b5f73a162d50f67

diff --git a/.reuse/dep5 b/.reuse/dep5
index a2fcbcd29..375ec4423 100644
--- a/.reuse/dep5
+++ b/.reuse/dep5
@@ -36,6 +36,7 @@ Files:
   rkward/rkward_windows_icon.rc
   rkward/rkward.protocol
   rkward/rbackend/rkward.rbackend.entitlements
+  rkward/rbackend/winutf8.manifest
 Comment: Assorted source files that cannot (easily) contain SPDX licence headers
 Copyright: Thomas Friedrichsmeier <thomas.friedrichsmeier at kdemail.net>
 Contributor: The RKWard Team <rkward-devel at kde.org>
diff --git a/rkward/rbackend/CMakeLists.txt b/rkward/rbackend/CMakeLists.txt
index 7e580bb8d..479617b39 100644
--- a/rkward/rbackend/CMakeLists.txt
+++ b/rkward/rbackend/CMakeLists.txt
@@ -66,13 +66,21 @@ IF(${DLOPEN_RLIB})
     TARGET_LINK_LIBRARIES(rkward.rbackend.lib "-framework CoreFoundation")
   ENDIF()
 
-  ADD_EXECUTABLE(rkward.rbackend rkrbackend_dlopen.cpp)
+  IF(WIN32)
+    ADD_EXECUTABLE(rkward.rbackend rkrbackend_dlopen.cpp winutf8.manifest)
+  ELSE()
+    ADD_EXECUTABLE(rkward.rbackend rkrbackend_dlopen.cpp)
+  ENDIF()
   IF(NOT WIN32)
     TARGET_LINK_LIBRARIES(rkward.rbackend dl)
   ENDIF()
 ELSE(${DLOPEN_RLIB})
   LINK_DIRECTORIES(${R_SHAREDLIBDIR})
-  ADD_EXECUTABLE(rkward.rbackend ${rbackend_backend_SRCS} ${rbackend_shared_SRCS})
+  IF(WIN32)
+    ADD_EXECUTABLE(rkward.rbackend ${rbackend_backend_SRCS} ${rbackend_shared_SRCS})
+  ELSE()
+    ADD_EXECUTABLE(rkward.rbackend ${rbackend_backend_SRCS} ${rbackend_shared_SRCS} winutf8.manifest)
+  ENDIF()
   TARGET_LINK_LIBRARIES(rkward.rbackend rkgraphicsdevice.backend ${R_USED_LIBS} ${CMAKE_THREAD_LIBS_INIT} Qt6::Network Qt6::Core KF6::I18n)
 ENDIF(${DLOPEN_RLIB})
 ECM_MARK_NONGUI_EXECUTABLE(rkward.rbackend)
diff --git a/rkward/rbackend/winutf8.manifest b/rkward/rbackend/winutf8.manifest
new file mode 100644
index 000000000..324aa6d6a
--- /dev/null
+++ b/rkward/rbackend/winutf8.manifest
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
+  <assemblyIdentity type="win32" name="..." version="6.0.0.0"/>
+  <application>
+    <windowsSettings>
+      <activeCodePage xmlns="http://schemas.microsoft.com/SMI/2019/WindowsSettings">UTF-8</activeCodePage>
+    </windowsSettings>
+  </application>
+</assembly>



More information about the rkward-tracker mailing list