On Thursday 03 April 2008, Ralf Habacker wrote:
> David Faure schrieb:
> > On Wednesday 02 April 2008, Ralf Habacker wrote:
> >
> >> SVN commit 793038 by habacker:
> >>
> >> kdeinit modules are not supported on win32
> >>
> >> M +10 -6 client/CMakeLists.txt
> >> M +11 -5 src/CMakeLists.txt
> >>
> >>
> >> --- trunk/KDE/kdebase/apps/konqueror/client/CMakeLists.txt #793037:793038
> >> @@ -10,13 +10,17 @@
> >>
> >> kde4_add_app_icon(kfmclient_SRCS
> >> "${KDE4_ICON_INSTALL_DIR}/oxygen/*/apps/system-file-manager.png")
> >>
> >> -kde4_add_kdeinit_executable( kfmclient NOGUI ${kfmclient_SRCS})
> >> +if (WIN32)
> >> + add_definitions(-Dkdemain=main)
> >> + kde4_add_executable(kfmclient ${kfmclient_SRCS})
> >> + target_link_libraries(kfmclient ${KDE4_KIO_LIBS} )
> >> +else (WIN32)
> >> + kde4_add_kdeinit_executable( kfmclient NOGUI ${kfmclient_SRCS})
> >> + target_link_libraries(kdeinit_kfmclient ${KDE4_KIO_LIBS} )
> >> + install(TARGETS kdeinit_kfmclient DESTINATION
> >> ${INSTALL_TARGETS_DEFAULT_ARGS} )
> >> + target_link_libraries( kfmclient kdeinit_kfmclient )
> >> +endif (WIN32)
> >>
> >
> > Ouch. But we define kdeinit modules everywhere in the source code.
> > Maintaining CMakeLists.txt files
> > like this one is going to be horrible.
> >
> > How about making kde4_add_kdeinit_executable do what's right for Windows,
> > i.e. creating a static lib
> > kdeinit_foo with -Dkdemain-main, and then the normal stuff from the
> > CMakeLists.txt will work:
> >
> > target_link_libraries(kdeinit_kfmclient ${KDE4_KIO_LIBS} )
> > install(TARGETS kdeinit_kfmclient DESTINATION
> > ${INSTALL_TARGETS_DEFAULT_ARGS} )
> >
> You are aware that you then install an obsolate static library ?
Ah, indeed.
> > target_link_libraries( kfmclient kdeinit_kfmclient )
> >
> > (I think/hope that the dependencies of the static lib are used for the
> > binary)
> >
> >
>
> would it not be possible to have something like the following
>
> kde4_add_kdeinit_executable(kfmclient ... )
> kde4_target_link_library(kfmclient ... )
> kde4_install(TARGETS kfmclient ... )
>
> which would make it possible to hide all the internal platform depending
> stuff into those cmake macros.
I agree. But this is Alex's call really -> moving discussion to kde-buildsystem.
--
David Faure, [EMAIL PROTECTED], sponsored by Trolltech to work on KDE,
Konqueror (http://www.konqueror.org), and KOffice (http://www.koffice.org).
_______________________________________________
Kde-buildsystem mailing list
[email protected]
https://mail.kde.org/mailman/listinfo/kde-buildsystem