<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]-->
<style>
<!--
/* Font Definitions */
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:#606420;
        text-decoration:underline;}
p
        {mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"Times New Roman";}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:Arial;
        color:navy;}
@page Section1
        {size:595.3pt 841.9pt;
        margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.Section1
        {page:Section1;}
-->
</style>
</head>
<body lang=FR link=blue vlink="#606420">
<div class=Section1>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Hi,<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span lang=EN-GB
style='font-size:10.0pt;font-family:Arial;color:navy'>I wrote this macro to
generate my ui.[ch] and moc files in my source directory. Use it as a
QT4_WRAP_UI replacement.<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span lang=EN-GB
style='font-size:10.0pt;font-family:Arial;color:navy'>The macro also creates a
"ui" target which generates all these files.<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span lang=EN-GB
style='font-size:10.0pt;font-family:Arial;color:navy'>(Note: I use it with Qt
3, and did not check if uic is used the same way on Qt 4.<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span lang=EN-GB
style='font-size:10.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span lang=EN-GB
style='font-size:10.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'>#---------------------------------------------------------------------------<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'># ui (in)
: name of the list containing ui files<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'># headers
(in+out): name of the list containing<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'># - in : user
headers containing Q_OBJECT macro<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'># - out: in
value + headers generated from ui files<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'># sources (out)
: name of the list containing generated c++ files<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'>#---------------------------------------------------------------------------<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'>macro(k_gen_qt_code
ui headers sources)<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'>
set_directory_properties(PROPERTIES CLEAN_NO_CUSTOM true) # don't remove
installed includes on make clean<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'> set(dest
${CMAKE_CURRENT_SOURCE_DIR})<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'>
foreach(ui_name ${${ui}})<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'>
string(REGEX REPLACE "ui$" "h" header ${ui_name})<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'>
string(REGEX REPLACE "ui$" "cxx" source ${ui_name})<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'> add_custom_command(<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'> OUTPUT
${CMAKE_CURRENT_SOURCE_DIR}/${header}<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'>
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'> COMMAND
${QT_UIC} ${ui_name} -o ${header}<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'> DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/${ui_name}<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'> COMMENT
"Generating ${CMAKE_CURRENT_SOURCE_DIR}/${header}"<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'> )<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'> set
(${headers} ${${headers}} ${header})<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'> add_custom_command(<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'> OUTPUT
${CMAKE_CURRENT_SOURCE_DIR}/${source}<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'>
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'> COMMAND
${QT_UIC} ${ui_name} -impl ${header} -o ${source}<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'> DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/${ui_name}<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'> COMMENT
"Generating ${CMAKE_CURRENT_SOURCE_DIR}/${source}"<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'> )<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'> set
(${sources} ${${sources}} ${source})<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'>
endforeach(ui_name)<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'> # headers contains<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'> # - headers
generated from ui files<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'> # - headers
initially given by the user because they contain Q_OBJECT macro<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'>
foreach(header ${${headers}})<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'>
string(REGEX REPLACE "h$" "cxx" moc ${header})<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'> set(moc
"moc_${moc}")<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'> add_custom_command(<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'> OUTPUT
${CMAKE_CURRENT_SOURCE_DIR}/${moc}<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'>
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'> COMMAND
${QT_MOC} ${header} -o ${moc}<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'> DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/${header}<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'> COMMENT
"Generating ${CMAKE_CURRENT_SOURCE_DIR}/${moc}"<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'> )<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'> set
(${sources} ${${sources}} ${moc})<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'>
endforeach(header)<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'> add_custom_target(ui<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'> DEPENDS
${${sources}} ${${headers}}<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'> )<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face="Courier New"><span lang=EN-GB
style='font-size:10.0pt;font-family:"Courier New";color:navy'>endmacro()<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span lang=EN-GB
style='font-size:10.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span lang=EN-GB
style='font-size:10.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>
<div>
<p><font size=2 color=navy face=Tahoma><span style='font-size:10.0pt;
font-family:Tahoma;color:navy'>Cordialement / Regards,</span></font><font
color=navy><span style='color:navy'><o:p></o:p></span></font></p>
<p><font size=2 color=navy face=Tahoma><span style='font-size:10.0pt;
font-family:Tahoma;color:navy'>Alexandre <br>
<br>
</span></font><font size=2 face=Tahoma><span style='font-size:10.0pt;
font-family:Tahoma'><o:p></o:p></span></font></p>
</div>
<div>
<div class=MsoNormal align=center style='text-align:center'><font size=3
face="Times New Roman"><span lang=EN-US style='font-size:12.0pt'>
<hr size=2 width="100%" align=center tabindex=-1>
</span></font></div>
<p class=MsoNormal><b><font size=2 face=Tahoma><span lang=EN-US
style='font-size:10.0pt;font-family:Tahoma;font-weight:bold'>From:</span></font></b><font
size=2 face=Tahoma><span lang=EN-US style='font-size:10.0pt;font-family:Tahoma'>
cmake-bounces@cmake.org [mailto:cmake-bounces@cmake.org] <b><span
style='font-weight:bold'>On Behalf Of </span></b>Ivan Chupahin<br>
<b><span style='font-weight:bold'>Sent:</span></b> Thursday, 02 April 2009
11:47<br>
<b><span style='font-weight:bold'>To:</span></b> cmake@cmake.org<br>
<b><span style='font-weight:bold'>Subject:</span></b> [CMake] Output directory
for genereated ui_Header.h files</span></font><span lang=EN-US><o:p></o:p></span></p>
</div>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p> </o:p></span></font></p>
<p class=MsoNormal style='margin-bottom:12.0pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'>Hi,folks!<br>
<br>
My project uses Qt4 and i need to generate *.h files from *.ui files. For that
i use QT4_WRAP_UI macro. But it generete *.h files in a derectory where CMake
is running. Maybe exist some CMake variable for point an output directory for
that generated files or some other tools? <o:p></o:p></span></font></p>
</div>
<br clear=all> This email was sent to you by Thomson Reuters, the global news and information company.<br>
Any views expressed in this message are those of the individual sender, except where the sender specifically states them to be the views of Thomson Reuters.
</body>
</html>