project(QuasselIRC)
cmake_minimum_required(VERSION 2.4.5)
-cmake_policy(SET CMP0003 OLD) # suppress linker warnings
+
+# This would suppress annoying warnings on cmake-2.6, but we can't use it
+# with 2.4, so... DUH!
+# cmake_policy(SET CMP0003 OLD) # suppress linker warnings
if(STATICWIN)
set(CMAKE_BUILD_TYPE Release)
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
#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)
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)
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})
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)
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)
+
+