aboutsummaryrefslogtreecommitdiff
path: root/modules/kde4uic.cmake
blob: fe1e6b6cea269564649830ca59d01cbbb587f837 (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

#using a ui3 file with uic3
IF(KDE3_IMPL)

  EXEC_PROGRAM(${KDE_UIC_EXECUTABLE} ARGS
    -nounload -tr tr2i18n
    -impl ${KDE_UIC_H_FILE}
    ${KDE_UIC_FILE}
    OUTPUT_VARIABLE _uic_CONTENTS
  )
ENDIF(KDE3_IMPL)


IF(KDE3_HEADER)

  EXEC_PROGRAM(${KDE_UIC_EXECUTABLE} ARGS
    -nounload -tr tr2i18n
    ${KDE_UIC_FILE}
    OUTPUT_VARIABLE _uic_CONTENTS
  )
   SET(KDE_UIC_CPP_FILE ${KDE_UIC_H_FILE})
ENDIF(KDE3_HEADER)

# the kde4 branch
IF (KDE4_HEADER)

  EXEC_PROGRAM(${KDE_UIC_EXECUTABLE} ARGS
    -tr tr2i18n
    ${KDE_UIC_FILE}
    OUTPUT_VARIABLE _uic_CONTENTS
  )

   SET(KDE_UIC_CPP_FILE ${KDE_UIC_H_FILE})
ENDIF (KDE4_HEADER)


#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}" )
#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}")

# workaround which removes the stderr messages from uic, will be removed as soon as
# I switch to EXEC_PROCESS() in the calls above
STRING(REGEX REPLACE "\n[^\n]*uic3: [^\n]+" "" _uic_CONTENTS "${_uic_CONTENTS}" )
STRING(REGEX REPLACE "\n'[^\n]+' [^\n]+" "" _uic_CONTENTS "${_uic_CONTENTS}" )
STRING(REGEX REPLACE "\nWarning: [^\n]+" "" _uic_CONTENTS "${_uic_CONTENTS}" )


FILE(WRITE ${KDE_UIC_CPP_FILE} "#include <kdialog.h>\n#include <klocale.h>\n\n${_uic_CONTENTS}\n")