-# 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.
-
-# This macro sets variables for additional Qt modules.
-macro(setup_qt4_variables)
- set(QUASSEL_QT_DEFINITIONS ${QT_DEFINITIONS})
- set(QUASSEL_QT_LIBRARIES )
- foreach(qtmod ${ARGV})
- # This needs to be a string, not a list, otherwise set_target_properties screws up...
- set(QUASSEL_QT_DEFINITIONS "${QUASSEL_QT_DEFINITIONS} -DQT_${qtmod}_LIB")
- set(QUASSEL_QT_LIBRARIES ${QUASSEL_QT_LIBRARIES} ${QT_QT${qtmod}_LIBRARY} ${QT_${qtmod}_LIB_DEPENDENCIES})
- endforeach(qtmod ${ARGV})
- set(QUASSEL_QT_LIBRARIES ${QUASSEL_QT_LIBRARIES} ${QT_LIBRARIES})
-endmacro(setup_qt4_variables)
-
-# Now we have everything, so just glue the right pieces together :)
-if(BUILD_CORE)
- setup_qt4_variables(NETWORK SCRIPT SQL)
- add_executable(quasselcore ${CMAKE_SOURCE_DIR}/src/common/main.cpp
- ${RC_SQL} ${RC_I18N} ${WIN32_RC})
- set_target_properties(quasselcore PROPERTIES COMPILE_FLAGS "${QUASSEL_QT_DEFINITIONS} -DBUILD_CORE")
- target_link_libraries(quasselcore mod_core mod_common ${QUASSEL_QT_LIBRARIES})
-endif(BUILD_CORE)
-
-if(BUILD_QTCLIENT)
- setup_qt4_variables(GUI NETWORK)
- add_executable(quasselclient ${CMAKE_SOURCE_DIR}/src/common/main.cpp
- ${RC_ICONS} ${RC_QUASSEL_ICONS} ${RC_I18N} ${WIN32_RC})
- set_target_properties(quasselclient PROPERTIES COMPILE_FLAGS "${QUASSEL_QT_DEFINITIONS} -DBUILD_QTUI")
- target_link_libraries(quasselclient mod_qtui mod_uisupport mod_client mod_common ${QUASSEL_QT_LIBRARIES})
-endif(BUILD_QTCLIENT)
-
-if(BUILD_MONO)
- setup_qt4_variables(GUI NETWORK SCRIPT SQL)
- add_executable(quassel ${CMAKE_SOURCE_DIR}/src/common/main.cpp
- ${RC_ICONS} ${RC_QUASSEL_ICONS} ${RC_SQL} ${RC_I18N} ${WIN32_RC})
- set_target_properties(quassel PROPERTIES COMPILE_FLAGS "${QUASSEL_QT_DEFINITIONS} -DBUILD_MONO")
- target_link_libraries(quassel mod_qtui mod_uisupport mod_client mod_core mod_common ${QUASSEL_QT_LIBRARIES})
-endif(BUILD_MONO)
+if(STATIC)
+ link_directories(${QT_PLUGINS_DIR}/imageformats)
+ link_libraries(qjpeg qgif)
+endif(STATIC)
+
+# We need to create a version.gen
+# For this, we create our genversion binary and make sure it is run every time.
+add_executable(genversion ${CMAKE_SOURCE_DIR}/src/common/genversion.cpp)
+target_link_libraries(genversion ${QT_LIBRARIES} ${QT_CORE_LIB_DEPENDENCIES})
+
+get_target_property(GENVERSION_EXECUTABLE genversion LOCATION)
+add_custom_target(genversion_run ALL ${GENVERSION_EXECUTABLE}
+ ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR}/src/version.gen)
+add_dependencies(genversion_run genversion)
+
+# These variables will be added to the main targets (CORE, QTCLIENT, MONO)
+set(COMMON_DEPS ${RC_WIN32})
+set(CORE_DEPS )
+set(CLIENT_DEPS )
+
+# Add needed subdirs - the order is important, since src needs some vars set by other dirs
+add_subdirectory(data)
+add_subdirectory(icons)
+add_subdirectory(pics)
+add_subdirectory(i18n)
+add_subdirectory(src)