[CMake] Enhancement of FIND_PACKAGE
Filipe Sousa
filipe at ipb.pt
Fri Jan 27 09:28:35 EST 2006
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
EnigmailAlexander Neundorf wrote:
> Hi,
>
>
> Did you follow the discussions about the KDE4 buildsystem ?
No
> We will probably also need some extensions to the
> FindQt4.cmake/UseQt4.cmake files.
> They are now also in kde svn and will be synced when neccessary:
> http://websvn.kde.org/trunk/KDE/kdelibs/cmake/modules/
Sorry to disappointing you, but I'm not using the Qt scripts that comes
with cmake. I've my own scripts for Qt3 and Qt4 so that I can do simple
things like this:
SET(QT_CONFIG GUI XML)
SET(sources main.cc mainwindow.ui mainwindow.cc mainwindow.h hello.qrc)
QT_ADD_EXECUTABLE(myproject WIN32 ${sources})
This will add appropriate define flags, include directories and linking
> In the CMakeLists.txt currently in KDE/kdelibs/ most targets link to
> QT_QTCORE_LIBRARY , QT_QTGUI_LIBRARY or QT_QTXML_LIBRARY. These are the
> non-debug versions.
> Now some developers would like to use the debug versions of the Qt libs
> without having to link to all of them.
> We see two options:
> 1)
>
> SET(QT_DONT_USE_THIS TRUE)
> SET(QT_USE_THAT TRUE)
> INCLUDE(UseQt4)
> TARGET_LINK_LIBRARIES(kdeui ${QT_LIBRARIES} )
>
> in basically every CMakeLists.txt.
>
> 2)
> write a macro which simplifies the above:
> QT4_USE(QTCORE QTGUI QTXML) #specify only those you want to use
> TARGET_LINK_LIBRARIES(kdeui ${QT_LIBRARIES} )
>
> 3)
>
> make wrappers for each of the QT_QTFOO_LIBRARY variables:
>
> IF(BUILDTYPE==DEBUG)
> SET(FOO_QTCORE_LIBRARY ${QT_QTCORE_LIBRARY_DEBUG)
> ELSE
> SET(FOO_QTCORE_LIBRARY ${QT_QTCORE_LIBRARY)
> ENDIF
There is no need to do that, you can do this
SET(FOO_QTCORE_LIBRARY
debug ${QT_QTCORE_LIBRARY_DEBUG}
optimized ${QT_QTCORE_LIBRARY_OPT})
TARGET_LINK_LIBRARIES choses the right one
>
> What do you think ?
>
> Bye
> Alex
>
>
- --
Filipe Sousa
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)
iD8DBQFD2i4TbQdNYqwwwCwRAkjOAJ4ti82tzjsTaf+ivh6Bzq6wldoFqgCePQ69
Avwgg1OpPBxTAOPcoYO07eA=
=/bI6
-----END PGP SIGNATURE-----
More information about the CMake
mailing list