kdelibs/cmake/modules/kde4uic.cmake
Ivailo Monev 5a59e08572 generic: remove support for final target via KDE4_ENABLE_FINAL
it is bogus with the CMake automoc, requires additional guards in
the source code and some components do not support it at all. Also,
Link Time Optimizations (LTO) seem to be doing exactly what
KDE4_ENABLE_FINAL was supposed to do (basicly) so no point in
trying to support something that modern compilers can already do
for us.
2015-03-02 04:57:24 +00:00

30 lines
1,013 B
CMake

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