summaryrefslogtreecommitdiff
path: root/share/cmake-3.22/Help/prop_tgt/RESOURCE.rst
diff options
context:
space:
mode:
Diffstat (limited to 'share/cmake-3.22/Help/prop_tgt/RESOURCE.rst')
-rw-r--r--share/cmake-3.22/Help/prop_tgt/RESOURCE.rst58
1 files changed, 58 insertions, 0 deletions
diff --git a/share/cmake-3.22/Help/prop_tgt/RESOURCE.rst b/share/cmake-3.22/Help/prop_tgt/RESOURCE.rst
new file mode 100644
index 0000000..e5a1cb6
--- /dev/null
+++ b/share/cmake-3.22/Help/prop_tgt/RESOURCE.rst
@@ -0,0 +1,58 @@
+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