diff options
Diffstat (limited to 'modules')
-rw-r--r-- | modules/FindKDE4Internal.cmake | 4 | ||||
-rw-r--r-- | modules/KDE4Macros.cmake | 26 |
2 files changed, 30 insertions, 0 deletions
diff --git a/modules/FindKDE4Internal.cmake b/modules/FindKDE4Internal.cmake index 0458bf98..a2f957a3 100644 --- a/modules/FindKDE4Internal.cmake +++ b/modules/FindKDE4Internal.cmake @@ -110,6 +110,10 @@ # KDE4_ADD_KCFG_FILES (SRCS_VAR file1.kcfgc ... fileN.kcfgc) # Use this to add KDE config compiler files to your application/library. # +# KDE4_ADD_WIDGET_FILES (SRCS_VAR file1.widgets ... fileN.widgets) +# Use this to add widget description files for the makekdewidgets code generator +# for Qt Designer plugins. +# # KDE4_AUTOMOC(file1 ... fileN) # Call this if you want to have automatic moc file handling. # This means if you include "foo.moc" in the source file foo.cpp diff --git a/modules/KDE4Macros.cmake b/modules/KDE4Macros.cmake index 716d6379..96c64b9d 100644 --- a/modules/KDE4Macros.cmake +++ b/modules/KDE4Macros.cmake @@ -11,6 +11,7 @@ # KDE4_CREATE_FINAL_FILES # KDE4_ADD_KDEINIT_EXECUTABLE # KDE4_ADD_EXECUTABLE +# KDE4_ADD_WIDGET_FILES #neundorf@kde.org @@ -554,3 +555,28 @@ ENDMACRO (KDE4_ADD_LIBRARY _target_NAME _lib_TYPE) MACRO (KDE4_CREATE_DOXYGEN_DOCS) ENDMACRO (KDE4_CREATE_DOXYGEN_DOCS) + +MACRO (KDE4_ADD_WIDGET_FILES _sources) + FOREACH (_current_FILE ${ARGN}) + + GET_FILENAME_COMPONENT(_input ${_current_FILE} ABSOLUTE) + GET_FILENAME_COMPONENT(_basename ${_input} NAME_WE) + SET(_source ${CMAKE_CURRENT_BINARY_DIR}/${_basename}widgets.cpp) + SET(_moc ${CMAKE_CURRENT_BINARY_DIR}/${_basename}widgets.moc) + + # create source file from the .widgets file + ADD_CUSTOM_COMMAND(OUTPUT ${_source} + COMMAND ${KDE4_MAKEKDEWIDGETS_EXECUTABLE} + ARGS -o ${_source} ${_input} + MAIN_DEPENDENCY ${_input}) + + # create moc file + QT4_GENERATE_MOC(${_source} ${_moc} ) + MACRO_ADD_FILE_DEPENDENCIES(${_source} ${_moc}) + + SET(${_sources} ${${_sources}} ${_source}) + + ENDFOREACH (_current_FILE) + +ENDMACRO (KDE4_ADD_WIDGET_FILES) + |