KDE/kdelibs/cmake/modules
Christian Ehrlicher
Ch.Ehrlicher at gmx.de
Sat Oct 21 23:41:24 CEST 2006
Sebastian Sauer schrieb:
> On Saturday 21 October 2006 12:08, you wrote:
>> Christian Ehrlicher schrieb:
>>> SVN commit 597662 by chehrlic:
>>>
>>> This is not needed at all - it worked before without and now it doesn'
>>> work with msvc anymore! cmake adds those libs automagically afaik
>> I had to go back to rev. 597591 to get it kdelbis compile again with msvc!
>> Why did you remove all the dbus stuff and changed all the other things?
>> It compiled fine with mingw before.
>> Please fix those things / go back to rev 597591 and start over with your
>> mingw compile!
>
> hmm... that's somewhat funny cause let's take a look at the commits I did (I
> try to just outline what has changed);
>
> 1. r597592
>
> -if (NOT QT_DBUSXML2CPP_EXECUTABLE)
> - message(FATAL_ERROR "Qt4 qdbusxml2cpp was not found. Make sure it has been
> built and installed by Qt")
> -endif (NOT QT_DBUSXML2CPP_EXECUTABLE)
> +if (NOT WIN32)
> + if (NOT QT_DBUSXML2CPP_EXECUTABLE)
> + message(FATAL_ERROR "Qt4 qdbusxml2cpp was not found. Make sure it has
> been built and installed by Qt")
> + endif (NOT QT_DBUSXML2CPP_EXECUTABLE)
> +endif (NOT WIN32)
>
> This part is needed since the Qt 4.2.1 qmake does compile qdbusxml2cpp only
> for unix-systems
>
When you would have asked at kde-windows, we would have told you that
you need windbus and that we're currently working on this topic.
> 2. r597606
>
> - # add the winsock2 library, using find_library or something like this
> would probably be better
> - set(KDEWIN32_LIBRARIES ${KDEWIN32_LIBRARY} user32 shell32 ws2_32)
> + # add the winsock2 library
> + find_library(WIN32_USER32_LIBRARY NAMES user32 PATHS
> $ENV{WINDIR}/system32)
> + find_library(WIN32_SHELL32_LIBRARY NAMES shell32 PATHS
> $ENV{WINDIR}/system32)
> + find_library(WIN32_WS2_LIBRARY NAMES ws2_32 PATHS $ENV{WINDIR}/system32)
> + set(KDEWIN32_LIBRARIES "${KDEWIN32_LIBRARY} ${WIN32_USER32_LIBRARY}
> ${WIN32_SHELL32_LIBRARY} ${WIN32_WS2_LIBRARY}")
>
> You may note the "set(KDEWIN32_LIBRARIES ${KDEWIN32_LIBRARY} user32 shell32
> ws2_32)" which was there before I touched the code and just got replaced. The
> set() was totaly wrong anyway and I wonder it compiled at all since at least
> it was missing additional "-chars ( so,
> set(KDEWIN32_LIBRARIES "${KDEWIN32_LIBRARY} user32 shell32 ws2_32") ) but
> maybe <cmake 2.4.3 did not throw an error before while 2.4.3 does cause
> user32 is not an known keyword not was it a variable.
>
1.) you can't link agains shared libs on win32 (mingw can, but it's a
feature added by Ralf Habacker)
2.) user32, shell32 and ws2_32 is enough since cmake expands them to the
correct static import libs (libfoo.a/ foo.a for mingw amd foo.lib for
msvc) - they're also available on your system 8see MinGW\lib)
> 3. r597618
>
> # FindZLIB.cmake
> set(ZLIB_INCLUDE_DIR ${KDEWIN32_INCLUDES})
> find_library(ZLIB_LIBRARY NAMES zlib PATHS ${KDEWIN32_LIBRARY_PATH})
> ...
>
> if you look again at it, you may note that the relevant added code is in
> a "if(MINGW)" block, so it should be independend of compiling on MS Visual
> Studio except you use MINGW on MSVS? Then it should be propably checked for
> that condition imho.
>
But it's superflous - why would you check for this twice? I don't think
this is needed for mingw only and it's checked for on other places (main
CMakeLists.txt)
> 4. r597624
>
> - find_file(GNUWIN32_DIR_tmp gnuwin32 win32libs
> + find_file(GNUWIN32_DIR_tmp gnuwin32 kdewin32 win32libs
>
> This one was needed cause the kdewin32-package (where the relevant GnuWin32
> files are located) is not named win32libs any longer (what was iirc the case
> for Qt3, or?)
>
You should not mix gnuwin32 and kdewin32 ...
gnuwin32: a summary of all relavant external libs needed for kdelibs,
downloadable somewhere on Ralf Habackers sites, I also have an updated
version of this under the name 'win32libs' - both names are not that
optimal.
kdewin32: a small layer needed to emulate some posix function not
available on win32
> Anyway... where exactly does it break? The only thing that really changed for
> all compilers was the 4. mention above. So, does revert it fix the break?
> btw, without 1. and 2. it does _not_ compile on win32/mingw for me :-(
>
> btw, Laurent pointed me
> to "http://sourceforge.net/project/showfiles.php?group_id=171968" which
> should help to get it finally compiled (biggest prob I saw so far was the
> missing dbus-lib).
>
Imho it would be the best to revert all your changes and try again. If
you have problems, you should ask at kde-buildsystem or kde-windows for
help and then you maybe can check in the changes, if needed!
Christian
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 250 bytes
Desc: OpenPGP digital signature
Url : http://mail.kde.org/pipermail/kde-buildsystem/attachments/20061021/8cf26f5a/attachment.pgp
More information about the Kde-buildsystem
mailing list