Add support for compiling with QCA on Qt5
[quassel.git] / src / common / CMakeLists.txt
index 8690625..52560a1 100644 (file)
@@ -1,7 +1,5 @@
 # Builds the common module
 
-setup_qt_variables(Core Network)
-
 set(SOURCES
     aliasmanager.cpp
     authhandler.cpp
@@ -31,6 +29,7 @@ set(SOURCES
     networkevent.cpp
     peer.cpp
     peerfactory.cpp
+    presetnetworks.cpp
     quassel.cpp
     remotepeer.cpp
     settings.cpp
@@ -48,32 +47,46 @@ set(SOURCES
 )
 
 
-if (HAVE_QCA2)
+if (QCA2_FOUND OR QCA2-QT5_FOUND)
     set(SOURCES ${SOURCES} keyevent.cpp)
-endif(HAVE_QCA2)
+endif()
 
-if(NOT HAVE_ZLIB)
+if (ZLIB_FOUND)
+    add_definitions(-DHAVE_ZLIB)
+    include_directories(${ZLIB_INCLUDE_DIRS})
+else()
     set(SOURCES ${SOURCES} ../../3rdparty/miniz/miniz.c)
-endif(NOT HAVE_ZLIB)
+endif()
+
+if (HAVE_SYSLOG)
+    add_definitions(-DHAVE_SYSLOG)
+endif()
 
 if(APPLE)
   set(SOURCES ${SOURCES} mac_utils.cpp)
 endif(APPLE)
 
-if(CMAKE_HOST_WIN32)
+if (WIN32)
     set(SOURCES ${SOURCES} logbacktrace_win.cpp)
-endif(CMAKE_HOST_WIN32)
-if(CMAKE_HOST_UNIX)
+else()
+    if (EXECINFO_FOUND)
+        add_definitions(-DHAVE_EXECINFO)
+        include_directories(${EXECINFO_INCLUDES})
+    endif()
     set(SOURCES ${SOURCES} logbacktrace_unix.cpp)
-endif(CMAKE_HOST_UNIX)
+endif()
 
-include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR} ${QUASSEL_QT_INCLUDES})  # for version.inc and version.gen
+qt_add_resources(SOURCES ${COMMON_RCS})
 
 add_library(mod_common STATIC ${SOURCES})
-set_target_properties(mod_common PROPERTIES COMPILE_FLAGS "${QUASSEL_QT_COMPILEFLAGS}")
+qt_use_modules(mod_common Core Network)
 
 if(APPLE)
   target_link_libraries(mod_common "-framework CoreServices" "-framework CoreFoundation")
 endif(APPLE)
 
-target_link_libraries(mod_common ${CMAKE_DL_LIBS})
+target_link_libraries(mod_common ${CMAKE_DL_LIBS} ${EXECINFO_LIBRARIES} ${ZLIB_LIBRARIES})
+
+# This is needed so translations are generated before trying to build the qrc.
+# Should probably find a nicer solution with proper dependencies between the involved files, though...
+add_dependencies(mod_common po)