From 6904aff03eefeb4cef1ba5f64c30e2eae17d22c6 Mon Sep 17 00:00:00 2001 From: Volker Krause Date: Sat, 15 Apr 2006 11:03:59 +0000 Subject: Add makekdewidgets macro. svn path=/trunk/KDE/kdelibs/; revision=530095 --- modules/FindKDE4Internal.cmake | 4 ++++ modules/KDE4Macros.cmake | 26 ++++++++++++++++++++++++++ 2 files changed, 30 insertions(+) (limited to 'modules') 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) + -- cgit v1.2.1