# of "core", "client", "mono" or "all".
# -DQT=/path/to/qt : Choose a Qt4 installation to use instead of the system Qt4
# -DSTATIC=1 : Enable static building of Quassel, most useful with a static Qt.
+# -DSTATICWIN=1 : Enable static building for Windows.
# -DSPUTDEV : Do not use.
#
# NOTE: You need to remove CMakeCache.txt if you plan to change any of these values!
project(QuasselIRC)
cmake_minimum_required(VERSION 2.4.5)
+cmake_policy(SET CMP0003 OLD) # suppress linker warnings
+
+if(STATICWIN)
+ set(CMAKE_BUILD_TYPE Release)
+endif(STATICWIN)
set(QT_MIN_VERSION "4.4.0")
link_directories(${CMAKE_BINARY_DIR}/staticlibs)
endif(DEFINED STATIC)
+if(STATICWIN AND WIN32)
+ link_libraries(imm32 winmm) # missing by default :/
+endif(STATICWIN AND WIN32)
+
+# FIXME: Add icons for windows as soon as we have merged with trunk (which has reorganized
+# the icon files):
+# Simply add the .rc file to the targets
+
# Here comes the dirty part. Our targets need different Qt4 modules, i.e. different libs
# and defines. We can't simply include UseQt4 several times, since definitions add up.
# We workaround this by using our own macro to figure out what to add.
cleans up properly (qmake often didn't). If you really want to get rid of all build files,
just remove the build directory.
-Usually, you should build Quassel as follows:
+Usually, you will build Quassel as follows:
cd /path/to/build/dir
cmake /path/to/quassel
Enable static building of Quassel. You should link the static versions of some libs
(in particular libstdc++.a) into /path/to/build/dir/staticlibs in oder to create
a portable binary!
+
+-DSTATICWIN=1
+ Enable static building for Windows platforms. This adds some libs that are not automatically
+ included for some reason.
+
+BUILDING ON WINDOWS:
+--------------------
+We have tested building on Windows with a statically built Qt (with its /bin directory in %PATH%)
+and MSVC 2005/2008. Make sure that you use a "shell" that has all needed env variables setup,
+such as the "Visual Studio Command Prompt". You will also need the /bin of the Microsoft SDK in
+your %PATH% at least for VS 2008, otherwise rc.exe is not found.
+Currently, only building in the shell using nmake seems to work; CMake can also create MSVC project
+files, but they seem to be problematic. However, YMMV.
+
+After you have everything setup:
+
+cd C:\path\to\quassel-build
+cmake -G"NMake Makefiles" C:\path\to\quassel\source -DSTATICWIN=1
+nmake