Changed the BufferView System to a MVC Design Pattern
[quassel.git] / CMakeLists.txt
index eaf8be0..5a365e5 100644 (file)
@@ -24,26 +24,30 @@ IF(NOT BUILD_MONO AND NOT BUILD_CORE AND NOT BUILD_GUI)
   MESSAGE(FATAL_ERROR "\nYou have not selected which parts of Quassel I should build. Aborting.\nRun 'cmake <path> -DBUILD=<part>', where <part> contains one or more of 'core', 'gui' or 'monolithic', or 'all' to build everything.\n")
 ENDIF(NOT BUILD_MONO AND NOT BUILD_CORE AND NOT BUILD_GUI)
 
+SET(CMAKE_BUILD_TYPE Debug)
+
 # Define files
 SET(quassel_mono_SRCS main/main_mono.cpp)
 SET(quassel_core_SRCS main/main_core.cpp)
 SET(quassel_gui_SRCS  main/main_gui.cpp ${common_SRCS})
 SET(quassel_RCCS images/icons.qrc)
-SET(quassel_DIRS main gui core network)
+SET(quassel_DIRS main gui core)
 
 # Build correct absolute paths for subdirs to include
 SET(SDIRS "")
 FOREACH(dir ${quassel_DIRS})
   SET(SDIRS ${SDIRS} "${CMAKE_CURRENT_SOURCE_DIR}/${dir}")
 ENDFOREACH(dir)
-INCLUDE_DIRECTORIES(${SDIRS})
+INCLUDE_DIRECTORIES(${SDIRS} plugins)
+INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
 
 # We need Qt4 support.
-SET(QT_MIN_VERSION "4.2.0") 
+SET(QT_MIN_VERSION "4.3.0")  # 4.3 is required for SSL, crypto and some other stuff
 FIND_PACKAGE(Qt4 REQUIRED)
 
 # Set needed libraries
 SET(QT_USE_QTXML true)
+SET(QT_USE_QTSQL true)
 SET(QT_USE_QTNETWORK true)
 SET(QT_DONT_USE_QTGUI true)   # This is added later if GUI is requested
 INCLUDE(${QT_USE_FILE})
@@ -54,19 +58,20 @@ INCLUDE(${QT_USE_FILE})
 ADD_SUBDIRECTORY(main)
 IF(BUILD_CORE)
   ADD_SUBDIRECTORY(core)
-  ADD_SUBDIRECTORY(network)
 ENDIF(BUILD_CORE)
 IF(BUILD_MONO AND NOT BUILD_CORE)
   ADD_SUBDIRECTORY(core)
-  ADD_SUBDIRECTORY(network)
 ENDIF(BUILD_MONO AND NOT BUILD_CORE)
 
 QT4_ADD_RESOURCES(_RCCS ${quassel_RCCS})
 
+SET(TARGET_LIST )
+
 IF(BUILD_CORE)
   ADD_DEFINITIONS(-DBUILD_CORE)
   ADD_EXECUTABLE(quasselcore ${quassel_core_SRCS} ${_RCCS})
-  TARGET_LINK_LIBRARIES(quasselcore core network main ${QT_LIBRARIES})
+  TARGET_LINK_LIBRARIES(quasselcore core main ${QT_LIBRARIES})
+  SET(TARGET_LIST ${TARGET_LIST} quasselcore)
 ENDIF(BUILD_CORE)
 
 IF(BUILD_GUI OR BUILD_MONO)  # OK, now we need QtGui!
@@ -80,13 +85,20 @@ IF(BUILD_GUI OR BUILD_MONO)  # OK, now we need QtGui!
   IF(BUILD_MONO)
     ADD_DEFINITIONS(-DBUILD_MONO)
     ADD_EXECUTABLE(quassel ${quassel_mono_SRCS} ${_RCCS})
-    TARGET_LINK_LIBRARIES(quassel gui core network main ${QT_LIBRARIES})
+    TARGET_LINK_LIBRARIES(quassel gui core main ${QT_LIBRARIES})
+    SET(TARGET_LIST ${TARGET_LIST} quassel)
   ENDIF(BUILD_MONO)
 
   IF(BUILD_GUI)
     ADD_DEFINITIONS(-DBUILD_GUI)
     ADD_EXECUTABLE(quasselgui ${quassel_gui_SRCS} ${_RCCS})
     TARGET_LINK_LIBRARIES(quasselgui gui main ${QT_LIBRARIES})
+    SET(TARGET_LIST ${TARGET_LIST} quasselgui)
   ENDIF(BUILD_GUI)
 
 ENDIF(BUILD_GUI OR BUILD_MONO)
+
+INSTALL(TARGETS ${TARGET_LIST}
+        RUNTIME DESTINATION bin
+        LIBRARY DESTINATION lib
+        ARCHIVE DESTINATION lib/static)