Hi there, OK, I have sorted out my Linux and Mac installers, raising bug 9949. Thanks to everyone for their help.
For other readers interest, the most important bit to get the Qt Assistant help working on the Mac was to build my own Qt, install it in a non-standard place. (i.e. not /usr/lib, /usr/bin), and define a dependency on specific libraries like libQtCLucene. Then when fixup_bundle searches for libraries to include, it will include all the Qt ones which on a Mac includes things like the Frameworks and also any additional libraries like libQtCLucene. So, in future, for all my builds, I will probably compile my own Qt. A few comments below Many thanks. Matt Begin forwarded message: From: Sascha Zelzer <[email protected]<mailto:[email protected]>> Date: 28 October 2011 17:48:57 GMT+01:00 To: "Clarkson, Matt" <[email protected]<mailto:[email protected]>> Cc: mitk-users <[email protected]<mailto:[email protected]>> Subject: Re: [mitk-users] Can't install a boost library Hi, On 10/27/2011 12:31 PM, Clarkson, Matt wrote: Hi Sascha, Im making progress. I added: <stuff>/MITK/CMake/PackageDepends/MITK_Boost_Config.cmake and magically boost seemed to be installed in the right places, and the fixup_bundle stuff verifies the app. I am not quite sure what you mean with "added". The file exists in this location for some time now (recently I made some modifications to support binary boost libraries). This file is automatically read by the MITK module macros if you declare a dependeny to "Boost" in your MITK_CREATE_MODULE() macro call. Well, I was reading a previous email on the mailing list, which suggested adding them to the project, so I created my own ones in <MyProject>/Code/Gui/MITK/CMakePackageDepends/MITK_Boost_Config.cmake, and made my module depend on Boost, so I miss-interpretted your previous email. Sorry. My approach did not work, as you need to define the variable MITK_USE_BOOST. So, I removed this. However, while I understand that for normal MITK cases on a Mac you would run "make package", and then CPack would create a DragNDrop installer, I have been running make install, then I have my own script, which bundles up the whole installation folder. The reason is because of problems with /usr/bin/hdiutil as the package is too big for the default arguments. So my script calculates the size of the required disk image, and adds branding images and a few other things. I just tried running "make package", and I got: Is that something for which we could add a bug report for the BundleUtilities.cmake script? Yes, probably, effectively what I do is: # Calculate required size of disk image echo "Calculating required size" initial_size=`du -ks ${EFFECTIVE_ROOT} | awk '{print $1}'` SIZE=$(($initial_size+2000)) echo "Size of directory to mount=${SIZE}k" # Create the disk image echo "Creating disk image" hdiutil create -srcfolder "${EFFECTIVE_ROOT}" -volname "${BASE_NAME}" -fs HFS+ -fsargs "-c c=64,a=16,e=16" -format UDRW -size ${SIZE}k ${TMP_OUTPUT_DMG} I raised bug 9949. CPack Error: Error executing: /usr/bin/hdiutil create -ov -srcfolder "/Users/mattclarkson/build/UCLToolkit-SuperBuildRelease/UCLToolkit-build/_CPack_Packages/Darwin-i386/DragNDrop/ALL_IN_ONE" -volname "ucltk-2.5.0" -format UDRW "/Users/mattclarkson/build/UCLToolkit-SuperBuildRelease/UCLToolkit-build/_CPack_Packages/Darwin-i386/DragNDrop/temp.dmg" CPack Error: Error generating temporary disk image. CPack Error: Problem compressing the directory which I expected. So, my script seems OK, except for the fact that when installed on a completely separate Mac, the help files are not registered, which I assume is due to the lack of QtAssistant on the target machine. That is very likely the reason. QtAssistant is also not created within the CPack directory structure (that gets created before it's all zipped up), so I assume it would be missing even if "make package" was working. So, next Question: Where and How does QtAssistant get installed on a Mac? Usually, you have a line like https://github.com/MITK/MITK-ProjectTemplate/blob/master/CMakeLists.txt#L361 in your projects CMakeLists.txt. Then https://github.com/MITK/MITK/blob/master/CMake/mitkInstallRules.cmake#L17 takes care of installing QtAssistant. The QT_ASSISTANT_EXECUTABLE CMake variable is set in https://github.com/MITK/MITK/blob/master/BlueBerry/CMakeLists.txt#L64 so my guess is that you either have no QtAssistant executable, or it is named differently on MacOS. Best, Sascha I had to add: MITK_INSTALL_HELPER_APP(EXECUTABLES "${QT_ASSISTANT_EXECUTABLE}" ) to my CMakeLists.txt for my app. Then also there were Qt problems. The Assistant app requires libQtCLucene.so.4 at run time, which is not included by fixup_bundle if this library is installed in a system place. So I had to build my own Qt version, and install it in a non-standard place, and also specifically define a dependency on QtCLucene.
------------------------------------------------------------------------------ Get your Android app more play: Bring it to the BlackBerry PlayBook in minutes. BlackBerry App World™ now supports Android™ Apps for the BlackBerry® PlayBook™. Discover just how easy and simple it is! http://p.sf.net/sfu/android-dev2dev
_______________________________________________ mitk-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mitk-users
