qmake-based build system should work now! Please test. If I don't get complaints,
authorManuel Nickschas <sputnick@quassel-irc.org>
Tue, 9 Oct 2007 22:05:34 +0000 (22:05 +0000)
committerManuel Nickschas <sputnick@quassel-irc.org>
Tue, 9 Oct 2007 22:05:34 +0000 (22:05 +0000)
the cmake files will be removed soonish.
See build/quassel.pro for short instructions, or just run 'qmake && make' in the build dir.

NOTE: Files must now be declared in the various *.pri files found in the module directories!

14 files changed:
Quassel.kdevelop.filelist
build/modules/client.pro
build/modules/common.pro
build/modules/core.pro
build/modules/module.pri
build/quassel.pro
build/targets/core.pri
build/targets/core.pro
build/targets/monolithic.pri
build/targets/monolithic.pro
build/targets/qtgui.pri [new file with mode: 0644]
build/targets/qtgui.pro [new file with mode: 0644]
build/targets/target.pri
quassel.pro

index 72570ff..d4e2802 100644 (file)
@@ -134,3 +134,7 @@ qtopia-build
 qtopia-build/Makefile
 src/qtopia/topicbar.cpp
 src/qtopia/topicbar.h
+src/qtopia/chatline.cpp
+src/qtopia/chatline.h
+src/qtopia/chatwidget.cpp
+src/qtopia/chatwidget.h
index 0cfe577..0ae6108 100644 (file)
@@ -1,3 +1,2 @@
 MODULE = client
 include(module.pri)
-
index 6242197..e2dcb4e 100644 (file)
@@ -1,3 +1,2 @@
 MODULE = common
 include(module.pri)
-
index 64986f6..4e30dc4 100644 (file)
@@ -1,3 +1,2 @@
 MODULE = core
 include(module.pri)
-
index 9de04b0..6be89a8 100644 (file)
@@ -1,3 +1,6 @@
+# module.pri
+# This file is included by module project files.
+
 TEMPLATE = lib
 CONFIG += staticlib
 
@@ -18,9 +21,9 @@ MODPATH = $$SRCPATH/$$MODULE  # Path to the module files
 
 # Define build directories
 
-OBJECTS_DIR = $${MODNAME}.tmp
-MOC_DIR = $${MODNAME}.tmp
-UI_DIR = $${MODNAME}.tmp
+OBJECTS_DIR = .$$MODNAME
+MOC_DIR =     .$$MODNAME
+UI_DIR =      .$$MODNAME
 
 # Load module settings (files etc.)
 
index fd36dda..7ce2387 100644 (file)
@@ -1,6 +1,29 @@
+# This project file can be used to set up a build environment for quassel.
+# To build the default configuration (i.e. qtgui, core and monolithic client),
+# simply run
+#
+# > qmake && make
+#
+# in this directory. In order to select the binaries to build, you may set
+# the BUILD variable as follows:
+#
+# > qmake BUILD=<mode> && make
+#
+# where <mode> is a quoted string that may contain any of 'qtgui', 'core', 'mono' or 'all'.
+#
+# NOTE: To change the build configuration, you have to run 'make distclean' first!
+
+
+# Set project-wide config options
+CONFIG += qt debug warn_on
+
+TEMPLATE = subdirs
+
+# Check build configuration
 isEmpty(BUILD) {
-  BUILD = all
+  BUILD = all  # build everything by default
 }
+
 contains(BUILD, all) {
   BUILD += qtgui core mono
 }
@@ -17,14 +40,18 @@ contains(BUILD, core) {
   BUILD_TARGETS *= core
 }
 
-TEMPLATE = subdirs
+contains(BUILD, qtgui) {
+  include(targets/qtgui.pri)
+  BUILD_MODS *= $${MODULES}
+  BUILD_TARGETS *= qtgui
+}
 
+# Now, we first build all needed modules...
 for(mod, BUILD_MODS) {
   SUBDIRS += modules/$${mod}.pro
 }
 
+# ... followed by the binaries.
 for(target, BUILD_TARGETS) {
   SUBDIRS += targets/$${target}.pro
 }
-
-CONFIG += qt warn_on
index 502a7d6..e9cbc54 100644 (file)
@@ -1,4 +1,8 @@
 # Modules for quasselcore
+
+TARGET  = quasselcore
 MODULES = core common contrib/qxt
+DEFINES = BUILD_CORE
+
 QT -= gui
 QT += network sql
index bbd1093..69d7840 100644 (file)
@@ -1,4 +1,2 @@
-TARGET = quasselcore
-DEFINES += BUILD_CORE
 include(core.pri)
 include(target.pri)
index 4e8ebd7..5ba3269 100644 (file)
@@ -1,3 +1,7 @@
 # Modules for monolithic client
+
+TARGET  = quassel
 MODULES = core qtgui client common contrib/qxt
+DEFINES = BUILD_MONO
+
 QT += network sql
index d8a767e..f1afbe7 100644 (file)
@@ -1,4 +1,2 @@
-TARGET = quassel
-DEFINES += BUILD_MONO
 include(monolithic.pri)
 include(target.pri)
diff --git a/build/targets/qtgui.pri b/build/targets/qtgui.pri
new file mode 100644 (file)
index 0000000..3093065
--- /dev/null
@@ -0,0 +1,7 @@
+# Modules for quasselclient
+
+TARGET  = quasselclient
+MODULES = qtgui client common contrib/qxt
+DEFINES = BUILD_QTGUI
+
+QT += network
diff --git a/build/targets/qtgui.pro b/build/targets/qtgui.pro
new file mode 100644 (file)
index 0000000..f96c5a4
--- /dev/null
@@ -0,0 +1,2 @@
+include(qtgui.pri)
+include(target.pri)
index 29a8f6c..8f4646f 100644 (file)
@@ -1,6 +1,7 @@
 TEMPLATE = app
+
 SRCPATH = ../../src
-OBJECTS_DIR = $${TARGET}.tmp
+OBJECTS_DIR = .$$TARGET
 
 for(mod, MODULES) {
   INCLUDEPATH *= $$SRCPATH/$$mod
index 3c2b264..0fe1b35 100644 (file)
@@ -1,3 +1,17 @@
-SUBDIRS += build/quassel.pro
-TEMPLATE = subdirs 
-CONFIG += warn_on qt thread 
+# This project file can be used to set up a build environment for quassel.
+# To build the default configuration (i.e. qtgui, core and monolithic client),
+# simply run
+#
+# > qmake && make
+#
+# in this directory. In order to select the binaries to build, you may set
+# the BUILD variable as follows:
+#
+# > qmake BUILD=<mode> && make
+#
+# where <mode> is a quoted string that may contain any of 'qtgui', 'core', 'mono' or 'all'.
+#
+# NOTE: To change the build configuration, you have to run 'make distclean' first!
+
+TEMPLATE = subdirs
+SUBDIRS += build/quassel.pro