[Kde-bindings] Patches to vastly improve building smokegen/smokeqt/qyoto on Windows

Dimitar Dobrev dpldobrev at yahoo.com
Tue Dec 6 08:39:56 UTC 2011


Great work! These actually contain some of the issues I didn't post workarounds for, for example the searching for "smokegen" while the file is named "smokegen.exe". It's good you compensated for my laziness. :)
I hope they take the parts for "ARCHIVE DESTINATION and RUNTIME DESTINATION". They do work and I had prepared such for smokegen. It was not accepted, though, because its validity on non-Windows system was doubted even though I actually read about it on a Linux-related mailing list, and I didn't have the time to check that AS WELL. Now that you tested it on Linux both yours and mine should be admitted. Once this happens, I'll send a patch for all CMakeLists in assemlygen/assemblies/qyoto-*/native.



________________________________
 From: Steven Boswell II <ulatekh at yahoo.com>
To: "kde-bindings at kde.org" <kde-bindings at kde.org> 
Sent: Tuesday, December 6, 2011 5:22 AM
Subject: [Kde-bindings] Patches to vastly improve building smokegen/smokeqt/qyoto on Windows
 

A few days ago, I reported a massive number of weird build issues that I ran into while trying to compile smokegen, smokeqt, and qyoto for Windows.  Most of them could be solved by someone that knows CMake.  I finally learned about CMake over the weekend...it was a lot less nasty than I was expecting.  I guess autoconf has traumatized me. :-)

Anyway, I found what I would consider to be proper solutions to the vast majority of the build problems I ran into!  Enclosed is an archive with three patches, one for each project, against the latest state of the public git repositories.  Here's what they do:

smokegen:
Adds CMAKE_EXECUTABLE_SUFFIX to the end of SMOKE_GEN_BIN and SMOKE_API_BIN, so that the installed SmokeConfig.cmake will have proper paths to the executables.
Put quotes around several references to path variables, so that spaces can appear in the installation path.
Added ARCHIVE DESTINATION and RUNTIME DESTINATION to the install line of cppparser.  (No apparent effect under Linux.)

smokeqt:
Put quotes around the reference to SMOKE_CMAKE_MODULE_DIR, so that spaces can appear in the installation path.

qyoto:
Modified paths to C# sources under Windows, changing forward-slashes to backward-slashes.  (Apparently, Microsoft's C# compiler can't handle forward slashes.)
When looking for the C# compiler, if the environment variable CSC refers to the 2.0 compiler, don't use it.  (The Qyoto C# files use .NET 3.0 features.)
If CMakeDetermineCSharpCompiler.cmake has to look for a Microsoft compiler, use the 3.5 version.
Don't compile QtDBus-related items unless the related library was found (i.e. only if SMOKE_QTDBUS_LIBRARY is defined).
Added ARCHIVE DESTINATION to the install line of qtscript-sharp, qttest-sharp, qtuitools-sharp, and qtwebkit-sharp.
Changed the external definition of Qyoto_handlers[] in src/qyoto.cpp from Q_DECL_IMPORT to Q_DECL_EXPORT, to match the way it's declared elsewhere.
Define QDESIGNER_UILIB_LIBRARY when compiling uics for Win32, to get rid of a ton of linker errors.

I know that no one has time to help Dimitar and I port Qyoto to Windows, but at the very least, could you look over these changes and consider them for inclusion in the public git repository?  I'll send a push request if that would make things easier for you.

Steven Boswell

_______________________________________________
Kde-bindings mailing list
Kde-bindings at kde.org
https://mail.kde.org/mailman/listinfo/kde-bindings
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-bindings/attachments/20111206/4bcc7963/attachment.html>


More information about the Kde-bindings mailing list