Use KTextEdit instead of QLineEdit. On most KDE systems this means Spell Check support!
[quassel.git] / CMakeLists.txt
index 0b2a96c..6a2cf83 100644 (file)
@@ -66,6 +66,7 @@ set(LINGUAS "" CACHE STRING "Comma-separated list of locales specifying language
 
 # Some settings imply others
 if(STATIC)
+  add_definitions(-DSTATIC)
   set(WITH_KDE OFF CACHE BOOL "Static building with KDE is not supported")
 endif(STATIC)
 
@@ -74,10 +75,38 @@ if(WIN32)
   set(EMBED_DATA ON)
 endif(WIN32)
 
+# For static builds, arbitrary extra libs might need to be linked
+# Define a comma-separated list here
+# e.g. for pgsql, we need -DLINK_EXTRA=pq;crypt
+set(LINK_EXTRA "" CACHE STRING "Semicolon-separated list of libraries to be linked")
+if(LINK_EXTRA)
+  string(REPLACE "," ";" LINK_EXTRA ${LINK_EXTRA})
+  link_libraries(${LINK_EXTRA})
+endif(LINK_EXTRA)
+
+# Build Type
+# We need to make sure it's not empty
+# Supported: Release, RelWithDebugInfo, Debug, Debugfull
+
+# On WIN32, only Release seems to work correctly (?)
+if(WIN32)
+  set(DEFAULT_BUILD_TYPE "Release")
+else(WIN32)
+  set(DEFAULT_BUILD_TYPE "RelWithDebugInfo")
+endif(WIN32)
+
+set(CMAKE_BUILD_TYPE ${DEFAULT_BUILD_TYPE} CACHE STRING "CMake Build Type")
+if(NOT CMAKE_BUILD_TYPE)
+  set(CMAKE_BUILD_TYPE ${DEFAULT_BUILD_TYPE} CACHE STRING "CMake Build Type" FORCE)
+endif(NOT CMAKE_BUILD_TYPE)
+
 # Enable various flags on gcc
 if(CMAKE_COMPILER_IS_GNUCXX)
   # Let's just hope that all gccs support these options and skip the tests...
   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ansi -Wall -Wextra -Wnon-virtual-dtor")
+  set(CMAKE_CXX_FLAGS_RELWITHDEBUGINFO "-O2")
+  set(CMAKE_CXX_FLAGS_DEBUG "-g -fno-reorder-blocks -fno-schedule-insns -fno-inline")
+  set(CMAKE_CXX_FLAGS_DEBUGFULL "-g3")
 endif(CMAKE_COMPILER_IS_GNUCXX)
 
 set(QT_MIN_VERSION "4.4.0")
@@ -228,17 +257,17 @@ if(STATIC AND CMAKE_COMPILER_IS_GNUCXX)
 endif(STATIC AND CMAKE_COMPILER_IS_GNUCXX)
 
 if(WIN32)
-  #if(STATIC)
-  link_libraries(imm32 winmm dbghelp)  # missing by default :/
-  #endif(STATIC)
+  link_libraries(imm32 winmm dbghelp Secur32)  # missing by default :/
+
   if(HAVE_SSL)
      link_libraries(${OPENSSL_LIBRARIES} libeay32MD)
   endif(HAVE_SSL)
 endif(WIN32)
 
-if(WIN32)
-  set(RC_WIN32 ../pics/win32.rc)  # for app icons on windows
-endif(WIN32)
+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.