aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/FindAGG.cmake45
-rw-r--r--modules/FindKDE4.cmake11
-rw-r--r--modules/FindQt4.cmake208
3 files changed, 106 insertions, 158 deletions
diff --git a/modules/FindAGG.cmake b/modules/FindAGG.cmake
new file mode 100644
index 00000000..6dc61dfe
--- /dev/null
+++ b/modules/FindAGG.cmake
@@ -0,0 +1,45 @@
+# - Try to find AGG
+# Once done this will define
+#
+# AGG_FOUND - system has AGG
+# AGG_INCLUDE_DIR - the AGG include directory
+# AGG_LIBRARY - Link these to use OpenGL and GLU
+# AGG_DEFINITIONS - Compiler switches required for using AGG
+#
+
+
+# use pkg-config to get the directories and then use these values
+# in the FIND_PATH() and FIND_LIBRARY() calls
+INCLUDE(UsePkgConfig)
+
+PKGCONFIG(libagg _AGGIncDir _AGGLinkDir _AGGLinkFlags _AGGCflags)
+
+SET(AGG_DEFINITIONS ${_AGGCflags})
+
+FIND_PATH(AGG_INCLUDE_DIR agg2/agg_conv_stroke.h
+ ${_AGGIncDir}
+ /usr/include
+ /usr/local/include
+)
+
+FIND_LIBRARY(AGG_LIBRARY NAMES agg
+ PATHS
+ ${_AGGLinkDir}
+ /usr/lib
+ /usr/local/lib
+)
+
+IF(AGG_INCLUDE_DIR AND AGG_LIBRARY)
+ SET(AGG_FOUND TRUE)
+ENDIF(AGG_INCLUDE_DIR AND AGG_LIBRARY)
+
+IF(AGG_FOUND)
+ IF(NOT AGG_FIND_QUIETLY)
+ MESSAGE(STATUS "Found AGG: ${AGG_LIBRARY}")
+ ENDIF(NOT AGG_FIND_QUIETLY)
+ELSE(AGG_FOUND)
+ IF(AGG_FIND_REQUIRED)
+ MESSAGE(FATAL_ERROR "Could not find AGG")
+ ENDIF(AGG_FIND_REQUIRED)
+ENDIF(AGG_FOUND)
+
diff --git a/modules/FindKDE4.cmake b/modules/FindKDE4.cmake
index 022fe454..77a407db 100644
--- a/modules/FindKDE4.cmake
+++ b/modules/FindKDE4.cmake
@@ -40,9 +40,6 @@ ENDIF(UNIX)
#this line includes FindQt.cmake, which searches the Qt library and headers
FIND_PACKAGE(Qt4 REQUIRED)
-#add the definitions found by FindQt to the current definitions
-#ADD_DEFINITIONS(${QT_DEFINITIONS} -DQT_CLEAN_NAMESPACE)
-
SET(QT_AND_KDECORE_LIBS ${QT_QTCORE_LIBRARY} kdecore)
#add some KDE specific stuff
@@ -51,21 +48,21 @@ SET(KDE4_DEFINITIONS -DQT3_SUPPORT -DQT_NO_STL -DQT_NO_CAST_TO_ASCII -DQT_NO_TRA
#only on linux, but not e.g. on FreeBSD:
-IF(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
+IF(CMAKE_SYSTEM_NAME MATCHES Linux)
SET(KDE4_DEFINITIONS ${KDE4_DEFINITIONS} -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_GNU_SOURCE)
SET(CMAKE_SHARED_LINKER_FLAGS "-Wl,--fatal-warnings -avoid-version -Wl,--no-undefined -lc")
SET(CMAKE_MODULE_LINKER_FLAGS "-Wl,--fatal-warnings -avoid-version -Wl,--no-undefined -lc")
SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-long-long -ansi -Wundef -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -O2 -Wformat-security -Wmissing-format-attribute -fno-common")
SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wnon-virtual-dtor -Wno-long-long -ansi -Wundef -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -O2 -Wformat-security -fno-exceptions -fno-check-new -fno-common")
-ENDIF(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
+ENDIF(CMAKE_SYSTEM_NAME MATCHES Linux)
-IF(${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
+IF(CMAKE_SYSTEM_NAME MATCHES FreeBSD)
SET(KDE4_DEFINITIONS ${KDE4_DEFINITIONS} -D_GNU_SOURCE)
SET(CMAKE_SHARED_LINKER_FLAGS "-avoid-version -lc")
SET(CMAKE_MODULE_LINKER_FLAGS "-avoid-version -lc")
SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-long-long -ansi -Wundef -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -O2 -Wformat-security -Wmissing-format-attribute -fno-common")
SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wnon-virtual-dtor -Wno-long-long -Wundef -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -O2 -Wformat-security -Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common")
-ENDIF(${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
+ENDIF(CMAKE_SYSTEM_NAME MATCHES FreeBSD)
# This will need to be modified later to support either Qt/X11 or Qt/Mac builds
IF(APPLE)
diff --git a/modules/FindQt4.cmake b/modules/FindQt4.cmake
index 4ed32e69..edc438a9 100644
--- a/modules/FindQt4.cmake
+++ b/modules/FindQt4.cmake
@@ -78,7 +78,6 @@
#
# QT_QT3SUPPORT_LIBRARY_DEBUG Fullpath to Qt3Support_debug library
# QT_QTASSISTANT_LIBRARY_DEBUG Fullpath to QtAssistant_debug library
-#
# QT_QTCORE_LIBRARY_DEBUG Fullpath to QtCore_debug
# QT_QTDESIGNER_LIBRARY_DEBUG Fullpath to QtDesigner_debug
# QT_QTGUI_LIBRARY_DEBUG Fullpath to QtGui_debug
@@ -290,46 +289,10 @@ IF(QT4_QMAKE_FOUND)
)
# Make variables changeble to the advanced user
- MARK_AS_ADVANCED(
- QT_LIBRARY_DIR
- QT_INCLUDE_DIR
- QT_QT_INCLUDE_DIR
- QT_QT3SUPPORT_INCLUDE_DIR
- QT_QTASSISTANT_INCLUDE_DIR
- QT_QTCORE_INCLUDE_DIR
- QT_QTDESIGNER_INCLUDE_DIR
- QT_QTGUI_INCLUDE_DIR
- QT_QTMOTIF_INCLUDE_DIR
- QT_QTNETWORK_INCLUDE_DIR
- QT_QTNSPLUGIN_INCLUDE_DIR
- QT_QTOPENGL_INCLUDE_DIR
- QT_QTSQL_INCLUDE_DIR
- QT_QTXML_INCLUDE_DIR
- )
+ MARK_AS_ADVANCED( QT_LIBRARY_DIR QT_INCLUDE_DIR QT_QT_INCLUDE_DIR )
# Set QT_INCLUDES
- SET( QT_INCLUDES
- ${QT_INCLUDE_DIR}
- ${QT_QTCORE_INCLUDE_DIR}
- ${QT_QT_INCLUDE_DIR}
- ${QT_QTGUI_INCLUDE_DIR}
- )
- # append optional flags
- MACRO(QT4_APPEND_INCLUDES_FLAG FLAG)
- IF(${FLAG})
- SET(QT_INCLUDES ${QT_INCLUDES} "${${FLAG}}")
- ENDIF(${FLAG})
- ENDMACRO(QT4_APPEND_INCLUDES_FLAG)
- QT4_APPEND_INCLUDES_FLAG(QT_QT3SUPPORT_INCLUDE_DIR)
- QT4_APPEND_INCLUDES_FLAG(QT_QTASSISTANT_INCLUDE_DIR)
- QT4_APPEND_INCLUDES_FLAG(QT_QTDESIGNER_INCLUDE_DIR)
- QT4_APPEND_INCLUDES_FLAG(QT_QTDESIGNER_INCLUDE_DIR)
- QT4_APPEND_INCLUDES_FLAG(QT_QTMOTIF_INCLUDE_DIR)
- QT4_APPEND_INCLUDES_FLAG(QT_QTNETWORK_INCLUDE_DIR)
- QT4_APPEND_INCLUDES_FLAG(QT_QTNSPLUGIN_INCLUDE_DIR)
- QT4_APPEND_INCLUDES_FLAG(QT_QTOPENGL_INCLUDE_DIR)
- QT4_APPEND_INCLUDES_FLAG(QT_QTSQL_INCLUDE_DIR)
- QT4_APPEND_INCLUDES_FLAG(QT_QTXML_INCLUDE_DIR)
+ SET( QT_INCLUDES ${QT_INCLUDE_DIR} ${QT_QT_INCLUDE_DIR} )
########################################
@@ -443,116 +406,48 @@ IF(QT4_QMAKE_FOUND)
FIND_LIBRARY(QT_QTDESIGNER_LIBRARY NAMES QtDesigner QtDesigner4 PATHS ${QT_LIBRARY_DIR})
FIND_LIBRARY(QT_QTDESIGNER_LIBRARY_DEBUG NAMES QtDesigner_debug QtDesignerd4 PATHS ${QT_LIBRARY_DIR})
- # Make variables changeble to the advanced user
- MARK_AS_ADVANCED(
- QT_QT3SUPPORT_LIBRARY
- QT_QTASSISTANT_LIBRARY
- QT_QTCORE_LIBRARY
- QT_QTDESIGNER_LIBRARY
- QT_QTGUI_LIBRARY
- QT_QTMOTIF_LIBRARY
- QT_QTNETWORK_LIBRARY
- QT_QTNSPLUGIN_LIBRARY
- QT_QTOPENGL_LIBRARY
- QT_QTSQL_LIBRARY
- QT_QTXML_LIBRARY )
-
- # Make variables changeble to the advanced user
- MARK_AS_ADVANCED(
- QT_QT3SUPPORT_LIBRARY_DEBUG
- QT_QTASSISTANT_LIBRARY_DEBUG
- QT_QTCORE_LIBRARY_DEBUG
- QT_QTDESIGNER_LIBRARY_DEBUG
- QT_QTGUI_LIBRARY_DEBUG
- QT_QTMOTIF_LIBRARY_DEBUG
- QT_QTNETWORK_LIBRARY_DEBUG
- QT_QTNSPLUGIN_LIBRARY_DEBUG
- QT_QTOPENGL_LIBRARY_DEBUG
- QT_QTSQL_LIBRARY_DEBUG
- QT_QTXML_LIBRARY_DEBUG )
-
############################################
#
# Check the existence of the libraries.
#
############################################
- IF (QT_QTCORE_INCLUDE_DIR AND QT_QTCORE_LIBRARY)
- SET(QT_QTCORE_FOUND 1)
- IF (NOT QT_QTCORE_LIBRARY_DEBUG)
- SET(QT_QTCORE_LIBRARY_DEBUG ${QT_QTCORE_LIBRARY})
- ENDIF (NOT QT_QTCORE_LIBRARY_DEBUG)
- ENDIF (QT_QTCORE_INCLUDE_DIR AND QT_QTCORE_LIBRARY)
-
- IF (QT_QTGUI_INCLUDE_DIR AND QT_QTGUI_LIBRARY)
- SET(QT_QTGUI_FOUND 1)
- IF (NOT QT_QTGUI_LIBRARY_DEBUG)
- SET(QT_QTGUI_LIBRARY_DEBUG ${QT_QTGUI_LIBRARY})
- ENDIF (NOT QT_QTGUI_LIBRARY_DEBUG)
- ENDIF (QT_QTGUI_INCLUDE_DIR AND QT_QTGUI_LIBRARY)
-
- IF (QT_QT3SUPPORT_INCLUDE_DIR AND QT_QT3SUPPORT_LIBRARY)
- SET(QT_QT3SUPPORT_FOUND 1)
- IF (NOT QT_QT3SUPPORT_LIBRARY_DEBUG)
- SET(QT_QT3SUPPORT_LIBRARY_DEBUG ${QT_QT3SUPPORT_LIBRARY})
- ENDIF (NOT QT_QT3SUPPORT_LIBRARY_DEBUG)
- ENDIF (QT_QT3SUPPORT_INCLUDE_DIR AND QT_QT3SUPPORT_LIBRARY)
-
- IF (QT_QTASSISTANT_INCLUDE_DIR AND QT_QTASSISTANT_LIBRARY)
- SET(QT_QTASSISTANT_FOUND 1)
- IF (NOT QT_QTASSISTANT_LIBRARY_DEBUG)
- SET(QT_QTASSISTANT_LIBRARY_DEBUG ${QT_QTASSISTANT_LIBRARY})
- ENDIF (NOT QT_QTASSISTANT_LIBRARY_DEBUG)
- ENDIF (QT_QTASSISTANT_INCLUDE_DIR AND QT_QTASSISTANT_LIBRARY)
-
- IF (QT_QTDESIGNER_INCLUDE_DIR AND QT_QTDESIGNER_LIBRARY)
- SET(QT_QTDESIGNER_FOUND 1)
- IF (NOT QT_QTDESIGNER_LIBRARY_DEBUG)
- SET(QT_QTDESIGNER_LIBRARY_DEBUG ${QT_QTDESIGNER_LIBRARY})
- ENDIF (NOT QT_QTDESIGNER_LIBRARY_DEBUG)
- ENDIF (QT_QTDESIGNER_INCLUDE_DIR AND QT_QTDESIGNER_LIBRARY)
-
- IF (QT_QTMOTIF_INCLUDE_DIR AND QT_QTMOTIF_LIBRARY)
- SET(QT_QTMOTIF_FOUND 1)
- IF (NOT QT_QTMOTIF_LIBRARY_DEBUG)
- SET(QT_QTMOTIF_LIBRARY_DEBUG ${QT_QTMOTIF_LIBRARY})
- ENDIF (NOT QT_QTMOTIF_LIBRARY_DEBUG)
- ENDIF (QT_QTMOTIF_INCLUDE_DIR AND QT_QTMOTIF_LIBRARY)
-
- IF (QT_QTNETWORK_INCLUDE_DIR AND QT_QTNETWORK_LIBRARY)
- SET(QT_QTNETWORK_FOUND 1)
- IF (NOT QT_QTNETWORK_LIBRARY_DEBUG)
- SET(QT_QTNETWORK_LIBRARY_DEBUG ${QT_QTNETWORK_LIBRARY})
- ENDIF (NOT QT_QTNETWORK_LIBRARY_DEBUG)
- ENDIF (QT_QTNETWORK_INCLUDE_DIR AND QT_QTNETWORK_LIBRARY)
-
- IF (QT_QTNSPLUGIN_INCLUDE_DIR AND QT_QTNSPLUGIN_LIBRARY)
- SET(QT_QTNSPLUGIN_FOUND 1)
- IF (NOT QT_QTNSPLUGIN_LIBRARY_DEBUG)
- SET(QT_QTNSPLUGIN_LIBRARY_DEBUG ${QT_QTNSPLUGIN_LIBRARY})
- ENDIF (NOT QT_QTNSPLUGIN_LIBRARY_DEBUG)
- ENDIF (QT_QTNSPLUGIN_INCLUDE_DIR AND QT_QTNSPLUGIN_LIBRARY)
-
- IF (QT_QTOPENGL_INCLUDE_DIR AND QT_QTOPENGL_LIBRARY)
- SET(QT_QTOPENGL_FOUND 1)
- IF (NOT QT_QTOPENGL_LIBRARY_DEBUG)
- SET(QT_QTOPENGL_LIBRARY_DEBUG ${QT_QTOPENGL_LIBRARY})
- ENDIF (NOT QT_QTOPENGL_LIBRARY_DEBUG)
- ENDIF (QT_QTOPENGL_INCLUDE_DIR AND QT_QTOPENGL_LIBRARY)
-
- IF (QT_QTSQL_INCLUDE_DIR AND QT_QTSQL_LIBRARY)
- SET(QT_QTSQL_FOUND 1)
- IF (NOT QT_QTSQL_LIBRARY_DEBUG)
- SET(QT_QTSQL_LIBRARY_DEBUG ${QT_QTSQL_LIBRARY})
- ENDIF (NOT QT_QTSQL_LIBRARY_DEBUG)
- ENDIF (QT_QTSQL_INCLUDE_DIR AND QT_QTSQL_LIBRARY)
-
- IF (QT_QTXML_INCLUDE_DIR AND QT_QTXML_LIBRARY)
- SET(QT_QTXML_FOUND 1)
- IF (NOT QT_QTXML_LIBRARY_DEBUG)
- SET(QT_QTXML_LIBRARY_DEBUG ${QT_QTXML_LIBRARY})
- ENDIF (NOT QT_QTXML_LIBRARY_DEBUG)
- ENDIF (QT_QTXML_INCLUDE_DIR AND QT_QTXML_LIBRARY)
+ MACRO(_QT4_ADJUST_LIB_VARS basename)
+ IF (QT_${basename}_INCLUDE_DIR)
+
+ # if only the release version was found, set the debug variable also to the release version
+ IF (QT_${basename}_LIBRARY AND NOT QT_${basename}_LIBRARY_DEBUG)
+ SET(QT_${basename}_LIBRARY_DEBUG ${QT_${basename}_LIBRARY})
+ ENDIF (QT_${basename}_LIBRARY AND NOT QT_${basename}_LIBRARY_DEBUG)
+
+ # if only the debug version was found, set the release variable also to the debug version
+ IF (QT_${basename}_LIBRARY_DEBUG AND NOT QT_${basename}_LIBRARY)
+ SET(QT_${basename}_LIBRARY ${QT_${basename}_LIBRARY_DEBUG})
+ ENDIF (QT_${basename}_LIBRARY_DEBUG AND NOT QT_${basename}_LIBRARY)
+
+ IF (QT_${basename}_LIBRARY)
+ SET(QT_${basename}_FOUND 1)
+ ENDIF (QT_${basename}_LIBRARY)
+
+ #add the include directory to QT_INCLUDES
+ SET(QT_INCLUDES ${QT_INCLUDES} "${QT_${basename}_INCLUDE_DIR}")
+ ENDIF (QT_${basename}_INCLUDE_DIR )
+
+ # Make variables changeble to the advanced user
+ MARK_AS_ADVANCED(QT_${basename}_LIBRARY QT_${basename}_LIBRARY_DEBUG QT_${basename}_INCLUDE_DIR)
+ ENDMACRO(_QT4_ADJUST_LIB_VARS)
+
+ _QT4_ADJUST_LIB_VARS(QTCORE)
+ _QT4_ADJUST_LIB_VARS(QTGUI)
+ _QT4_ADJUST_LIB_VARS(QT3SUPPORT)
+ _QT4_ADJUST_LIB_VARS(QTASSISTENT)
+ _QT4_ADJUST_LIB_VARS(QTDESIGNER)
+ _QT4_ADJUST_LIB_VARS(QTMOTIF)
+ _QT4_ADJUST_LIB_VARS(QTNETWORK)
+ _QT4_ADJUST_LIB_VARS(QTNSPLUGIN)
+ _QT4_ADJUST_LIB_VARS(QTOPENGL)
+ _QT4_ADJUST_LIB_VARS(QTSQL)
+ _QT4_ADJUST_LIB_VARS(QTXML)
#######################################
#
@@ -566,6 +461,9 @@ IF(QT4_QMAKE_FOUND)
OUTPUT_VARIABLE qt_bins )
SET(QT_BINARY_DIR ${qt_bins} CACHE INTERNAL "")
ENDIF (NOT QT_BINARY_DIR)
+
+ # at first without the system paths, in order to prefer e.g. ${QTDIR}/bin/qmake over /usr/bin/qmake,
+ # which might be a Qt3 qmake
FIND_PROGRAM(QT_MOC_EXECUTABLE
NAMES moc
PATHS
@@ -581,6 +479,7 @@ IF(QT4_QMAKE_FOUND)
NO_SYSTEM_PATH
)
+ # if qmake wasn't found in the specific dirs, now check the system path
IF(NOT QT_MOC_EXECUTABLE)
FIND_PROGRAM(QT_MOC_EXECUTABLE NAMES moc )
ENDIF(NOT QT_MOC_EXECUTABLE)
@@ -603,6 +502,7 @@ IF(QT4_QMAKE_FOUND)
/usr/bin/qt4
)
+ # first the specific paths, then the system path, same as with qmake
FIND_PROGRAM(QT_UIC_EXECUTABLE
NAMES uic
PATHS
@@ -656,19 +556,25 @@ IF(QT4_QMAKE_FOUND)
IF(${_filename} MATCHES "^/.+")
SET(${_abs_filename} ${_filename})
ELSE(${_filename} MATCHES "^/.+")
- SET(${_abs_filename} ${CMAKE_CURRENT_SOURCE_DIR}/${_filename})
+# if you are on windows and have problems converting relative paths to absolute paths
+# check if un-commenting the following lines works for you and let me know, Alex, neundorf@kde.org
+# IF(${_filename} MATCHES "^[a-zA-Z]:\\\\")
+# SET(${_abs_filename} ${_filename})
+# ELSE(${_filename} MATCHES "^[a-zA-Z]:\\\\")
+ SET(${_abs_filename} ${CMAKE_CURRENT_SOURCE_DIR}/${_filename})
+# ENDIF(${_filename} MATCHES "^[a-zA-Z]:\\\\")
ENDIF(${_filename} MATCHES "^/.+")
- ENDMACRO(QT4_GET_ABS_PATH)
+ ENDMACRO(QT4_GET_ABS_PATH)
- MACRO(QT4_GET_MOC_INC_DIRS _moc_INC_DIRS)
- SET(${_moc_INC_DIRS})
- GET_DIRECTORY_PROPERTY(_inc_DIRS INCLUDE_DIRECTORIES)
+ MACRO(QT4_GET_MOC_INC_DIRS _moc_INC_DIRS)
+ SET(${_moc_INC_DIRS})
+ GET_DIRECTORY_PROPERTY(_inc_DIRS INCLUDE_DIRECTORIES)
- FOREACH(_current ${_inc_DIRS})
+ FOREACH(_current ${_inc_DIRS})
SET(${_moc_INC_DIRS} ${${_moc_INC_DIRS}} "-I" ${_current})
- ENDFOREACH(_current ${_inc_DIRS})
- ENDMACRO(QT4_GET_MOC_INC_DIRS)
+ ENDFOREACH(_current ${_inc_DIRS})
+ ENDMACRO(QT4_GET_MOC_INC_DIRS)
MACRO(QT4_GENERATE_MOC infile outfile )
# get include dirs