Specify resource files in a FRAMEWORK
or BUNDLE
.
Target marked with the FRAMEWORK
or 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 install(TARGETS)
command.
Following example of Application Bundle:
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
© 2000–2020 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.19/prop_tgt/RESOURCE.html