aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--kde4/FindKDE4.cmake12
-rw-r--r--modules/CheckTypeSize.cmake52
-rw-r--r--modules/FindQt4.cmake2
3 files changed, 65 insertions, 1 deletions
diff --git a/kde4/FindKDE4.cmake b/kde4/FindKDE4.cmake
index 2df6b765..8e4c4d4d 100644
--- a/kde4/FindKDE4.cmake
+++ b/kde4/FindKDE4.cmake
@@ -27,6 +27,16 @@
CMAKE_MINIMUM_REQUIRED(VERSION 2.2)
+IF(UNIX)
+ IF(APPLE)
+ MESSAGE(SEND_ERROR "Mac OSX not yet supported by FindKDE4.cmake and KDE4Macros.cmake, please edit them as required")
+ ELSE(APPLE)
+ FIND_PACKAGE(X11 REQUIRED)
+ ENDIF(APPLE)
+ELSE(UNIX)
+ MESSAGE(SEND_ERROR "Win32 not yet supported by FindKDE4.cmake and KDE4Macros.cmake, please edit them as required")
+ENDIF(UNIX)
+
#this line includes FindQt.cmake, which searches the Qt library and headers
INCLUDE(FindQt4)
@@ -209,7 +219,7 @@ IF (NOT KDE4_FIND_QUIETLY)
ENDIF (NOT KDE4_FIND_QUIETLY)
#add the found Qt and KDE include directories to the current include path
-SET(KDE4_INCLUDE_DIRS ${QT_INCLUDE_DIR} ${KDE4_INCLUDE_DIR})
+SET(KDE4_INCLUDE_DIRS ${QT_INCLUDES} ${KDE4_INCLUDE_DIR} ${X11_INCLUDE_DIR} )
#INCLUDE_DIRECTORIES(${QT_INCLUDE_DIR} ${KDE4_INCLUDE_DIR} .)
#LINK_DIRECTORIES(${KDE4_LIB_DIR})
diff --git a/modules/CheckTypeSize.cmake b/modules/CheckTypeSize.cmake
new file mode 100644
index 00000000..c4163cc1
--- /dev/null
+++ b/modules/CheckTypeSize.cmake
@@ -0,0 +1,52 @@
+# - Check sizeof a type
+# CHECK_TYPE_SIZE(TYPE VARIABLE)
+# Check if the type exists and determine size of type. if the type
+# exists, the size will be stored to the variable.
+#
+# VARIABLE - variable to store size if the type exists.
+# HAVE_${VARIABLE} - does the variable exists or not
+
+MACRO(CHECK_TYPE_SIZE TYPE VARIABLE)
+ SET(CMAKE_ALLOW_UNKNOWN_VARIABLE_READ_ACCESS 1)
+ IF("HAVE_${VARIABLE}" MATCHES "^HAVE_${VARIABLE}$")
+ SET(CHECK_TYPE_SIZE_TYPE "${TYPE}")
+ SET(MACRO_CHECK_TYPE_SIZE_FLAGS
+ "${CMAKE_REQUIRED_FLAGS}")
+ FOREACH(def HAVE_SYS_TYPES_H HAVE_STDINT_H HAVE_STDDEF_H)
+ IF("${def}")
+ SET(MACRO_CHECK_TYPE_SIZE_FLAGS
+ "${MACRO_CHECK_TYPE_SIZE_FLAGS} -D${def}")
+ ENDIF("${def}")
+ ENDFOREACH(def)
+ SET(CHECK_TYPE_SIZE_PREINCLUDE)
+ SET(CHECK_TYPE_SIZE_PREMAIN)
+ FOREACH(def ${CMAKE_EXTRA_INCLUDE_FILES})
+ SET(CHECK_TYPE_SIZE_PREMAIN "${CHECK_TYPE_SIZE_PREMAIN}#include \"${def}\"\n")
+ ENDFOREACH(def)
+ CONFIGURE_FILE("${CMAKE_ROOT}/Modules/CheckTypeSize.c.in"
+ "${CMAKE_BINARY_DIR}/CMakeFiles/CMakeTmp/CheckTypeSize.c" IMMEDIATE @ONLY)
+ FILE(READ "${CMAKE_BINARY_DIR}/CMakeFiles/CMakeTmp/CheckTypeSize.c"
+ CHECK_TYPE_SIZE_FILE_CONTENT)
+ MESSAGE(STATUS "Check size of ${TYPE}")
+ IF(CMAKE_REQUIRED_LIBRARIES)
+ SET(CHECK_TYPE_SIZE_ADD_LIBRARIES
+ "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
+ ENDIF(CMAKE_REQUIRED_LIBRARIES)
+ TRY_RUN(${VARIABLE} HAVE_${VARIABLE}
+ ${CMAKE_BINARY_DIR}
+ "${CMAKE_BINARY_DIR}/CMakeFiles/CMakeTmp/CheckTypeSize.c"
+ CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_TYPE_SIZE_FLAGS}
+ "${CHECK_TYPE_SIZE_ADD_LIBRARIES}"
+ OUTPUT_VARIABLE OUTPUT)
+ IF(HAVE_${VARIABLE})
+ MESSAGE(STATUS "Check size of ${TYPE} - done")
+ FILE(APPEND ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeOutput.log
+ "Determining size of ${TYPE} passed with the following output:\n${OUTPUT}\n\n")
+ ELSE(HAVE_${VARIABLE})
+ MESSAGE(STATUS "Check size of ${TYPE} - failed")
+ FILE(APPEND ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeError.log
+ "Determining size of ${TYPE} failed with the following output:\n${OUTPUT}\nCheckTypeSize.c:\n${CHECK_TYPE_SIZE_FILE_CONTENT}\n\n")
+ ENDIF(HAVE_${VARIABLE})
+ ENDIF("HAVE_${VARIABLE}" MATCHES "^HAVE_${VARIABLE}$")
+ SET(CMAKE_ALLOW_UNKNOWN_VARIABLE_READ_ACCESS )
+ENDMACRO(CHECK_TYPE_SIZE)
diff --git a/modules/FindQt4.cmake b/modules/FindQt4.cmake
index d2cea8a4..9b7bb1dd 100644
--- a/modules/FindQt4.cmake
+++ b/modules/FindQt4.cmake
@@ -755,6 +755,8 @@ IF(QT4_QMAKE_FOUND)
# for unix add X11 stuff
IF(UNIX)
FIND_PACKAGE(X11)
+ FIND_PACKAGE(Threads)
+ SET(QT_QTCORE_LIBRARY ${QT_QTCORE_LIBRARY} ${CMAKE_THREAD_LIBS_INIT})
ENDIF(UNIX)