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 57 58 59 60
|
# from /trunk/KDE/kdelibs/cmake/modules/KDE4Macros.cmake
# Copyright (c) 2006, Alexander Neundorf, <neundorf@kde.org>
# Copyright (c) 2006, Laurent Montel, <montel@kde.org>
#
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
GET_FILENAME_COMPONENT(SIM_MODULE_DIR ${CMAKE_CURRENT_LIST_FILE} PATH)
#create the implementation files from the ui files and add them to the list of sources
#usage: KDE4_ADD_UI3_FILES(foo_SRCS ${ui_files})
macro (QT3_ADD_UI_FILES _sources )
foreach (_current_FILE ${ARGN})
get_filename_component(_tmp_FILE ${_current_FILE} ABSOLUTE)
get_filename_component(_basename ${_tmp_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)
add_custom_command(OUTPUT ${_header}
COMMAND ${CMAKE_COMMAND}
-DKDE3_HEADER:BOOL=ON
-DKDE_UIC_EXECUTABLE:FILEPATH=${QT_UIC_EXECUTABLE}
-DKDE_UIC_FILE:FILEPATH=${_tmp_FILE}
-DKDE_UIC_H_FILE:FILEPATH=${_header}
-DKDE_UIC_BASENAME:STRING=${_basename}
-DKDE_UIC_PLUGIN_DIR:FILEPATH="."
-P ${SIM_MODULE_DIR}/kde4uic.cmake
MAIN_DEPENDENCY ${_tmp_FILE}
)
# 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
-DKDE3_IMPL:BOOL=ON
-DKDE_UIC_EXECUTABLE:FILEPATH=${QT_UIC_EXECUTABLE}
-DKDE_UIC_FILE:FILEPATH=${_tmp_FILE}
-DKDE_UIC_CPP_FILE:FILEPATH=${_src}
-DKDE_UIC_H_FILE:FILEPATH=${_header}
-DKDE_UIC_BASENAME:STRING=${_basename}
-DKDE_UIC_PLUGIN_DIR:FILEPATH="."
-P ${SIM_MODULE_DIR}/kde4uic.cmake
MAIN_DEPENDENCY ${_header}
)
add_custom_command(OUTPUT ${_moc}
COMMAND ${QT_MOC_EXECUTABLE}
ARGS ${_header} -o ${_moc}
MAIN_DEPENDENCY ${_header}
)
list(APPEND ${_sources} ${_src} ${_moc} )
endforeach (_current_FILE)
endmacro (QT3_ADD_UI_FILES)
|