aboutsummaryrefslogtreecommitdiff
path: root/modules/FindQt4.cmake
diff options
context:
space:
mode:
authorAlexander Neundorf <neundorf@kde.org>2006-01-22 10:29:20 +0000
committerAlexander Neundorf <neundorf@kde.org>2006-01-22 10:29:20 +0000
commit7c7a0e07ca201f1f5dd51bf87d6c023dc9dc28f0 (patch)
tree24a7fc6a27bc61b32ef736d2412508ada7e683d0 /modules/FindQt4.cmake
parenta6f951a920cc9b57aa36285d1201f7ebf0ad0265 (diff)
downloadextra-cmake-modules-7c7a0e07ca201f1f5dd51bf87d6c023dc9dc28f0.tar.gz
extra-cmake-modules-7c7a0e07ca201f1f5dd51bf87d6c023dc9dc28f0.tar.bz2
-generate_findpackage_file: a script to simplify generating simple FindFoo.cmake files
-FindLibXml2.cmake and FindLibXslt.cmake: modules to find libxml2 and libxslt, generated by the script above -some tuning in the other modules Alex svn path=/trunk/KDE/kdesdk/cmake/; revision=501125
Diffstat (limited to 'modules/FindQt4.cmake')
-rw-r--r--modules/FindQt4.cmake43
1 files changed, 34 insertions, 9 deletions
diff --git a/modules/FindQt4.cmake b/modules/FindQt4.cmake
index 47ac15d8..d2cea8a4 100644
--- a/modules/FindQt4.cmake
+++ b/modules/FindQt4.cmake
@@ -637,28 +637,53 @@ IF(QT4_QMAKE_FOUND)
#
######################################
+ MACRO(QT4_GET_ABS_PATH _abs_filename _filename)
+ IF(${_filename} MATCHES "^/.+")
+ SET(${_abs_filename} ${_filename})
+ ELSE(${_filename} MATCHES "^/.+")
+ SET(${_abs_filename} ${CMAKE_CURRENT_SOURCE_DIR}/${_filename})
+ ENDIF(${_filename} MATCHES "^/.+")
+ 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)
+
+ FOREACH(_current ${_inc_DIRS})
+ SET(${_moc_INC_DIRS} ${${_moc_INC_DIRS}} "-I" ${_current})
+ ENDFOREACH(_current ${_inc_DIRS})
+ ENDMACRO(QT4_GET_MOC_INC_DIRS)
+
+ MACRO(QT4_GENERATE_MOC infile outfile )
+ # get include dirs
+ QT4_GET_MOC_INC_DIRS(moc_includes)
+
+ QT4_GET_ABS_PATH(infile ${infile})
+
+ ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
+ COMMAND ${QT_MOC_EXECUTABLE}
+ ARGS ${moc_includes} -o ${outfile} ${infile}
+ MAIN_DEPENDENCY ${infile})
+ ENDMACRO(QT4_GENERATE_MOC)
+
# QT4_WRAP_CPP(outfiles inputfile ... )
# TODO perhaps add support for -D, -U and other minor options
MACRO(QT4_WRAP_CPP outfiles )
-
# get include dirs
- GET_DIRECTORY_PROPERTY(moc_includes_tmp INCLUDE_DIRECTORIES)
- SET(moc_includes)
- FOREACH(it ${moc_includes_tmp})
- SET(moc_includes ${moc_includes} "-I${it}")
- ENDFOREACH(it)
+ QT4_GET_MOC_INC_DIRS(moc_includes)
FOREACH(it ${ARGN})
+ QT4_GET_ABS_PATH(it ${it})
GET_FILENAME_COMPONENT(outfile ${it} NAME_WE)
- SET(infile ${CMAKE_CURRENT_SOURCE_DIR}/${it})
SET(outfile ${CMAKE_CURRENT_BINARY_DIR}/moc_${outfile}.cxx)
ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
COMMAND ${QT_MOC_EXECUTABLE}
- ARGS ${moc_includes} -o ${outfile} ${infile}
- MAIN_DEPENDENCY ${infile})
+ ARGS ${moc_includes} -o ${outfile} ${it}
+ MAIN_DEPENDENCY ${it})
SET(${outfiles} ${${outfiles}} ${outfile})
ENDFOREACH(it)