Add CMake instructions to copy default resources to app bundle, and add mounting points for those resources.

This commit is contained in:
Tommy Li
2019-12-22 21:20:57 -06:00
parent 17255a69a2
commit 6b524a6c1f
3 changed files with 52 additions and 0 deletions
+14
View File
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.device.usb</key>
<true/>
<key>com.apple.security.network.client</key>
<true/>
<key>com.apple.security.network.server</key>
<true/>
</dict>
</plist>
+19
View File
@@ -251,6 +251,25 @@ elseif(APPLE)
"NO"
XCODE_ATTRIBUTE_LIBRARY_SEARCH_PATHS
"${SM_XCODE_DIR}/Libraries")
# XCODE_ATTRIBUTE_CODE_SIGN_ENTITLEMENTS
# "${SM_XCODE_DIR}/StepMania.entitlements")
set(APPLE_BUNDLE_RESOURCES
"${SM_ROOT_DIR}/Announcers"
"${SM_ROOT_DIR}/BackgroundEffects"
"${SM_ROOT_DIR}/BackgroundTransitions"
"${SM_ROOT_DIR}/BGAnimations"
"${SM_ROOT_DIR}/Characters"
"${SM_ROOT_DIR}/Courses"
"${SM_ROOT_DIR}/Data"
"${SM_ROOT_DIR}/NoteSkins"
"${SM_ROOT_DIR}/Scripts"
"${SM_ROOT_DIR}/Songs"
"${SM_ROOT_DIR}/Themes"
)
target_sources("${SM_EXE_NAME}" PUBLIC ${APPLE_BUNDLE_RESOURCES})
set_source_files_properties(${APPLE_BUNDLE_RESOURCES} PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
sm_add_compile_definition("${SM_EXE_NAME}" _XOPEN_SOURCE)
+19
View File
@@ -360,6 +360,25 @@ void ArchHooks::MountUserFilesystems( const RString &sDirOfExecutable )
// /Logs -> ~/Library/Logs/PRODUCT_ID
PathForFolderType( dir, kDomainLibraryFolderType );
FILEMAN->Mount( "dir", ssprintf("%s/Logs/" PRODUCT_ID, dir), "/Logs" );
NSString* resourcePath = [[NSBundle mainBundle] resourcePath];
if( resourcePath )
{
const char* resourcePathUTF8String = [resourcePath UTF8String];
FILEMAN->Mount( "dir", ssprintf("%s/Announcers", resourcePathUTF8String), "/Announcers" );
FILEMAN->Mount( "dir", ssprintf("%s/BGAnimations", resourcePathUTF8String), "/BGAnimations" );
FILEMAN->Mount( "dir", ssprintf("%s/BackgroundEffects", resourcePathUTF8String), "/BackgroundEffects" );
FILEMAN->Mount( "dir", ssprintf("%s/BackgroundTransitions", resourcePathUTF8String), "/BackgroundTransitions" );
FILEMAN->Mount( "dir", ssprintf("%s/CDTitles", resourcePathUTF8String), "/CDTitles" );
FILEMAN->Mount( "dir", ssprintf("%s/Characters", resourcePathUTF8String), "/Characters" );
FILEMAN->Mount( "dir", ssprintf("%s/Courses", resourcePathUTF8String), "/Courses" );
FILEMAN->Mount( "dir", ssprintf("%s/NoteSkins", resourcePathUTF8String), "/NoteSkins" );
FILEMAN->Mount( "dir", ssprintf("%s/Packages", resourcePathUTF8String), "/" + SpecialFiles::USER_PACKAGES_DIR );
FILEMAN->Mount( "dir", ssprintf("%s/Songs", resourcePathUTF8String), "/Songs" );
FILEMAN->Mount( "dir", ssprintf("%s/RandomMovies", resourcePathUTF8String), "/RandomMovies" );
FILEMAN->Mount( "dir", ssprintf("%s/Themes", resourcePathUTF8String), "/Themes" );
FILEMAN->Mount( "dir", ssprintf("%s/Data", resourcePathUTF8String), "/Data" );
}
// /Desktop -> /Users/<user>/Desktop/PRODUCT_ID
// PathForFolderType( dir, kDesktopFolderType );