[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