aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--kde4/KDE4Macros.cmake56
-rw-r--r--kde4/kde4uic.cmake34
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}")