aboutsummaryrefslogtreecommitdiff
path: root/modules/kde4uic.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'modules/kde4uic.cmake')
-rw-r--r--modules/kde4uic.cmake56
1 files changed, 56 insertions, 0 deletions
diff --git a/modules/kde4uic.cmake b/modules/kde4uic.cmake
new file mode 100644
index 00000000..ed328b40
--- /dev/null
+++ b/modules/kde4uic.cmake
@@ -0,0 +1,56 @@
+
+# Copyright (c) 2006, Alexander Neundorf, <neundorf@kde.org>
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+
+#using a ui3 file with uic3
+if (KDE3_IMPL)
+
+ EXECUTE_PROCESS(COMMAND ${KDE_UIC_EXECUTABLE}
+ -nounload -tr tr2i18n
+ -impl ${KDE_UIC_H_FILE}
+ ${KDE_UIC_FILE}
+ OUTPUT_VARIABLE _uic_CONTENTS
+ ERROR_QUIET
+ )
+endif (KDE3_IMPL)
+
+
+if (KDE3_HEADER)
+
+ EXECUTE_PROCESS(COMMAND ${KDE_UIC_EXECUTABLE}
+ -nounload -tr tr2i18n
+ ${KDE_UIC_FILE}
+ OUTPUT_VARIABLE _uic_CONTENTS
+ ERROR_QUIET
+ )
+ set(KDE_UIC_CPP_FILE ${KDE_UIC_H_FILE})
+endif (KDE3_HEADER)
+
+# the kde4 branch
+if (KDE4_HEADER)
+
+ EXECUTE_PROCESS(COMMAND ${KDE_UIC_EXECUTABLE}
+ -tr tr2i18n
+ ${KDE_UIC_FILE}
+ OUTPUT_VARIABLE _uic_CONTENTS
+ )
+
+ set(KDE_UIC_CPP_FILE ${KDE_UIC_H_FILE})
+endif (KDE4_HEADER)
+
+
+IF (_uic_CONTENTS)
+ #replace tr218n("") with QString::null to avoid warning from KLocale
+ STRING(REGEX REPLACE "tr2i18n\\(\"\"\\)" "QString::null" _uic_CONTENTS "${_uic_CONTENTS}" )
+ STRING(REGEX REPLACE "tr2i18n\\(\"\", \"\"\\)" "QString::null" _uic_CONTENTS "${_uic_CONTENTS}" )
+ #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}")
+ #fixup include guard
+ STRING(REGEX REPLACE "#ifndef " "#ifndef UI_" _uic_CONTENTS "${_uic_CONTENTS}")
+ STRING(REGEX REPLACE "#define " "#define UI_" _uic_CONTENTS "${_uic_CONTENTS}")
+
+ FILE(WRITE ${KDE_UIC_CPP_FILE} "#include <kdialog.h>\n#include <klocale.h>\n\n${_uic_CONTENTS}\n")
+ENDIF()
+