[Qt-interest] How to write CMakeLists.txt when Q_OBJECT in xxx.cpp file
1+1=2
dbzhang800 at gmail.com
Sun Aug 1 01:32:02 CEST 2010
On Sun, Aug 1, 2010 at 12:40 AM, Clinton Stimpson <clinton at elemtech.com> wrote:
>
> This is a bit better:
>
> #CMakeLists.txt
> PROJECT(mytest)
> CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
> FIND_PACKAGE(Qt4 COMPONENTS QtCore QtGui REQUIRED)
> INCLUDE(${QT_USE_FILE})
> SET(pro_SOURCES main.cpp)
>
> QT4_GENERATE_MOC(main.cpp ${CMAKE_CURRENT_BINARY_DIR}/main.moc)
>
> INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
> ADD_EXECUTABLE(mytest ${pro_SOURCES} ${CMAKE_CURRENT_BINARY_DIR}/main.moc)
> TARGET_LINK_LIBRARIES(mytest ${QT_LIBRARIES})
>
>
> You were manually specifying dependencies, but if you put main.moc (or any
> other generated file) in the add_executable(), cmake computes those
> dependencies for you.
>
> Clint
Thank you. This is much better.
Debao
>
> On 07/31/2010 10:15 AM, 1+1=2 wrote:
>>
>> I found an solution, which seems to work under Mingw, MSVC and linux now.
>>
>> #CMakeLists.txt
>> PROJECT(mytest)
>> CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
>> FIND_PACKAGE(Qt4 COMPONENTS QtCore QtGui REQUIRED)
>> INCLUDE(${QT_USE_FILE})
>> SET(pro_SOURCES main.cpp)
>>
>> QT4_GENERATE_MOC(main.cpp main.moc)
>> SET_SOURCE_FILES_PROPERTIES(main.cpp PROPERTIES OBJECT_DEPENDS main.moc)
>>
>> INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
>> ADD_DEFINITIONS(${QT_DEFINITIONS})
>> ADD_EXECUTABLE(mytest ${pro_SOURCES})
>> TARGET_LINK_LIBRARIES(mytest ${QT_LIBRARIES})
>>
>>
>> Debao
>>
>> On Sun, Aug 1, 2010 at 12:04 AM, Guido Seifert<Wargand at gmx.de> wrote:
>>
>>>
>>>
>>>
>>>>
>>>> Thank you, but this does not work if your xxx.cpp file contains
>>>> Q_OBJECT.
>>>>
>>>
>>> Come to think about this, does this even work? I mean Q_OBJECT in .cpp
>>> not in .h? Q_OBJECT belongs in the class declaration, which is usually
>>> found in the header. Should not even compile if you have signals or slots in
>>> your header.
>>>
>>> Guido
>>>
>>> --
>>> GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
>>> Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01
>>> _______________________________________________
>>> Qt-interest mailing list
>>> Qt-interest at trolltech.com
>>> http://lists.trolltech.com/mailman/listinfo/qt-interest
>>>
>>>
>>
>> _______________________________________________
>> Qt-interest mailing list
>> Qt-interest at trolltech.com
>> http://lists.trolltech.com/mailman/listinfo/qt-interest
>>
>
>
More information about the Qt-interest-old
mailing list