Dear CMake Users,

we are using CMake as build system for an application which is made from several subapplications for ease of development (Windows 7 + Visual Studio 2010).

In order to make the setup of a project for the developer easier, we use the fixup_bundle macro from BundleUtilities via the INSTALL project. It searches the libraries needed of an executable in given locations and copies them to the output folder. If there are several executables to fixup in the same folder, errors occur while resolving the dependencies.

With CMake we are able to build a global meta-solution with all the subprojects in it, what allows the developer to have all the sources in one solution and run standalone subprojects and tests from there. All Output is directed to the same location which is under the root application directory appended with the configuration name (Debug, Release etc).
(Note: The subprojects are also used in other applications)

Meta-Solution:
    - LibraryA
- LibraryA_Standalone (Standalone and Library differ in symbols which are exported and target to build)
    - LibraryA_Test
    - LibraryB
    - LibraryB_Standalone
    - LibraryB_Test
    - Full_Application (Depends on LibraryA and LibraryB)
    - INSTALL (calls LibraryA's and LibraryB's install_cmake)

The information to fix up the executables resides in the subprojects which install the fixup script with the according executable and directories.

THE PROBLEM:
When building the install project for a subproject, the fixup_bundle macro searches for all other executables in the current directory and tries to fix them. Because not all paths are given with each subproject not all libraries can be resolved. see Line 420 of BundleUtilities.cmake

# But do fixups on all executables in the bundle:
#
get_bundle_all_executables("${bundle}" exes)

I temporarily fixed this using only the given executable here and ignoring others.

I would be interested in the following things:
    - why are other executables search for?
    - is there a better way to do what I want?

Thank you for your replies

Kind regards

Fabian Saccilotto
--

Powered by 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://www.cmake.org/mailman/listinfo/cmake

Reply via email to