On 05/07/2009 11:23, Alexander Neundorf wrote: > Is anybody trying to build KDE4 for cygwin ?
Yes, me. When habacker and the kde-cygwin group changed focus to the native Win32 port of Qt/KDE, I began providing Qt3.3/KDE3.5 packages through my Cygwin Ports project. With an upcoming major update to Cygwin, I'm now working on KDE4 packages as well. I have most modules, save kdebase-workspace, built and running; e.g. here's Konqueror 4.2: https://sourceforge.net/project/screenshots.php?group_id=99645 Right now I'm submitting patches for kdelibs to bugzilla: https://bugs.kde.org/show_bug.cgi?id=130219 I plan to post patches for other modules which need (some build completely OOTB) after 4.3. > Is this part of the patch really correct ? > > --- origsrc/kdelibs-4.2.4/cmake/modules/KDE4Macros.cmake > +++ src/kdelibs-4.2.4/cmake/modules/KDE4Macros.cmake > @@ -567,6 +569,8 @@ macro (KDE4_ADD_PLUGIN _target_NAME _wit > > if (_first_SRC) > set_target_properties(${_target_NAME} PROPERTIES PREFIX "") > + else (_first_SRC) > + set_target_properties(${_target_NAME} PROPERTIES PREFIX "lib") > endif (_first_SRC) > > if (WIN32) > > --------------- > > This patch is inside the following macro: > macro (KDE4_ADD_PLUGIN _target_NAME _with_PREFIX) > #is the first argument is "WITH_PREFIX" then keep the standard "lib" prefix, > otherwise set the prefix empty > > I.e. the old version removed the default "lib" prefix on UNIX systems by > default. If WITH_PREFIX was used, it did not remove the "lib" prefix on UNIX > systems, but also on Windows systems it did not add a "lib" prefix. > With the patch it seems to add a "lib" prefix, also on Windows, also for MSVC. > > Do we want that ? Does CMake use an empty CMAKE_SHARED_MODULE_PREFIX on MSVC? It's up to Ralf then; if that negatively effects him, then a if(NOT WIN32) should be added inside the else(_first_SRC). > if (WIN32) > if(CYGWIN) > message(FATAL_ERROR "Cygwin is NOT supported, use mingw or MSVC to > build > KDE4.") > endif(CYGWIN) I am working on pushing several patches into Cygwin's cmake (and, hopefully, upstream) to make CMake behave correctly on Cygwin; one of those patches removes the WIN32 define on Cygwin, since many packages (including, but not only, KDE) use WIN32 for (in Qt parlance) Q_OS_WIN/Q_WS_WIN, where Cygwin is Q_OS_{CYGWIN,UNIX}/Q_WS_X11. So yes, if someone tries to build KDE4 with a cmake which defines WIN32, it is certainly not supported and the error is justified (although the message could be changed to say that only the combination of Cygwin/WIN32 is not supported, but Cygwin/X11 is.) Yaakov Cygwin Ports _______________________________________________ Kde-buildsystem mailing list Kde-buildsystem@kde.org https://mail.kde.org/mailman/listinfo/kde-buildsystem