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-windows/attachments/20061021/8cf26f5a/attachment.pgp 


More information about the Kde-windows mailing list