[CMake] BundleUtilities not working

Bill Somerville bill at classdesign.com
Thu Jul 30 14:55:04 EDT 2015


On 30/07/2015 19:36, Rashad M wrote:
> Hi all,
Hi Rashad
>
> We have a similar way here to get dll dependencies recursively and 
> create a zip archive. Ideally, this could be integrated in cmake but 
> not sure if that will be ok on cmake side. The code doesn't uses 
> fixup_bundle(..) but follows a similar function syntax.
>
>  package_mingw(
>         ARCH "${mxearch}"
>         MXEROOT "${mxeroot}"
>          PREFIX_DIR "${archive_name}"
>          PEFILES  "${pefiles}"
>         SEARCHDIRS "")
> more details here: 
> https://git.orfeo-toolbox.org/otb.git/blob/HEAD:/CMakeLists.txt#l422
> Note: this was only tested on a cross compiling build and contains 
> some code specific for our project.
>
> [1] 
> https://git.orfeo-toolbox.org/otb.git/blob/HEAD:/CMake/MinGWPackage.cmake
That is all very Windows specific CMake already uses the same technique 
as your code but in a more platform independent way. You may want to 
consider optimizing in the same way as has been added to the 
BundleUtilities.cmake helper GetPrerequisites.cmake in:

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f01a8823

since the objdump -p output on large framework libraries like Qt (10000+ 
lines) is very inefficient when processed as a CMake variable. In our 
CMake built Qt5 project we are getting huge speed ups on the install 
phase on Windows with this change.

Regards
Bill Somerville.

>
> On Tue, Jul 28, 2015 at 7:04 PM, Brad King <brad.king at kitware.com 
> <mailto:brad.king at kitware.com>> wrote:
>
>     On 07/28/2015 12:51 PM, Bill Somerville wrote:
>     > The possible lack of grep is a potential issue so your read
>     > back from file suggestion is interesting, is there a recognized
>     place to
>     > write temporary files like this?
>
>     IIRC the code in question runs during "cmake -P cmake_install.cmake"
>     scripts so CMAKE_CURRENT_BINARY_DIR may be a reasonable choice.
>     If for any reason you need to randomize the file name then you
>     could use string(RANDOM).
>
>     Since this is specific to Windows perhaps $ENV{TEMP} will be useful,
>     though I don't recall off the top of my head whether applications
>     are supposed to read that directly.  Certainly a randomized file
>     name would be needed if a shared temp dir were used.
>
>     -Brad
>
>     --
>
>     Powered by www.kitware.com <http://www.kitware.com>
>
>     Please keep messages on-topic and check the CMake FAQ at:
>     http://www.cmake.org/Wiki/CMake_FAQ
>
>     Kitware offers various services to support the CMake community.
>     For more information on each offering, please visit:
>
>     CMake Support: http://cmake.org/cmake/help/support.html
>     CMake Consulting: http://cmake.org/cmake/help/consulting.html
>     CMake Training Courses: http://cmake.org/cmake/help/training.html
>
>     Visit other Kitware open-source projects at
>     http://www.kitware.com/opensource/opensource.html
>
>     Follow this link to subscribe/unsubscribe:
>     http://public.kitware.com/mailman/listinfo/cmake
>
>
>
>
> -- 
> Regards,
>    Rashad

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/cmake/attachments/20150730/d685f76f/attachment.html>


More information about the CMake mailing list