aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Alexey Uzhva2008-06-24 10:32:42 +0000
committerGravatar Alexey Uzhva2008-06-24 10:32:42 +0000
commitbf931cbeb3c1d539b61d4e9db2dc4d94d5591db4 (patch)
tree8c0424e30e7719a618767edb95b969e12da6c11f
parentkvilib compilation fixes under win32/msvc2008 (and under win32 at whole) (diff)
downloadKVIrc-bf931cbeb3c1d539b61d4e9db2dc4d94d5591db4.tar.gz
KVIrc-bf931cbeb3c1d539b61d4e9db2dc4d94d5591db4.tar.bz2
KVIrc-bf931cbeb3c1d539b61d4e9db2dc4d94d5591db4.zip
Fixes for win32 msvc build (now it works ok, but SLOW AS HELL: kvirc+kvilib without modules takes 1.5 hours on core2duo T5500)
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@1934 17fca916-40b9-46aa-a4ea-0a15b648b75c
-rw-r--r--CMakeLists.txt15
-rw-r--r--cmake/module.rules.txt18
-rw-r--r--src/kvilib/config/kvi_settings.h27
-rw-r--r--src/kvilib/ext/kvi_xlib.h34
-rw-r--r--src/kvilib/net/kvi_netutils.cpp3
-rw-r--r--src/kvirc/CMakeLists.txt10
-rw-r--r--src/kvirc/ui/kvi_cryptcontroller.h4
7 files changed, 60 insertions, 51 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5de54f3d4..452ff515f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -255,15 +255,11 @@ ENDIF()
FIND_PACKAGE(Qt4 REQUIRED)
IF(QT4_FOUND)
SET(QT_USE_QT3SUPPORT true)
- IF(NOT WIN32)
- IF(APPLE)
+
+ IF(APPLE)
SET(QT_USE_QTSQL true)
SET(QT_USE_QTXML true)
SET(QT_USE_QTNETWORK true)
- ELSE()
- # Assume linux
- SET(QT_USE_QTDBUS true)
- ENDIF()
ENDIF()
# Qt Phonon support
@@ -279,7 +275,8 @@ IF(QT4_FOUND)
SET(COMPILE_USE_QT4 1)
INCLUDE(${QT_USE_FILE})
- IF(QT_USE_QTDBUS)
+ IF(QT_QTDBUS_FOUND)
+ SET(QT_USE_QTDBUS true)
SET(CMAKE_STATUS_QTDBUS "yes")
SET(COMPILE_DBUS_SUPPORT 1)
# ADD_DEFINITIONS("-DCOMPILE_DBUS_SUPPORT")
@@ -358,10 +355,10 @@ ENDIF()
IF(WANT_OPENSSL)
FIND_PACKAGE(OpenSSL)
IF(OPENSSL_FOUND)
- IF(MINGW)
+ IF(WIN32)
# On windows/mingw we need libeay32 too...
FIND_LIBRARY(LIB_EAY NAMES libeay32MD eay libeay libeay32)
- IF(${LIB_EAY})
+ IF(LIB_EAY)
INCLUDE_DIRECTORIES(${OPENSSL_INCLUDE_DIR})
LIST(APPEND LIBS ${OPENSSL_LIBRARIES} ${LIB_EAY})
SET(COMPILE_SSL_SUPPORT 1)
diff --git a/cmake/module.rules.txt b/cmake/module.rules.txt
index a5388efec..aaba7bd6b 100644
--- a/cmake/module.rules.txt
+++ b/cmake/module.rules.txt
@@ -7,14 +7,16 @@ ELSE()
SET(KVILIB_BINARYNAME kvilib)
ENDIF()
-ADD_LIBRARY(${kvi_module_name} MODULE ${${kvi_module_name}_SRCS} ${${kvi_module_name}_MOC_SRCS})
-
-IF(MINGW)
- SET_TARGET_PROPERTIES(${kvi_module_name} PROPERTIES LINK_FLAGS "-Wl,--enable-auto-import,--enable-runtime-pseudo-reloc")
- TARGET_LINK_LIBRARIES(${kvi_module_name} ${KVILIB_BINARYNAME} ${KVIRC_BINARYNAME} ${LIBS})
-ELSE()
- TARGET_LINK_LIBRARIES(${kvi_module_name} ${KVILIB_BINARYNAME} ${LIBS})
-ENDIF()
+ADD_LIBRARY(${kvi_module_name} MODULE ${${kvi_module_name}_SRCS} ${${kvi_module_name}_MOC_SRCS})
+
+IF(WIN32)
+ IF(MINGW)
+ SET_TARGET_PROPERTIES(${kvi_module_name} PROPERTIES LINK_FLAGS "-Wl,--enable-auto-import,--enable-runtime-pseudo-reloc")
+ ENDIF()
+ TARGET_LINK_LIBRARIES(${kvi_module_name} ${KVILIB_BINARYNAME} ${KVIRC_BINARYNAME} ${LIBS})
+ELSE()
+ TARGET_LINK_LIBRARIES(${kvi_module_name} ${KVILIB_BINARYNAME} ${LIBS})
+ENDIF()
IF(UNIX)
IF(APPLE)
diff --git a/src/kvilib/config/kvi_settings.h b/src/kvilib/config/kvi_settings.h
index a61191a64..b9893b355 100644
--- a/src/kvilib/config/kvi_settings.h
+++ b/src/kvilib/config/kvi_settings.h
@@ -34,13 +34,21 @@
#include <QtGlobal>
+#ifdef KVIRC_EXTERNAL_MODULE
+ // when compiling an external module
+ // include the last configuration
+ #include "kvi_configstatus.h"
+#else
+ // assume CMake build system for all systems
+ #include "kvi_sysconfig.h"
+#endif
+
// FIXME: Once we have a stable CMake build system, this section needs a cleanup.
#if (defined(_OS_WIN32_) || defined(Q_OS_WIN32) || defined(Q_OS_WIN32_)) && !defined(MINGW)
#define COMPILE_WITH_SYSTEM_MEMMOVE
#define FEEL_LIKE_I_AM_COMPILING_UNDER_WINDOZE
#define COMPILE_ON_WINDOWS
- #define KVIRC_VERSION_RELEASE "COMPILED_WITH_VS"
#ifdef __KVILIB__
#define KVILIB_API __declspec(dllexport)
@@ -79,15 +87,6 @@
#define COMPILE_ON_MAC
#endif
- #ifdef KVIRC_EXTERNAL_MODULE
- // when compiling an external module
- // include the last configuration
- #include "kvi_configstatus.h"
- #else
- // assume CMake build system
- #include "kvi_sysconfig.h"
- #endif
-
#endif
#ifndef COMPILE_USE_QT4
@@ -96,11 +95,13 @@
#endif
#define KVI_VERSION KVIRC_VERSION_RELEASE
-#ifdef COMPILE_ON_WINDOWS
-#define KVI_VERSION_BRANCH "VS_BRANCH"
+
+#ifndef KVIRC_VERSION_BRANCH
+ #define KVI_VERSION_BRANCH "VS_BRANCH"
#else
-#define KVI_VERSION_BRANCH KVIRC_VERSION_BRANCH
+ #define KVI_VERSION_BRANCH KVIRC_VERSION_BRANCH
#endif
+
#define KVI_RELEASE_NAME "Insomnia"
#ifndef COMPILE_ON_WINDOWS
diff --git a/src/kvilib/ext/kvi_xlib.h b/src/kvilib/ext/kvi_xlib.h
index 53c0a879d..ee44b8829 100644
--- a/src/kvilib/ext/kvi_xlib.h
+++ b/src/kvilib/ext/kvi_xlib.h
@@ -26,25 +26,27 @@
#include "kvi_settings.h"
-#ifndef COMPILE_NO_X
+#ifndef COMPILE_ON_WINDOWS
+ #ifndef COMPILE_NO_X
- #ifdef Bool
- // Someone has defined Bool ?
- #undef Bool
- #endif
-
- #include <X11/Xlib.h>
+ #ifdef Bool
+ // Someone has defined Bool ?
+ #undef Bool
+ #endif
+
+ #include <X11/Xlib.h>
- // Too bad that X11/Xlib.h defines Bool, Error and Success... this basically
- // SUX since we can't use them anywhere in the source!
- // this breaks, enums in Qt, enums in KVIrc and other stuff all around...
- // Shame on you Xlib.h author :D
+ // Too bad that X11/Xlib.h defines Bool, Error and Success... this basically
+ // SUX since we can't use them anywhere in the source!
+ // this breaks, enums in Qt, enums in KVIrc and other stuff all around...
+ // Shame on you Xlib.h author :D
- #ifdef Bool
- // NO!
- #undef Bool
- #endif
+ #ifdef Bool
+ // NO!
+ #undef Bool
+ #endif
-#endif // !COMPILE_NO_X
+ #endif // !COMPILE_NO_X
+#endif
#endif //_KVI_XLIB_H_
diff --git a/src/kvilib/net/kvi_netutils.cpp b/src/kvilib/net/kvi_netutils.cpp
index ee0263885..e2836b474 100644
--- a/src/kvilib/net/kvi_netutils.cpp
+++ b/src/kvilib/net/kvi_netutils.cpp
@@ -303,7 +303,8 @@ static unsigned int scan_ip6(const char *s,char ip[16])
return len;
}
-#ifndef WIN2K
+#ifndef COMPILE_ON_WINDOWS
+// #include <Ws2tcpip.h> - already has it
int inet_pton(int AF, const char *CP, void *BUF) {
int len;
if (AF==AF_INET) {
diff --git a/src/kvirc/CMakeLists.txt b/src/kvirc/CMakeLists.txt
index 238393d16..4aeb5bcbe 100644
--- a/src/kvirc/CMakeLists.txt
+++ b/src/kvirc/CMakeLists.txt
@@ -441,6 +441,15 @@ ENDIF()
ADD_EXECUTABLE(${KVIRC_BINARYNAME} ${kvirc_SRCS} ${kvirc_MOC_SRCS})
+
+IF(MSVC)
+ LIST(APPEND LIBS shlwapi.lib)
+ENDIF()
+
+IF(MINGW)
+ LIST(APPEND LIBS shlwapi)
+ENDIF()
+
# Link libraries
TARGET_LINK_LIBRARIES(${KVIRC_BINARYNAME} ${KVILIB_BINARYNAME} ${LIBS})
@@ -458,6 +467,7 @@ IF(WIN32)
#we need this defined when mingw will compile moc files
ADD_DEFINITIONS(-D__KVIRC__)
ADD_DEFINITIONS(-DCOMPILE_USE_STANDALONE_MOC_SOURCES)
+ LIST(APPEND LIBS "shlwapi")
ENDIF()
diff --git a/src/kvirc/ui/kvi_cryptcontroller.h b/src/kvirc/ui/kvi_cryptcontroller.h
index 728351267..ef497a095 100644
--- a/src/kvirc/ui/kvi_cryptcontroller.h
+++ b/src/kvirc/ui/kvi_cryptcontroller.h
@@ -26,10 +26,6 @@
#include "kvi_settings.h"
-
-
-// Qt4 moc bails out on this ??????
-
#if defined(COMPILE_CRYPT_SUPPORT) || defined(Q_MOC_RUN)
#include "kvi_styled_controls.h"
#include "kvi_crypt.h"