Peter Kümmel wrote:
> Thiago Macieira wrote:
> 
>>Peter Kümmel wrote:
>>
>>>build example/chat also on windows: fix dbusidl2cpp.exe usage with
>>>nmake. using the IDE is still broken because chatinterface.moc and
>>>chatmainwindow.h are not generated. this is baybe a cmake BUG.
>>
>>There are hardcoded rules to run uic and moc for those files. 
>>FindQt4.cmake doesn't provide any uic-related macros.
>>
> 
> 
> I think it is a CMake bug of the Visual Studio 8 2005 generator,
> because the other generators have no problem.
> I have to add this patch to compile chat with the IDE:
> 
> Index: examples/CMakeLists.txt
> ===================================================================
> --- examples/CMakeLists.txt     (Revision 547079)
> +++ examples/CMakeLists.txt     (Arbeitskopie)
> @@ -72,6 +72,12 @@
>         chat.h
>         chatadaptor.cpp
>  )
> +if(MSVC_IDE)
> +       
> SET_SOURCE_FILES_PROPERTIES(${CMAKE_CURRENT_BINARY_DIR}/chatmainwindow.h 
> GENERATED)
> +       
> SET_SOURCE_FILES_PROPERTIES(${CMAKE_CURRENT_BINARY_DIR}/chatsetnickname.h 
> GENERATED)
> +       
> SET_SOURCE_FILES_PROPERTIES(${CMAKE_CURRENT_BINARY_DIR}/chatinterface.moc 
> GENERATED)

You shouldn't need the GENERATED property.  That is automatically added 
by ADD_CUSTOM_COMMAND because the files are outputs.

> +       SET(chat_SRCS ${chat_SRCS} chatmainwindow.h chatsetnickname.h 
> chatinterface.moc )

Adding the output of a custom command to the list of sources should be 
enough to pull it in.

> +endif(MSVC_IDE)
>  ADD_CUSTOM_COMMAND(OUTPUT chatmainwindow.h
>                    COMMAND ${QT_UIC_EXECUTABLE}
>                    ARGS -o chatmainwindow.h 
> ${CMAKE_CURRENT_SOURCE_DIR}/chatmainwindow.ui
> 
> Why must I do it by hand? Couldn't it be figured out by cmake?

CMake cannot know that chatmainwindow.h will be used in the chat target 
unless you add it, just like any *source* file.  It is different from 
other *header* files because it is generated and does not exist initially.

> Can I apply this patch, even if it's a work around (around cmake or my 
> limited cmake knowlege)

Please try it without the explicit GENERATED mark.

-Brad
_______________________________________________
Kde-buildsystem mailing list
[email protected]
https://mail.kde.org/mailman/listinfo/kde-buildsystem

Reply via email to