aboutsummaryrefslogtreecommitdiff
path: root/modules/kde4uic.cmake
blob: ed328b4013dfaf77e0f6d113db63a2297e44a643 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
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()