aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Fabio Bas2008-05-28 14:12:04 +0000
committerGravatar Fabio Bas2008-05-28 14:12:04 +0000
commitfcd99675ce751f1aaea2dd962f3caaba40aa6ade (patch)
treece9e3fddd74cb3374af7f7174cbdc337578d63bf
parentanother compilation fix (diff)
downloadKVIrc-fcd99675ce751f1aaea2dd962f3caaba40aa6ade.tar.gz
KVIrc-fcd99675ce751f1aaea2dd962f3caaba40aa6ade.tar.bz2
KVIrc-fcd99675ce751f1aaea2dd962f3caaba40aa6ade.zip
Fixed kvilib and kvirc compilation/linking under mingw32; now kvirc-mingw runs :)
(still todo: modules and install rules) git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@1862 17fca916-40b9-46aa-a4ea-0a15b648b75c
-rw-r--r--CMakeLists.txt5
-rw-r--r--src/CMakeLists.txt5
-rw-r--r--src/kvilib/CMakeLists.txt7
-rw-r--r--src/kvilib/config/kvi_settings.h21
-rw-r--r--src/kvilib/core/kvi_malloc.h2
-rw-r--r--src/kvilib/core/kvi_memmove.h2
-rw-r--r--src/kvilib/ext/kvi_crypt.cpp2
-rw-r--r--src/kvirc/CMakeLists.txt8
8 files changed, 34 insertions, 18 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index fc3b6c9ec..7d3e54ef2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -563,10 +563,7 @@ ENDIF()
# Win32 mingw/cmake build checks
############################################################################
IF(MINGW)
- ADD_DEFINITIONS(-DMINGW -DCOMPILE_USE_STANDALONE_MOC_SOURCES)
- SET(CMAKE_SHARED_LINKER_FLAGS "-fPIC -Wl,--export-all-symbols,--enable-auto-import,--enable-runtime-pseudo-reloc -Wno-deprecated")
- SET(CMAKE_MODULE_LINKER_FLAGS "-fPIC -Wl,--export-all-symbols,--enable-auto-import,--enable-runtime-pseudo-reloc -Wno-deprecated")
-
+ ADD_DEFINITIONS(-DMINGW -DCOMPILE_USE_STANDALONE_MOC_SOURCES -D_WIN32_WINNT=0x501 -DWINVER=0x501 -mwindows)
LIST(APPEND LIBS -lshlwapi)
ENDIF()
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 75f0c4445..d5875a2f0 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,9 +1,4 @@
# CMakeLists for src/
-# Windows need the win32registrar component
-IF(WIN32)
- ADD_SUBDIRECTORY(win32registrar)
-ENDIF()
-
# Find subdirs
SUBDIRS(kvilib kvirc modules) \ No newline at end of file
diff --git a/src/kvilib/CMakeLists.txt b/src/kvilib/CMakeLists.txt
index 451a6566e..911bfe6cd 100644
--- a/src/kvilib/CMakeLists.txt
+++ b/src/kvilib/CMakeLists.txt
@@ -209,10 +209,15 @@ IF(WANT_COEXISTENCE)
ELSE()
SET(KVILIB_BINARYNAME kvilib)
ENDIF()
+
+#we need this defined when mingw will compile moc files
+IF(MINGW)
+ ADD_DEFINITIONS(-D__KVILIB__)
+ENDIF()
ADD_LIBRARY(${KVILIB_BINARYNAME} SHARED ${kvilib_SRCS} ${kvilib_MOC_SRCS})
TARGET_LINK_LIBRARIES(${KVILIB_BINARYNAME} ${LIBS})
-
+
# Installation directives
SET_TARGET_PROPERTIES(${KVILIB_BINARYNAME} PROPERTIES VERSION ${VERSION_RELEASE} SOVERSION ${VERSION_MAJOR})
IF(UNIX)
diff --git a/src/kvilib/config/kvi_settings.h b/src/kvilib/config/kvi_settings.h
index d5070f652..44726054c 100644
--- a/src/kvilib/config/kvi_settings.h
+++ b/src/kvilib/config/kvi_settings.h
@@ -58,7 +58,23 @@
#else
#ifdef MINGW
#define COMPILE_ON_MINGW
- #define COMPILE_NO_X
+ #define COMPILE_NO_X
+ #define COMPILE_WITH_SYSTEM_MEMMOVE
+
+ #ifdef __KVILIB__
+ #define KVILIB_API __declspec(dllexport)
+ #else
+ #define KVILIB_API __declspec(dllimport)
+ #endif
+
+ #ifdef __KVIRC__
+ #define KVIRC_API __declspec(dllexport)
+ #else
+ #define KVIRC_API __declspec(dllimport)
+ #endif
+ #else
+ #define KVILIB_API
+ #define KVIRC_API
#endif
#ifdef Q_OS_MACX
@@ -92,9 +108,6 @@
#endif
#endif
- #define KVILIB_API
- #define KVIRC_API
-
#endif
#ifndef COMPILE_USE_QT4
diff --git a/src/kvilib/core/kvi_malloc.h b/src/kvilib/core/kvi_malloc.h
index 09f187bdb..0ce3c3e5c 100644
--- a/src/kvilib/core/kvi_malloc.h
+++ b/src/kvilib/core/kvi_malloc.h
@@ -35,7 +35,7 @@
#ifdef COMPILE_MEMORY_PROFILE
- #ifdef COMPILE_ON_WINDOWS
+ #if defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW)
#error "This stuff should be never compiled on Windows"
#endif
diff --git a/src/kvilib/core/kvi_memmove.h b/src/kvilib/core/kvi_memmove.h
index 71877a102..e220808d1 100644
--- a/src/kvilib/core/kvi_memmove.h
+++ b/src/kvilib/core/kvi_memmove.h
@@ -46,7 +46,7 @@
#else
- #ifdef COMPILE_ON_WINDOWS
+ #if defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW)
#error "This stuff should be never compiled on Windows"
#endif
diff --git a/src/kvilib/ext/kvi_crypt.cpp b/src/kvilib/ext/kvi_crypt.cpp
index 53679f062..3dd689daa 100644
--- a/src/kvilib/ext/kvi_crypt.cpp
+++ b/src/kvilib/ext/kvi_crypt.cpp
@@ -27,7 +27,7 @@
#include "kvi_crypt.h"
#include "kvi_locale.h"
-#ifdef COMPILE_ON_WINDOWS
+#if defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW)
#include "kvi_malloc.h"
#endif
diff --git a/src/kvirc/CMakeLists.txt b/src/kvirc/CMakeLists.txt
index be41215a2..0a5160af6 100644
--- a/src/kvirc/CMakeLists.txt
+++ b/src/kvirc/CMakeLists.txt
@@ -440,13 +440,19 @@ ELSE()
ENDIF()
ADD_EXECUTABLE(${KVIRC_BINARYNAME} ${kvirc_SRCS} ${kvirc_MOC_SRCS})
+
+#we need this defined when mingw will compile moc files
+IF(MINGW)
+ ADD_DEFINITIONS(-D__KVIRC__)
+ENDIF()
# Link libraries
TARGET_LINK_LIBRARIES(${KVIRC_BINARYNAME} ${KVILIB_BINARYNAME} ${LIBS})
IF(MINGW)
SET_TARGET_PROPERTIES(${KVIRC_BINARYNAME} PROPERTIES LINK_FLAGS "-Wl,--enable-auto-import,--enable-runtime-pseudo-reloc")
-ENDIF()
+ENDIF()
+
# Installation directives
IF(UNIX)
IF(APPLE)