Mac bundled application with multiple executables.

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Mac bundled application with multiple executables.

Bill Somerville
Hi,

noob here so firstly thanks for the great build tools!

I'm struggling with shoehorning a Win32/Linux Qt GUI application into
CMake for those targets and for OS-X.

At the moment the Mac build is manually transformed into an OS-X app
bundle. I am making some progress getting it to install (and package,
for deployment) directly into a bundle format. Using MACOSX_BUNDLE on
the main GUI executable target plus the required CMake variable
declarations.

What I am stuck with is how to include another executable in the app
bundle. It is a console type program that is spawned from the GUI to do
some background work. Although it can be run standalone from the
console, its purpose is to be run by the GUI program. Therefore it
belongs in the bundle.

What incantation do I need to give CMake to get this executable into the
bundle installation. It is built as a target by the same CMake script as
the GUI executable.

Regards
Bill.
--

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 | Threaded
Open this post in threaded view
|

Re: Mac bundled application with multiple executables.

Andreas Pakulat-2
Hi Bill,

On Sun, Feb 9, 2014 at 8:45 PM, Bill Somerville <[hidden email]> wrote:
Hi,

noob here so firstly thanks for the great build tools!

I'm struggling with shoehorning a Win32/Linux Qt GUI application into CMake for those targets and for OS-X.

At the moment the Mac build is manually transformed into an OS-X app bundle. I am making some progress getting it to install (and package, for deployment) directly into a bundle format. Using MACOSX_BUNDLE on the main GUI executable target plus the required CMake variable declarations.

What I am stuck with is how to include another executable in the app bundle. It is a console type program that is spawned from the GUI to do some background work. Although it can be run standalone from the console, its purpose is to be run by the GUI program. Therefore it belongs in the bundle.

What incantation do I need to give CMake to get this executable into the bundle installation. It is built as a target by the same CMake script as the GUI executable.

This is how CMake itself is shipped on MacOSX (the bundle starts the qt gui and contains the console gui as well as the various cli tools like cmake, ctest etc. So you may want to look into CMake's own buildsystem files for that, IIRC the cmake buildsystem wasn't that hard to understand and follow.

AndreasĀ 

--

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 | Threaded
Open this post in threaded view
|

Re: Mac bundled application with multiple executables.

norulez
You can use add_custom_command as POST_BUILD step and TargetGenerators for the main GUI bundle to do what you want.

Best Regards

Am 09.02.2014 um 23:56 schrieb Andreas Pakulat <[hidden email]>:

Hi Bill,

On Sun, Feb 9, 2014 at 8:45 PM, Bill Somerville <[hidden email]> wrote:
Hi,

noob here so firstly thanks for the great build tools!

I'm struggling with shoehorning a Win32/Linux Qt GUI application into CMake for those targets and for OS-X.

At the moment the Mac build is manually transformed into an OS-X app bundle. I am making some progress getting it to install (and package, for deployment) directly into a bundle format. Using MACOSX_BUNDLE on the main GUI executable target plus the required CMake variable declarations.

What I am stuck with is how to include another executable in the app bundle. It is a console type program that is spawned from the GUI to do some background work. Although it can be run standalone from the console, its purpose is to be run by the GUI program. Therefore it belongs in the bundle.

What incantation do I need to give CMake to get this executable into the bundle installation. It is built as a target by the same CMake script as the GUI executable.

This is how CMake itself is shipped on MacOSX (the bundle starts the qt gui and contains the console gui as well as the various cli tools like cmake, ctest etc. So you may want to look into CMake's own buildsystem files for that, IIRC the cmake buildsystem wasn't that hard to understand and follow.

Andreas 
--

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

--

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