[education/rkward] rkward/rbackend: Fix compilation on Windows

Thomas Friedrichsmeier null at kde.org
Fri May 10 17:04:24 BST 2024


Git commit ba7bf5cb638dc06f91201ad816a6fdda22ae4435 by Thomas Friedrichsmeier.
Committed on 06/05/2024 at 15:01.
Pushed by tfry into branch 'master'.

Fix compilation on Windows

M  +5    -2    rkward/rbackend/rkrbackend_dlopen.cpp
M  +4    -2    rkward/rbackend/rkwarddevice/CMakeLists.txt

https://invent.kde.org/education/rkward/-/commit/ba7bf5cb638dc06f91201ad816a6fdda22ae4435

diff --git a/rkward/rbackend/rkrbackend_dlopen.cpp b/rkward/rbackend/rkrbackend_dlopen.cpp
index 2e403677e..0ea11c5b5 100644
--- a/rkward/rbackend/rkrbackend_dlopen.cpp
+++ b/rkward/rbackend/rkrbackend_dlopen.cpp
@@ -5,7 +5,10 @@ SPDX-FileContributor: The RKWard Team <rkward-devel at kde.org>
 SPDX-License-Identifier: GPL-2.0-or-later
 */
 
-#ifdef Q_OS_WIN
+#if defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__)
+#define Win32
+#endif
+#ifdef Win32
 #include <windows.h>
 #else
 #include <dlfcn.h>
@@ -22,7 +25,7 @@ void *resolve_symb(void* dllinfo, const char* name) {
 int main(int argc, char *argv[]) {
 // TODO: Debugging!
 // TODO: Take lib name from CMake?
-#ifdef Q_OS_WIN
+#ifdef Win32
 	auto r_dllinfo = LoadLibraryA("R.dll");
 	auto rkb_dllinfo = LoadLibraryA("rkward.rbackend.lib.dll");
 #else
diff --git a/rkward/rbackend/rkwarddevice/CMakeLists.txt b/rkward/rbackend/rkwarddevice/CMakeLists.txt
index 08d57b12a..bbbef93cc 100644
--- a/rkward/rbackend/rkwarddevice/CMakeLists.txt
+++ b/rkward/rbackend/rkwarddevice/CMakeLists.txt
@@ -23,6 +23,8 @@ TARGET_LINK_LIBRARIES(rkgraphicsdevice.frontend Qt6::Widgets Qt6::Core Qt6::Netw
 ADD_LIBRARY(rkgraphicsdevice.backend STATIC ${rkgraphicsdevice_backend_SRCS})
 TARGET_LINK_LIBRARIES(rkgraphicsdevice.backend Qt6::Core Qt6::Network)
 IF(${DLOPEN_RLIB})
-TARGET_COMPILE_DEFINITIONS(rkgraphicsdevice.backend PUBLIC RK_DLOPEN_LIBRSO)
-TARGET_COMPILE_OPTIONS(rkgraphicsdevice.backend PUBLIC -fPIC)
+  TARGET_COMPILE_DEFINITIONS(rkgraphicsdevice.backend PUBLIC RK_DLOPEN_LIBRSO)
+  IF(NOT WIN32)
+    TARGET_COMPILE_OPTIONS(rkgraphicsdevice.backend PUBLIC -fPIC)
+  ENDIF()
 ENDIF()



More information about the rkward-tracker mailing list