diff options
Diffstat (limited to 'cmake/modules/tde_uic.cmake')
-rw-r--r-- | cmake/modules/tde_uic.cmake | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/cmake/modules/tde_uic.cmake b/cmake/modules/tde_uic.cmake new file mode 100644 index 0000000..541fb9f --- /dev/null +++ b/cmake/modules/tde_uic.cmake @@ -0,0 +1,38 @@ +################################################# +# +# (C) 2010 Serghei Amelian +# serghei (DOT) amelian (AT) gmail.com +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +################################################# + +get_filename_component( _ui_basename ${UI_FILE} NAME_WE ) + +execute_process( COMMAND ${QT_UIC_EXECUTABLE} + -nounload -tr tr2i18n + ${UI_FILE} + OUTPUT_VARIABLE _ui_h_content + ERROR_QUIET ) + +if( _ui_h_content ) + string( REGEX REPLACE "#ifndef " "#ifndef UI_" _ui_h_content "${_ui_h_content}" ) + string( REGEX REPLACE "#define " "#define UI_" _ui_h_content "${_ui_h_content}" ) + file( WRITE ${_ui_basename}.h "${_ui_h_content}" ) +endif( ) + +execute_process( COMMAND ${QT_UIC_EXECUTABLE} + -nounload -tr tr2i18n + -L ${TDE_QTPLUGINS_DIR} + -impl ${_ui_basename}.h + ${UI_FILE} + OUTPUT_VARIABLE _ui_cpp_content + ERROR_QUIET ) + +if( _ui_cpp_content ) + string( REGEX REPLACE "tr2i18n\\(\"\"\\)" "QString::null" _ui_cpp_content "${_ui_cpp_content}" ) + string( REGEX REPLACE "tr2i18n\\(\"\", \"\"\\)" "QString::null" _ui_cpp_content "${_ui_cpp_content}" ) + file( WRITE ${_ui_basename}.cpp "#include <kdialog.h>\n#include <klocale.h>\n\n${_ui_cpp_content}" ) +endif( ) |