Back to Cmake

RESOURCE

Help/prop_tgt/RESOURCE.rst

4.3.21.5 KB
Original Source

RESOURCE

Specify resource files in a :prop_tgt:FRAMEWORK or :prop_tgt:BUNDLE.

Target marked with the :prop_tgt:FRAMEWORK or :prop_tgt:BUNDLE property generate framework or application bundle (both macOS and iOS is supported) or normal shared libraries on other platforms. This property may be set to a list of files to be placed in the corresponding directory (eg. Resources directory for macOS) inside the bundle. On non-Apple platforms these files may be installed using the RESOURCE option to the :command:install(TARGETS) command.

Following example of Application Bundle:

.. code-block:: cmake

add_executable(ExecutableTarget addDemo.c resourcefile.txt appresourcedir/appres.txt)

target_link_libraries(ExecutableTarget heymath mul)

set(RESOURCE_FILES resourcefile.txt appresourcedir/appres.txt)

set_target_properties(ExecutableTarget PROPERTIES MACOSX_BUNDLE TRUE MACOSX_FRAMEWORK_IDENTIFIER org.cmake.ExecutableTarget RESOURCE "${RESOURCE_FILES}")

will produce flat structure for iOS systems::

ExecutableTarget.app appres.txt ExecutableTarget Info.plist resourcefile.txt

For macOS systems it will produce following directory structure::

ExecutableTarget.app/ Contents Info.plist MacOS ExecutableTarget Resources appres.txt resourcefile.txt

For Linux, such CMake script produce following files::

ExecutableTarget Resources appres.txt resourcefile.txt