diff options
-rw-r--r-- | kde4/KDE4Macros.cmake | 56 | ||||
-rw-r--r-- | kde4/kde4uic.cmake | 34 |
2 files changed, 44 insertions, 46 deletions
diff --git a/kde4/KDE4Macros.cmake b/kde4/KDE4Macros.cmake index 957e3859..cfba562e 100644 --- a/kde4/KDE4Macros.cmake +++ b/kde4/KDE4Macros.cmake @@ -146,39 +146,20 @@ MACRO(KDE4_ADD_UI_FILES _sources ) GET_FILENAME_COMPONENT(_basename ${_current_FILE} NAME_WE) SET(_header ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.h) - SET(_src ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.cpp) - SET(_moc ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.moc.cpp) + # we need to run uic and replace some things in the generated file + # this is done by executing the cmake script kde4uic.cmake ADD_CUSTOM_COMMAND(OUTPUT ${_header} - COMMAND ${QT_UIC_EXECUTABLE} - ARGS -nounload -o ${_header} ${CMAKE_CURRENT_SOURCE_DIR}/${_current_FILE} - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${_current_FILE} - ) - -# ADD_CUSTOM_COMMAND(OUTPUT ${_src} -# COMMAND uic -# ARGS -nounload -tr tr2i18n -o ${_src} -impl ${_header} ${CMAKE_CURRENT_SOURCE_DIR}/${_current_FILE} -# DEPENDS ${_header} -# ) - - ADD_CUSTOM_COMMAND(OUTPUT ${_src} COMMAND ${CMAKE_COMMAND} ARGS - -DKDE_UIC_FILE:STRING=${CMAKE_CURRENT_SOURCE_DIR}/${_current_FILE} - -DKDE_UIC_CPP_FILE:STRING=${_src} - -DKDE_UIC_H_FILE:STRING=${_header} + -DKDE_UIC_EXECUTABLE:FILEPATH=${QT_UIC_EXECUTABLE} + -DKDE_UIC_FILE:FILEPATH=${CMAKE_CURRENT_SOURCE_DIR}/${_current_FILE} + -DKDE_UIC_H_FILE:FILEPATH=${_header} + -DKDE_UIC_BASENAME:STRING=${_basename} +# -DKDE_UIC_PLUGIN_DIR:FILEPATH="." -P ${CMAKE_ROOT}/Modules/kde4uic.cmake - DEPENDS ${_header} - ) - - ADD_CUSTOM_COMMAND(OUTPUT ${_moc} - COMMAND ${QT_MOC_EXECUTABLE} - ARGS ${_header} -o ${_moc} - DEPENDS ${_header} + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${_current_FILE} ) - - SET(${_sources} ${${_sources}} ${_src} ${_moc} ) - ENDFOREACH (_current_FILE) ENDMACRO(KDE4_ADD_UI_FILES) @@ -193,23 +174,23 @@ MACRO(KDE4_ADD_UI3_FILES _sources ) SET(_moc ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.moc.cpp) ADD_CUSTOM_COMMAND(OUTPUT ${_header} - COMMAND ${QT_UIC_EXECUTABLE} + COMMAND ${QT_UIC3_EXECUTABLE} ARGS -nounload -o ${_header} ${CMAKE_CURRENT_SOURCE_DIR}/${_current_FILE} DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${_current_FILE} ) -# ADD_CUSTOM_COMMAND(OUTPUT ${_src} -# COMMAND uic -# ARGS -nounload -tr tr2i18n -o ${_src} -impl ${_header} ${CMAKE_CURRENT_SOURCE_DIR}/${_current_FILE} -# DEPENDS ${_header} -# ) - + # we need to run uic3 and replace some things in the generated file + # this is done by executing the cmake script kde4uic.cmake ADD_CUSTOM_COMMAND(OUTPUT ${_src} COMMAND ${CMAKE_COMMAND} ARGS - -DKDE_UIC_FILE:STRING=${CMAKE_CURRENT_SOURCE_DIR}/${_current_FILE} - -DKDE_UIC_CPP_FILE:STRING=${_src} - -DKDE_UIC_H_FILE:STRING=${_header} + -DKDE3:BOOL=ON + -DKDE_UIC_EXECUTABLE:FILEPATH=${QT_UIC3_EXECUTABLE} + -DKDE_UIC_FILE:FILEPATH=${CMAKE_CURRENT_SOURCE_DIR}/${_current_FILE} + -DKDE_UIC_CPP_FILE:FILEPATH=${_src} + -DKDE_UIC_H_FILE:FILEPATH=${_header} + -DKDE_UIC_BASENAME:STRING=${_basename} + -DKDE_UIC_PLUGIN_DIR:FILEPATH="." -P ${CMAKE_ROOT}/Modules/kde4uic.cmake DEPENDS ${_header} ) @@ -219,7 +200,6 @@ MACRO(KDE4_ADD_UI3_FILES _sources ) ARGS ${_header} -o ${_moc} DEPENDS ${_header} ) - SET(${_sources} ${${_sources}} ${_src} ${_moc} ) ENDFOREACH (_current_FILE) diff --git a/kde4/kde4uic.cmake b/kde4/kde4uic.cmake index 64751b2e..c51a8ae5 100644 --- a/kde4/kde4uic.cmake +++ b/kde4/kde4uic.cmake @@ -1,16 +1,34 @@ -EXEC_PROGRAM(uic ARGS - -nounload -tr tr2i18n - -impl ${KDE_UIC_H_FILE} - ${KDE_UIC_FILE} - OUTPUT_VARIABLE _uic_CONTENTS -) +#using a ui3 file with uic3 +IF(KDE3) + EXEC_PROGRAM(${KDE_UIC_EXECUTABLE} ARGS + -nounload -tr tr2i18n + -impl ${KDE_UIC_H_FILE} + ${KDE_UIC_FILE} + OUTPUT_VARIABLE _uic_CONTENTS + ) + +# the kde4 branch +ELSE(KDE3) + + EXEC_PROGRAM(${KDE_UIC_EXECUTABLE} ARGS + -tr tr2i18n + -L ${KDE_UIC_PLUGIN_DIR} + -impl ${KDE_UIC_H_FILE} + ${KDE_UIC_FILE} + OUTPUT_VARIABLE _uic_CONTENTS + ) + +ENDIF(KDE3) + + +#replace tr218n("") with QString::null to avoid waring from KLocale STRING(REGEX REPLACE "tr2i18n\\(\"\"\\)" "QString::null" _uic_CONTENTS "${_uic_CONTENTS}" ) STRING(REGEX REPLACE "tr2i18n\\(\"\", \"\"\\)" "QString::null" _uic_CONTENTS "${_uic_CONTENTS}" ) -# $(PERL) -pe "s,image([0-9][0-9]*)_data,img\$$1_editbookmarkdlg,g" >> editbookmarkdlg.cpp ;\ -# rm -f editbookmarkdlg.cpp.temp ;\ +#replace image15_data with img15_filename to make enable_final work +STRING(REGEX REPLACE "image([0-9]+)_data" "img\\1_${KDE_UIC_BASENAME}" _uic_CONTENTS "${_uic_CONTENTS}") FILE(WRITE ${KDE_UIC_CPP_FILE} "#include <kdialog.h>\n#include <klocale.h>\n\n") FILE(APPEND ${KDE_UIC_CPP_FILE} "${_uic_CONTENTS}") |