[bt-devel] Updated Windows Build Procedure

Martin Gruner mg.pub at gmx.net
Thu Oct 15 10:30:59 MST 2009


Hi Greg and Gary,

we already have a Qt-based StringMgr. We don't need ICU at all, you can turn 
it off during the Sword build.

mg

Am Donnerstag, 15. Oktober 2009 03:51:28 schrieb Gary Holmlund:
> Greg Hellings wrote:
> > Gary,
> >
> > On Tue, Oct 13, 2009 at 11:43 PM, Gary Holmlund <gary.holmlund at gmail.com> 
wrote:
> >> Greg Hellings wrote:
> >>> On Tue, Oct 13, 2009 at 10:09 PM, Gary Holmlund
> >>> <gary.holmlund at gmail.com> wrote:
> >>> This makes me wonder - does it obviate the need for installing two
> >>> different copies of the "system" libraries: one in BibleTime/bin and
> >>> the other in BibleTime/bin/plugins/imageformats?  I would hope that
> >>> installing into a global \Windows\* directory would mean we don't need
> >>> to include two copies of the libraries anymore.
> >>
> >> Yes, we don't need to have any ms dll's in our bin or plugin
> >> directories. They are found in WinSis automatically.
> >
> > I tried to build and package just a few moments ago - I have no
> > Windows\WinSiS directory, though I have a Windows\WinSxS directory.
> > Also, the application fails to launch due to the "application was not
> > configured correctly" issue.  I don't know if this is because the MSVC
> > redistributable is not being installed properly or if it's because I'm
> > on a Windows XP test VM.  I see the line
> > INSTALL(PROGRAMS ${MSVC_REDIST} DESTINATION bin)
> > Generally other install macro calls use ${BT_DESTINATION} instead of
> > the string literal "bin."  Additionally I can't find where
> > ${MSVC_REDIST} is being set.  Am I just missing it, or should that be
> > something we add to CMake's find commands?
> 
> MSVC_REDIST is on of the new variable I documented that you must setup
> in cmake according to your location of the downloaded vcredist_x86.exe.
> 
> I suspect you are right that using ${BT_DES ...   is better.
> 
> >>>> I have updated the cmake/BTCpack.cmake to do this and I have updated
> >>>> the building on windows wiki instructions. Please note that I added
> >>>> two cmake variables to the procedure.
> >>>>
> >>>> CMAKE_BUILD_TYPE       Release
> >>>
> >>> Unfortunately, for IDE generator types, the CMAKE_BUILD_TYPE is
> >>> ignored by CMake.  I was confused by that at first, until I read that
> >>> the reason is pretty straightforward - Makefile type systems expect
> >>> one configuration per tree, so CMake should be build in a parallel
> >>> directory.  IDE systems, on the other hand, take care of building in
> >>> their own subdirectories based on the configuration you select at
> >>> build time.  Thus for the INSTALL macro, at least, you use the
> >>> optional CONFIGURATIONS parameter to INSTALL that is documented at
> >>> http://www.cmake.org/cmake/help/cmake2.6docs.html#command:install.  I
> >>> don't exactly know what options CPack has for this, especially as
> >>> documentation seems more sparse for CPack and its a more recent
> >>> addition to the CMake suite.  Perhaps better support exists in CPack
> >>> now that CMake 2.8 is out.  When I look at what you've setup tomorrow
> >>> I'll see what I can find.
> >>
> >> I guess that makes sense that the CMAKE_BUILD_TYPE is not needed. Also,
> >> I don't believe it make sense to build an installer for a debug version.
> >> It can be debugged best where it is built.
> >
> > This is probably true.  I just generally package up the Debug build to
> > transfer over to my VM to test there.  Just because it gives more
> > verbose feedback when I'm testing for bugs that only manifest on that
> > system.  Since you're using the INSTALL command, you can have two
> > versions like such:
> >
> > INSTALL(PROGRAMS ${MSVC_REDIST} DESTINATION ${BT_DESTINATION}
> > CONFIGURATIONS "Release")
> > INSTALL(PROGRAMS ${MSVC_REDIST_DEBUG} DESTINATION ${BT_DESTINATION}
> > CONFIGURATIONS "Debug")
> >
> >> I see that libsword is being built without ICU. I have exchanged some
> >> email with Matthew Talbert about this. He suggests checking out the
> >> icu-sword svn at crosswire.org. I will try this tomorrow night.
> >
> > I'm pretty sure that building the default ICU for Windows is strongly
> > supported in MSVC 2008 (I've heard rumor it's the preferred
> > platform?).  I personally have noticed no difference in SWORD with or
> > without it, so it was for me an "after I get BT working in its
> > simplest configuration" objective.  It sounds like we're close to that
> > time.  Chris is the sword-devel list expert on this topic.  I believe
> > you just need to pull ICU into a parallel directory and build it, be
> > sure that SWORD is configured appropriately to find it, and the SWORD
> > build files will automagically build it in.  We should definitely
> > bring him in on that issue.
> >
> > --Greg
> 
> Matthew Talbert suggests that ICU is not needed for anything if we make
> a small change in our stringmgr. I am looking into that.
> 
> Gary
> 
> _______________________________________________
> bt-devel mailing list
> bt-devel at crosswire.org
> http://www.crosswire.org/mailman/listinfo/bt-devel
> 

-- 

Bauplan des Lebens - längst im Gen entdeckt!
Die Wissenschaft ist stolz: Sie hat's gecheckt.
Nun ist der Bauplan als Beweis beliebt,
dass es den Architekten gar nicht gibt.

Wolf Rahn



More information about the bt-devel mailing list