[CMake] fixup_bundle on Windows : issue with multiple exe applications

Benjamin Ballet bballet at ivsweb.com
Thu Mar 3 13:43:12 EST 2016


Hello

I'd like to discuss a problem I encountered today with the very useful
module BundleUtilities

We have an application on Windows with one main exe file in the top folder
and a few other exe in subdirectories, like that :

applicationfolder  \
                          | main.exe
                          | toolsfolder \
                                            | supertoolfolder \
                                                                    |
supertool.exe
                                            | toptoolfolder \
                                                                 |
toptool.exe

But if I simply call
fixup_bundle("applicationfolder/main.exe" plugins libs)

the verify_app will fails.

Just a reminder that there is no rpath on Windows : dll must be either in
PATH or in the same folder or in the working directory.

We expected fixup_bundle to copy the required dll for main.exe in
applicationfolder, the required dll for supertool.exe in supertoolfolder
and  the required dll for toptool.exe in toptoolfolder, but it acually
didn't copied anything in supertoolfolder and toptoolfolder.

I worked around this issue by calling fixup_bundle multiple time with the
following order : (the deepest exes first)

fixup_bundle("applicationfolder/toolsfolder/supertoolfolder/supertool.exe"
plugins libs)
fixup_bundle("applicationfolder/toolsfolder/toptoolfolder/toptool.exe"
plugins libs)
fixup_bundle("applicationfolder/main.exe" plugins libs)


-- 
*Benjamin BALLET*
Ingénieur R&D

*ACTIVISU*
19, rue Klock - 92110 Clichy
*> Standard Tél* :  01 44 69 37 37
*>* www.activisu.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/cmake/attachments/20160303/73e3256a/attachment.html>


More information about the CMake mailing list