quassel and quasselclient targets now generate a bundle on Mac OS X
[quassel.git] / CMakeLists.txt
index 2490abd..d9d8aa5 100644 (file)
@@ -50,6 +50,14 @@ else(BUILD MATCHES all)
   endif(BUILD MATCHES mono)
 endif(BUILD MATCHES all)
 
+# Enable mostly b0rked stuff (new ChatView), do not enable this unless you know what you do...
+if(SPUTDEV)
+  add_definitions(-DSPUTDEV)
+endif(SPUTDEV)
+
+# Set up OpenSSL
+find_package(OpenSSL)
+
 # Select a Qt installation here, if you don't want to use system Qt
 if(DEFINED QT)
   # FindQt4 will look for the qmake binary in $PATH, so we just prepend the Qt dir
@@ -57,11 +65,6 @@ if(DEFINED QT)
   #SET(QT_QMAKE_EXECUTABLE ${QT}/bin/qmake CACHE FILEPATH "" FORCE)
 endif(DEFINED QT)
 
-# Enable mostly b0rked stuff (new ChatView), do not enable this unless you know what you do...
-if(SPUTDEV)
-  add_definitions(-DSPUTDEV)
-endif(SPUTDEV)
-
 # Now that we have the correct $PATH, lets find Qt!
 find_package(Qt4 REQUIRED)
 
@@ -111,6 +114,9 @@ endif(DEFINED STATIC)
 
 if(STATICWIN AND WIN32)
   link_libraries(imm32 winmm)  # missing by default :/
+   if(OPENSSL_FOUND)
+     link_libraries(${OPENSSL_LIBRARIES} libeay32MD)
+   endif(OPENSSL_FOUND)
 endif(STATICWIN AND WIN32)
 
 if(WIN32)
@@ -129,7 +135,7 @@ endif(WIN32)
 macro(setup_qt4_variables)
   set(QUASSEL_QT_DEFINITIONS ${QT_DEFINITIONS})
   set(QUASSEL_QT_LIBRARIES )
-  foreach(qtmod ${ARGV})
+  foreach(qtmod CORE ${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})
@@ -142,7 +148,7 @@ 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")
+  set_target_properties(quasselcore PROPERTIES COMPILE_FLAGS "-DQT_NETWORK_LIB -DQT_SCRIPT_LIB -DQT_SQL_LIB -DBUILD_CORE")
   target_link_libraries(quasselcore mod_core mod_common ${QUASSEL_QT_LIBRARIES})
 endif(BUILD_CORE)
 
@@ -150,14 +156,18 @@ 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")
+  set_target_properties(quasselclient PROPERTIES COMPILE_FLAGS "-DQT_GUI_LIB -DQT_NETWORK_LIB -DBUILD_QTUI")
   target_link_libraries(quasselclient mod_qtui mod_uisupport mod_client mod_common ${QUASSEL_QT_LIBRARIES})
+  add_custom_command(TARGET quasselclient POST_BUILD COMMAND ${CMAKE_SOURCE_DIR}/scripts/build/macosx_makebundle.py ${CMAKE_SOURCE_DIR} "Quassel Client" quasselclient)
 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")
+  set_target_properties(quassel PROPERTIES COMPILE_FLAGS "-DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_SCRIPT_LIB -DQT_SQL_LIB -DBUILD_MONO")
   target_link_libraries(quassel mod_qtui mod_uisupport mod_client mod_core mod_common ${QUASSEL_QT_LIBRARIES})
+  add_custom_command(TARGET quassel POST_BUILD COMMAND ${CMAKE_SOURCE_DIR}/scripts/build/macosx_makebundle.py ${CMAKE_SOURCE_DIR} "Quassel" quassel)
 endif(BUILD_MONO)
+
+