Hi, For many years, KDE (on UNIX) has had a system of launching executables by forking the kdeinit process and loading the application code with dlopen. This allows avoiding the startup overhead of initializing Qt etc for each process which is started.
Launching the konqueror application from a UI such as the KMenu or KRunner will run something like 'kwrapper4 konqueror', which uses D-Bus to tell klauncher, which serializes such requests and uses a socket connection to kdeinit to trigger it to do the fork+dlopen. For convenience, KDE creates both the dlopen'able library and a separate executable which links to the library so that the user can also just execute 'konqueror' on the command line, bypassing the kdeinit system. https://projects.kde.org/projects/frameworks/kinit/repository/revisions/master/entry/KF5InitMacros.cmake#L14 Maemo used the same trick: http://katastrophos.net/harmattan-dev/html/guide/html/qtboost.html https://maemo.gitorious.org/maemo-af/maemo-launcher-qtbooster46-fremantle/source/158a316db5387752bd0be9655ee2b85b6dcc3999:README I think BB10 can use the same trick: http://www.cydiasubstrate.com/id/727f62ed-69d3-4956-86b2-bc0ffea110c1/ http://devblog.blackberry.com/2012/12/cascades-project-zygote/ Android requires native code to be loaded from java as a shared library using System.loadLibrary("TestCMake"); to load a library called libTestCMake.so. The android packaging system won't even package a file if it does not have the .so extension. Console-only applications on Android may be regular executables. Should we try to add first-class support to CMake for building shared libraries from CMake code like add_executable(...) somehow? There would probably need to be some properties to control it, but I wanted to raise the idea. Thanks, Steve. -- 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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
