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

Steven Boswell II ulatekh at yahoo.com
Tue Dec 6 14:20:00 UTC 2011


Don't call yourself lazy -- you've done a lot to get me started on this project.  This is called "teamwork"! :-)


They should take the parts for ARCHIVE/RUNTIME DESTINATION -- they didn't have any apparent effect on Linux.  I could go double-check that, if they're worried about it, but I compared the Linux builds before/after my patch, just to be paranoid.

I'd appreciate a pre-release of any Windows-related patches you have.  I'll be happy to test them on my end.

My next goal is to figure out how to debug unmanaged code under Windows, so that I can track down problems in Qyoto.  It looks possible with Visual Studio, but I'm hoping for an open-source solution.

Steven Boswell



________________________________
 From: Dimitar Dobrev <dpldobrev at yahoo.com>
To: Steven Boswell II <ulatekh at yahoo.com>; KDE bindings for other programming languages <kde-bindings at kde.org> 
Sent: Tuesday, December 6, 2011 1:39 AM
Subject: Re: [Kde-bindings] Patches to vastly improve building smokegen/smokeqt/qyoto on Windows
 

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/62d8af75/attachment.html>


More information about the Kde-bindings mailing list