diff options
author | Laurent Montel <montel@kde.org> | 2006-09-21 12:36:24 +0000 |
---|---|---|
committer | Laurent Montel <montel@kde.org> | 2006-09-21 12:36:24 +0000 |
commit | cdbff10afe209678df0315eba3ce3140c69b3792 (patch) | |
tree | bc948318cc67145e997135220a87c2b8e6b4d0e5 | |
parent | 2283503733c3a9d7507e35cbe647f4fd549d0016 (diff) | |
download | extra-cmake-modules-cdbff10afe209678df0315eba3ce3140c69b3792.tar.gz extra-cmake-modules-cdbff10afe209678df0315eba3ce3140c69b3792.tar.bz2 |
Move it into kdelibs (avoid to duplicate it into kdevelop and kdewebdev)
svn path=/trunk/KDE/kdelibs/; revision=587068
-rw-r--r-- | modules/KDevelopMacros.cmake | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/modules/KDevelopMacros.cmake b/modules/KDevelopMacros.cmake new file mode 100644 index 00000000..228a85e8 --- /dev/null +++ b/modules/KDevelopMacros.cmake @@ -0,0 +1,74 @@ + +macro(kdevelop_add_app_templates _templateNames) + foreach(_templateName ${ARGN}) + + get_filename_component(_tmp_file ${_templateName} ABSOLUTE) + get_filename_component(_baseName ${_tmp_file} NAME_WE) + set(_template ${CMAKE_CURRENT_BINARY_DIR}/${_baseName}.tar.bz2) + + add_custom_target(${_baseName} ALL DEPENDS ${_template}) + + file(GLOB _files ${CMAKE_CURRENT_SOURCE_DIR}/${_templateName}/*) + set(_deps) + foreach(_file ${_files}) + get_filename_component(_fileName ${_file} NAME) + string(COMPARE NOTEQUAL ${_fileName} ${_templateName}.kdevtemplate _v1) + string(COMPARE NOTEQUAL ${_fileName} ${_templateName}.png _v2) + string(COMPARE NOTEQUAL ${_fileName} .kdev_ignore _v3) + string(COMPARE NOTEQUAL ${_fileName} Makefile.am _v4) + string(SUBSTRING ${_fileName} 0 4 _svn) + string(COMPARE NOTEQUAL ${_svn} .svn _v5) + if ( ${_v1} AND ${_v2} AND ${_v3} AND ${_v4} AND ${_v5} ) + set(_deps ${_deps} ${_file}) + endif ( ${_v1} AND ${_v2} AND ${_v3} AND ${_v4} AND ${_v5} ) + endforeach(_file) + + add_custom_command(OUTPUT ${_template} + COMMAND tar ARGS -c -C ${CMAKE_CURRENT_SOURCE_DIR}/${_templateName} + --exclude ${_templateName}.kdevtemplate --exclude ${_templateName}.png + --exclude .kdev_ignore --exclude .svn --exclude Makefile.am + -j -f ${_template} . +# DEPENDS ${_deps} + ) + +install( FILES ${_templateName}/${_templateName}.kdevtemplate DESTINATION ${DATA_INSTALL_DIR}/kdevappwizard/templates ) +install( FILES ${_templateName}/${_templateName}.png DESTINATION ${DATA_INSTALL_DIR}/kdevappwizard ) +install( FILES ${_template} DESTINATION ${DATA_INSTALL_DIR}/kdevappwizard ) + macro_additional_clean_files(${_template}) + + endforeach(_templateName) +endmacro(kdevelop_add_app_templates) + + + +macro(kdevelop_add_test) + + qt4_get_moc_inc_dirs(_moc_INCS) + + foreach(_source ${ARGN}) + get_filename_component(_abs_file ${_source} ABSOLUTE) + get_filename_component(_baseName ${_abs_file} NAME_WE) + + file(READ ${_abs_file} _contents) + string(REGEX MATCHALL "#include +[^ ]+\\.moc[\">]" _match "${_contents}") + + if(_match) + foreach (_current_MOC_INC ${_match}) + + string(REGEX MATCH "[^ <\"]+\\.moc" _current_MOC "${_current_MOC_INC}") + set(_moc ${CMAKE_CURRENT_BINARY_DIR}/${_current_MOC}) + add_custom_command( + OUTPUT ${_moc} + COMMAND ${QT_MOC_EXECUTABLE} + ARGS ${_moc_INCS} ${CMAKE_CURRENT_SOURCE_DIR}/${_source} -o ${_moc} + DEPENDS ${_abs_file} + ) + MACRO_ADD_FILE_DEPENDENCIES(${_abs_FILE} ${_moc}) + macro_additional_clean_files(${_moc}) + + endforeach (_current_MOC_INC) + endif(_match) + endforeach(_source) + +endmacro(kdevelop_add_test _sources) + |