RESOURCE — CMake 4.0.1 Documentation (original) (raw)
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