Wikipedia has a handy version mapping table.ĬMake exposes Apple Clang as AppleClang, so a complete check for e.g. Clang version mappingĪpple Clang has a different versioning scheme from upstream Clang, making it hard to know which Clang version corresponds to which Apple Clang version. Also note that this property is already included in CMake's builtin ist on version 3.9 and newer. If you are using CMake, you can use the method described above to create a bundle with given file. According to various sources, this capability is enabled by default on macOS 10.15+ and iOS 13+, for older versions you need to supply a custom *.plist file with NSHighResolutionCapable enabled: MacOS and iOS is the only platform where HiDPI support of an app can't be advertised programmatically. install_name_tool -id libGLESv2.dylibįinally, the application executable needs to have the RPATH pointed to the framework location: set_target_properties (my-application PROPERTIES For 3rd party *.dylib files it can be done with the following command, dynamic libraries built directly by CMake should have this already set. Then, the *.dylib files need to have their install name changed to contan a RPATH entry, so the executable linking to them will know it has to look for them in the RPATH. Additionally, the files may need to get signed when copied: set_source_files_properties ( libGLESv2.dylib libEGL.dylib PROPERTIES MACOSX_PACKAGE_LOCATION Frameworks XCODE_FILE_ATTRIBUTES CodeSignOnCopy ) First, these have to be put into the Frameworks/ directory inside the bundle - for example like below if you have them referenced with a CMake project. If your application relies on dylibs (such as libGLESv2.dylib / libEGL.dylib for ANGLE), there's a few extra steps compared to static libraries to get them working. If you don't use CMake, these options can be set directly through Xcode UI, for example. See the official Apple Property List file documentation for information about all options. A minimal file can look like this: CFBundleDevelopmentRegion en-US CFBundleExecutable $ / ) endif () The builtin file doesn't include all possible properties, however it's possible to supply your own. if ( CORRADE_TARGET_APPLE ) set_target_properties ( my-application PROPERTIES MACOSX_BUNDLE ON MACOSX_BUNDLE_BUNDLE_NAME "My Application" MACOSX_BUNDLE_BUNDLE_IDENTIFIER "cz.-application" ) endif () If you use CMake, it provides a builtin file with a few options and you can use it like this: add_executable ( my-application main.cpp ) #. While graphical applications can run "as is", directly from the compiled executable, it's not possible to set various crucial properties of the app such as HiDPI support - for that you need to create a bundle, specifying its options through a *.plist file.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |