diff options
author | Alexander Neundorf <neundorf@kde.org> | 2006-01-22 10:29:20 +0000 |
---|---|---|
committer | Alexander Neundorf <neundorf@kde.org> | 2006-01-22 10:29:20 +0000 |
commit | 7c7a0e07ca201f1f5dd51bf87d6c023dc9dc28f0 (patch) | |
tree | 24a7fc6a27bc61b32ef736d2412508ada7e683d0 /modules/FindQt4.cmake | |
parent | a6f951a920cc9b57aa36285d1201f7ebf0ad0265 (diff) | |
download | extra-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.cmake | 43 |
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) |