mirror of
https://github.com/smartcmd/MinecraftConsoles.git
synced 2026-08-20 09:57:09 +00:00
Update the build system to create arc files
This commit is contained in:
parent
09dff8f173
commit
92e751ac6b
|
|
@ -88,59 +88,6 @@ target_link_libraries(MinecraftClient PRIVATE
|
|||
>
|
||||
)
|
||||
|
||||
if(CMAKE_HOST_WIN32)
|
||||
message(STATUS "Starting redist copy...")
|
||||
execute_process(
|
||||
COMMAND robocopy.exe
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/x64/Release"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}"
|
||||
/S /MT /R:0 /W:0 /NP
|
||||
)
|
||||
message(STATUS "Starting asset copy...")
|
||||
execute_process(
|
||||
COMMAND robocopy.exe
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/Minecraft.Client"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}"
|
||||
/S /MT /R:0 /W:0 /NP
|
||||
/XF "*.cpp" "*.c" "*.h" "*.hpp" "*.asm"
|
||||
"*.xml" "*.lang" "*.vcxproj" "*.vcxproj.*" "*.sln"
|
||||
"*.docx" "*.xls"
|
||||
"*.bat" "*.cmd" "*.ps1" "*.py"
|
||||
"*Test*"
|
||||
/XD "Durango*" "Orbis*" "PS*" "Xbox"
|
||||
)
|
||||
message(STATUS "Patching Windows64Media...")
|
||||
execute_process(
|
||||
COMMAND robocopy.exe
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/Minecraft.Client/DurangoMedia"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/Windows64Media"
|
||||
/S /MT /R:0 /W:0 /NP
|
||||
/XF "*.h" "*.xml" "*.lang" "*.bat"
|
||||
)
|
||||
elseif(CMAKE_HOST_UNIX)
|
||||
message(STATUS "Starting redist copy...")
|
||||
execute_process(
|
||||
COMMAND rsync -av "${CMAKE_CURRENT_SOURCE_DIR}/x64/Release/" "${CMAKE_CURRENT_BINARY_DIR}/"
|
||||
)
|
||||
message(STATUS "Starting asset copy...")
|
||||
execute_process(
|
||||
COMMAND rsync -av
|
||||
"--exclude=*.cpp" "--exclude=*.c" "--exclude=*.h" "--exclude=*.hpp" "--exclude=*.asm"
|
||||
"--exclude=*.xml" "--exclude=*.lang" "--exclude=*.vcxproj" "--exclude=*.vcxproj.*" "--exclude=*.sln"
|
||||
"--exclude=*.docx" "--exclude=*.xls"
|
||||
"--exclude=*.bat" "--exclude=*.cmd" "--exclude=*.ps1" "--exclude=*.py"
|
||||
"--exclude=*Test*"
|
||||
"--exclude=Durango*" "--exclude=Orbis*" "--exclude=PS*" "--exclude=Xbox"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/Minecraft.Client/" "${CMAKE_CURRENT_BINARY_DIR}/"
|
||||
)
|
||||
message(STATUS "Patching Windows64Media...")
|
||||
execute_process(
|
||||
COMMAND rsync -av
|
||||
"--exclude=*.h" "--exclude=*.xml" "--exclude=*.lang" "--exclude=*.bat"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/Minecraft.Client/DurangoMedia/" "${CMAKE_CURRENT_BINARY_DIR}/Windows64Media/"
|
||||
)
|
||||
else()
|
||||
message(FATAL_ERROR "Redist and asset copying is only supported on Windows (Robocopy) and Unix systems (rsync).")
|
||||
endif()
|
||||
include("${CMAKE_CURRENT_SOURCE_DIR}/cmake/CopyAssets.cmake")
|
||||
|
||||
set_property(DIRECTORY PROPERTY VS_STARTUP_PROJECT MinecraftClient)
|
||||
|
|
|
|||
460
cmake/AssetSources.cmake
Normal file
460
cmake/AssetSources.cmake
Normal file
|
|
@ -0,0 +1,460 @@
|
|||
set(ASSETS_COMMON
|
||||
"Graphics/MinecraftIcon.png"
|
||||
"Graphics/SaveChest.png"
|
||||
"Graphics/TexturePackIcon.png"
|
||||
"HTMLColours.col"
|
||||
"languages.loc"
|
||||
"splashes.txt"
|
||||
)
|
||||
|
||||
set(ASSETS_1080P
|
||||
"AnvilMenu1080.swf"
|
||||
"AnvilMenuSplit1080.swf"
|
||||
"BeaconMenu1080.swf"
|
||||
"BeaconMenuSplit1080.swf"
|
||||
"BrewingStandMenu1080.swf"
|
||||
"BrewingStandMenuSplit1080.swf"
|
||||
"ChestLargeMenu1080.swf"
|
||||
"ChestLargeMenuSplit1080.swf"
|
||||
"ChestMenu1080.swf"
|
||||
"ChestMenuSplit1080.swf"
|
||||
"ComponentLogo1080.swf"
|
||||
"ComponentLogoSplit1080.swf"
|
||||
"Controls1080.swf"
|
||||
"ControlsRemotePlay1080.swf"
|
||||
"ControlsSplit1080.swf"
|
||||
"Crafting2x2Menu1080.swf"
|
||||
"Crafting2x2MenuSplit1080.swf"
|
||||
"Crafting3x3Menu1080.swf"
|
||||
"Crafting3x3MenuSplit1080.swf"
|
||||
"CreateWorldMenu1080.swf"
|
||||
"CreativeMenu1080.swf"
|
||||
"CreativeMenuSplit1080.swf"
|
||||
"Credits1080.swf"
|
||||
"DLCMainMenu1080.swf"
|
||||
"DLCOffersMenu1080.swf"
|
||||
"DeathMenu1080.swf"
|
||||
"DeathMenuSplit1080.swf"
|
||||
"DispenserMenu1080.swf"
|
||||
"DispenserMenuSplit1080.swf"
|
||||
"EULA1080.swf"
|
||||
"EnchantingMenu1080.swf"
|
||||
"EnchantingMenuSplit1080.swf"
|
||||
"EndPoem1080.swf"
|
||||
"FireworksMenu1080.swf"
|
||||
"FireworksMenuSplit1080.swf"
|
||||
"FullscreenProgress1080.swf"
|
||||
"FullscreenProgressSplit1080.swf"
|
||||
"FurnaceMenu1080.swf"
|
||||
"FurnaceMenuSplit1080.swf"
|
||||
"HUD1080.swf"
|
||||
"HUDSplit1080.swf"
|
||||
"HelpAndOptionsMenu1080.swf"
|
||||
"HelpAndOptionsMenuSplit1080.swf"
|
||||
"HopperMenu1080.swf"
|
||||
"HopperMenuSplit1080.swf"
|
||||
"HorseInventoryMenu1080.swf"
|
||||
"HorseInventoryMenuSplit1080.swf"
|
||||
"HowToPlay1080.swf"
|
||||
"HowToPlayMenu1080.swf"
|
||||
"HowToPlayMenuSplit1080.swf"
|
||||
"HowToPlaySplit1080.swf"
|
||||
"InGameHostOptions1080.swf"
|
||||
"InGameHostOptionsSplit1080.swf"
|
||||
"InGameInfoMenu1080.swf"
|
||||
"InGameInfoMenuSplit1080.swf"
|
||||
"InGamePlayerOptions1080.swf"
|
||||
"InGamePlayerOptionsSplit1080.swf"
|
||||
"InGameTeleportMenu1080.swf"
|
||||
"InGameTeleportMenuSplit1080.swf"
|
||||
"Intro1080.swf"
|
||||
"InventoryMenu1080.swf"
|
||||
"InventoryMenuSplit1080.swf"
|
||||
"JoinMenu1080.swf"
|
||||
"Keyboard1080.swf"
|
||||
"KeyboardSplit1080.swf"
|
||||
"LanguagesMenu1080.swf"
|
||||
"LanguagesMenuSplit1080.swf"
|
||||
"LaunchMoreOptionsMenu1080.swf"
|
||||
"LeaderboardMenu1080.swf"
|
||||
"LoadMenu1080.swf"
|
||||
"LoadOrJoinMenu1080.swf"
|
||||
"MainMenu1080.swf"
|
||||
"MenuBackground1080.swf"
|
||||
"MessageBox1080.swf"
|
||||
"MessageBoxSplit1080.swf"
|
||||
"NewUpdateMessage1080.swf"
|
||||
"Panorama1080.swf"
|
||||
"PanoramaSplit1080.swf"
|
||||
"PauseMenu1080.swf"
|
||||
"PauseMenuSplit1080.swf"
|
||||
"PressStartToPlay1080.swf"
|
||||
"QuadrantSignin1080.swf"
|
||||
"ReinstallMenu1080.swf"
|
||||
"ReinstallMenuSplit1080.swf"
|
||||
"SaveMenu1080.swf"
|
||||
"SaveMessage1080.swf"
|
||||
"SettingsAudioMenu1080.swf"
|
||||
"SettingsAudioMenuSplit1080.swf"
|
||||
"SettingsControlMenu1080.swf"
|
||||
"SettingsControlMenuSplit1080.swf"
|
||||
"SettingsGraphicsMenu1080.swf"
|
||||
"SettingsGraphicsMenuSplit1080.swf"
|
||||
"SettingsMenu1080.swf"
|
||||
"SettingsMenuSplit1080.swf"
|
||||
"SettingsOptionsMenu1080.swf"
|
||||
"SettingsOptionsMenuSplit1080.swf"
|
||||
"SettingsUIMenu1080.swf"
|
||||
"SettingsUIMenuSplit1080.swf"
|
||||
"SignEntryMenu1080.swf"
|
||||
"SignEntryMenuSplit1080.swf"
|
||||
"SkinSelectMenu1080.swf"
|
||||
"SkinSelectMenuSplit1080.swf"
|
||||
"Timer1080.swf"
|
||||
"TimerSplit1080.swf"
|
||||
"ToolTips1080.swf"
|
||||
"ToolTipsSplit1080.swf"
|
||||
"TradingMenu1080.swf"
|
||||
"TradingMenuSplit1080.swf"
|
||||
"TutorialPopup1080.swf"
|
||||
"TutorialPopupSplit1080.swf"
|
||||
)
|
||||
|
||||
set(ASSETS_DEBUG_1080P
|
||||
"DebugCreateSchematic1080.swf"
|
||||
"DebugMenu1080.swf"
|
||||
"DebugOptionsMenu1080.swf"
|
||||
"DebugSetCamera1080.swf"
|
||||
"DebugUIConsoleComponent1080.swf"
|
||||
"DebugUIMarketingGuide1080.swf"
|
||||
)
|
||||
|
||||
set(ASSETS_720P
|
||||
"AnvilMenu720.swf"
|
||||
"AnvilMenuSplit720.swf"
|
||||
"BeaconMenu720.swf"
|
||||
"BeaconMenuSplit720.swf"
|
||||
"BrewingStandMenu720.swf"
|
||||
"BrewingStandMenuSplit720.swf"
|
||||
"ChestLargeMenu720.swf"
|
||||
"ChestLargeMenuSplit720.swf"
|
||||
"ChestMenu720.swf"
|
||||
"ChestMenuSplit720.swf"
|
||||
"ComponentLogo720.swf"
|
||||
"ComponentLogoSplit720.swf"
|
||||
"Controls720.swf"
|
||||
"ControlsSplit720.swf"
|
||||
"Crafting2x2Menu720.swf"
|
||||
"Crafting2x2MenuSplit720.swf"
|
||||
"Crafting3x3Menu720.swf"
|
||||
"Crafting3x3MenuSplit720.swf"
|
||||
"CreateWorldMenu720.swf"
|
||||
"CreativeMenu720.swf"
|
||||
"CreativeMenuSplit720.swf"
|
||||
"Credits720.swf"
|
||||
"DLCMainMenu720.swf"
|
||||
"DLCOffersMenu720.swf"
|
||||
"DeathMenu720.swf"
|
||||
"DeathMenuSplit720.swf"
|
||||
"DispenserMenu720.swf"
|
||||
"DispenserMenuSplit720.swf"
|
||||
"EULA720.swf"
|
||||
"EnchantingMenu720.swf"
|
||||
"EnchantingMenuSplit720.swf"
|
||||
"EndPoem720.swf"
|
||||
"FireworksMenu720.swf"
|
||||
"FireworksMenuSplit720.swf"
|
||||
"FullscreenProgress720.swf"
|
||||
"FullscreenProgressSplit720.swf"
|
||||
"FurnaceMenu720.swf"
|
||||
"FurnaceMenuSplit720.swf"
|
||||
"GamertagSplit720.swf"
|
||||
"HUD720.swf"
|
||||
"HUDSplit720.swf"
|
||||
"HelpAndOptionsMenu720.swf"
|
||||
"HelpAndOptionsMenuSplit720.swf"
|
||||
"HopperMenu720.swf"
|
||||
"HopperMenuSplit720.swf"
|
||||
"HorseInventoryMenu720.swf"
|
||||
"HorseInventoryMenuSplit720.swf"
|
||||
"HowToPlay720.swf"
|
||||
"HowToPlayMenu720.swf"
|
||||
"HowToPlayMenuSplit720.swf"
|
||||
"HowToPlaySplit720.swf"
|
||||
"InGameHostOptions720.swf"
|
||||
"InGameHostOptionsSplit720.swf"
|
||||
"InGameInfoMenu720.swf"
|
||||
"InGameInfoMenuSplit720.swf"
|
||||
"InGamePlayerOptions720.swf"
|
||||
"InGamePlayerOptionsSplit720.swf"
|
||||
"InGameTeleportMenu720.swf"
|
||||
"InGameTeleportMenuSplit720.swf"
|
||||
"Intro720.swf"
|
||||
"InventoryMenu720.swf"
|
||||
"InventoryMenuSplit720.swf"
|
||||
"JoinMenu720.swf"
|
||||
"LanguagesMenu720.swf"
|
||||
"LanguagesMenuSplit720.swf"
|
||||
"LaunchMoreOptionsMenu720.swf"
|
||||
"LeaderboardMenu720.swf"
|
||||
"LoadMenu720.swf"
|
||||
"LoadOrJoinMenu720.swf"
|
||||
"MainMenu720.swf"
|
||||
"MenuBackground720.swf"
|
||||
"MessageBox720.swf"
|
||||
"MessageBoxSplit720.swf"
|
||||
"NewUpdateMessage720.swf"
|
||||
"Panorama720.swf"
|
||||
"PanoramaSplit720.swf"
|
||||
"PauseMenu720.swf"
|
||||
"PauseMenuSplit720.swf"
|
||||
"PressStartToPlay720.swf"
|
||||
"QuadrantSignin720.swf"
|
||||
"ReinstallMenu720.swf"
|
||||
"ReinstallMenuSplit720.swf"
|
||||
"SaveMessage720.swf"
|
||||
"SettingsAudioMenu720.swf"
|
||||
"SettingsAudioMenuSplit720.swf"
|
||||
"SettingsControlMenu720.swf"
|
||||
"SettingsControlMenuSplit720.swf"
|
||||
"SettingsGraphicsMenu720.swf"
|
||||
"SettingsGraphicsMenuSplit720.swf"
|
||||
"SettingsMenu720.swf"
|
||||
"SettingsMenuSplit720.swf"
|
||||
"SettingsOptionsMenu720.swf"
|
||||
"SettingsOptionsMenuSplit720.swf"
|
||||
"SettingsUIMenu720.swf"
|
||||
"SettingsUIMenuSplit720.swf"
|
||||
"SignEntryMenu720.swf"
|
||||
"SignEntryMenuSplit720.swf"
|
||||
"SkinSelectMenu720.swf"
|
||||
"SkinSelectMenuSplit720.swf"
|
||||
"Timer720.swf"
|
||||
"ToolTips720.swf"
|
||||
"ToolTipsSplit720.swf"
|
||||
"TradingMenu720.swf"
|
||||
"TradingMenuSplit720.swf"
|
||||
"TrialExitUpsell720.swf"
|
||||
"TutorialPopup720.swf"
|
||||
"TutorialPopupSplit720.swf"
|
||||
)
|
||||
|
||||
set(ASSETS_DEBUG_720P
|
||||
"DebugCreateSchematic720.swf"
|
||||
"DebugMenu720.swf"
|
||||
"DebugOptionsMenu720.swf"
|
||||
"DebugSetCamera720.swf"
|
||||
"DebugUIConsoleComponent720.swf"
|
||||
"DebugUIMarketingGuide720.swf"
|
||||
)
|
||||
|
||||
set(ASSETS_480P
|
||||
"AnvilMenu480.swf"
|
||||
"BeaconMenu480.swf"
|
||||
"BrewingStandMenu480.swf"
|
||||
"ChestLargeMenu480.swf"
|
||||
"ChestMenu480.swf"
|
||||
"ComponentLogo480.swf"
|
||||
"Controls480.swf"
|
||||
"Crafting2x2Menu480.swf"
|
||||
"Crafting3x3Menu480.swf"
|
||||
"CreateWorldMenu480.swf"
|
||||
"CreativeMenu480.swf"
|
||||
"Credits480.swf"
|
||||
"DLCMainMenu480.swf"
|
||||
"DLCOffersMenu480.swf"
|
||||
"DeathMenu480.swf"
|
||||
"DispenserMenu480.swf"
|
||||
"EULA480.swf"
|
||||
"EnchantingMenu480.swf"
|
||||
"EndPoem480.swf"
|
||||
"FireworksMenu480.swf"
|
||||
"FullscreenProgress480.swf"
|
||||
"FurnaceMenu480.swf"
|
||||
"HUD480.swf"
|
||||
"HelpAndOptionsMenu480.swf"
|
||||
"HopperMenu480.swf"
|
||||
"HorseInventoryMenu480.swf"
|
||||
"HowToPlay480.swf"
|
||||
"HowToPlayMenu480.swf"
|
||||
"InGameHostOptions480.swf"
|
||||
"InGameInfoMenu480.swf"
|
||||
"InGamePlayerOptions480.swf"
|
||||
"InGameTeleportMenu480.swf"
|
||||
"Intro480.swf"
|
||||
"InventoryMenu480.swf"
|
||||
"JoinMenu480.swf"
|
||||
"LanguagesMenu480.swf"
|
||||
"LaunchMoreOptionsMenu480.swf"
|
||||
"LeaderboardMenu480.swf"
|
||||
"LoadMenu480.swf"
|
||||
"LoadOrJoinMenu480.swf"
|
||||
"MainMenu480.swf"
|
||||
"MenuBackground480.swf"
|
||||
"MessageBox480.swf"
|
||||
"NewUpdateMessage480.swf"
|
||||
"Panorama480.swf"
|
||||
"PauseMenu480.swf"
|
||||
"PressStartToPlay480.swf"
|
||||
"ReinstallMenu480.swf"
|
||||
"SaveMessage480.swf"
|
||||
"SettingsAudioMenu480.swf"
|
||||
"SettingsControlMenu480.swf"
|
||||
"SettingsGraphicsMenu480.swf"
|
||||
"SettingsMenu480.swf"
|
||||
"SettingsOptionsMenu480.swf"
|
||||
"SettingsUIMenu480.swf"
|
||||
"SignEntryMenu480.swf"
|
||||
"SkinSelectMenu480.swf"
|
||||
"Timer480.swf"
|
||||
"ToolTips480.swf"
|
||||
"TradingMenu480.swf"
|
||||
"TrialExitUpsell480.swf"
|
||||
"TutorialPopup480.swf"
|
||||
)
|
||||
|
||||
set(ASSETS_VITA
|
||||
"AnvilMenuVita.swf"
|
||||
"BeaconMenuVita.swf"
|
||||
"BrewingStandMenuVita.swf"
|
||||
"ChestLargeMenuVita.swf"
|
||||
"ChestMenuVita.swf"
|
||||
"ComponentLogoVita.swf"
|
||||
"ControlsTVVita.swf"
|
||||
"ControlsVita.swf"
|
||||
"Crafting2x2MenuVita.swf"
|
||||
"Crafting3x3MenuVita.swf"
|
||||
"CreateWorldMenuVita.swf"
|
||||
"CreativeMenuVita.swf"
|
||||
"CreditsVita.swf"
|
||||
"DLCMainMenuVita.swf"
|
||||
"DLCOffersMenuVita.swf"
|
||||
"DeathMenuVita.swf"
|
||||
"DispenserMenuVita.swf"
|
||||
"EULAVita.swf"
|
||||
"EnchantingMenuVita.swf"
|
||||
"EndPoemVita.swf"
|
||||
"FireworksMenuVita.swf"
|
||||
"FullscreenProgressVita.swf"
|
||||
"FurnaceMenuVita.swf"
|
||||
"HUDVita.swf"
|
||||
"HelpAndOptionsMenuVita.swf"
|
||||
"HopperMenuVita.swf"
|
||||
"HorseInventoryMenuVita.swf"
|
||||
"HowToPlayMenuVita.swf"
|
||||
"HowToPlayVita.swf"
|
||||
"InGameHostOptionsVita.swf"
|
||||
"InGameInfoMenuVita.swf"
|
||||
"InGamePlayerOptionsVita.swf"
|
||||
"InGameTeleportMenuVita.swf"
|
||||
"IntroVita.swf"
|
||||
"InventoryMenuVita.swf"
|
||||
"JoinMenuVita.swf"
|
||||
"LanguagesMenuVita.swf"
|
||||
"LaunchMoreOptionsMenuVita.swf"
|
||||
"LeaderboardMenuVita.swf"
|
||||
"LoadMenuVita.swf"
|
||||
"LoadOrJoinMenuVita.swf"
|
||||
"MainMenuVita.swf"
|
||||
"MenuBackgroundVita.swf"
|
||||
"MessageBoxVita.swf"
|
||||
"NewUpdateMessageVita.swf"
|
||||
"PanoramaVita.swf"
|
||||
"PauseMenuVita.swf"
|
||||
"PressStartToPlayVita.swf"
|
||||
"ReinstallMenuVita.swf"
|
||||
"SaveMessageVita.swf"
|
||||
"SettingsAudioMenuVita.swf"
|
||||
"SettingsControlMenuVita.swf"
|
||||
"SettingsGraphicsMenuVita.swf"
|
||||
"SettingsMenuVita.swf"
|
||||
"SettingsOptionsMenuVita.swf"
|
||||
"SettingsUIMenuVita.swf"
|
||||
"SignEntryMenuVita.swf"
|
||||
"SkinSelectMenuVita.swf"
|
||||
"TimerVita.swf"
|
||||
"ToolTipsVita.swf"
|
||||
"TradingMenuVita.swf"
|
||||
"TutorialPopupVita.swf"
|
||||
)
|
||||
|
||||
set(ASSETS_HD
|
||||
"skinHDGraphicsHud.swf"
|
||||
"skinHDGraphicsInGame.swf"
|
||||
"skinHDGraphicsLabels.swf"
|
||||
"skinHDGraphics.swf"
|
||||
"skinHDHud.swf"
|
||||
"skinHDInGame.swf"
|
||||
"skinHDLabels.swf"
|
||||
"skinHD.swf"
|
||||
)
|
||||
|
||||
set(ASSETS_SD
|
||||
"skinGraphicsHud.swf"
|
||||
"skinGraphicsInGame.swf"
|
||||
"skinGraphicsLabels.swf"
|
||||
"skinGraphics.swf"
|
||||
"skinHud.swf"
|
||||
"skinInGame.swf"
|
||||
"skinLabels.swf"
|
||||
)
|
||||
|
||||
set(ASSETS_WINDOWS64
|
||||
${ASSETS_COMMON}
|
||||
${ASSETS_SD}
|
||||
${ASSETS_HD}
|
||||
${ASSETS_VITA}
|
||||
${ASSETS_480P}
|
||||
${ASSETS_720P}
|
||||
${ASSETS_DEBUG_720P}
|
||||
${ASSETS_1080P}
|
||||
${ASSETS_DEBUG_1080P}
|
||||
"skin.swf"
|
||||
"skinHDWin.swf"
|
||||
"skinWin.swf"
|
||||
)
|
||||
|
||||
set(ASSETS_DURANGO
|
||||
${ASSETS_COMMON}
|
||||
${ASSETS_HD}
|
||||
${ASSETS_1080P}
|
||||
${ASSETS_DEBUG_1080P}
|
||||
"DefaultSaveThumbnail64x64.png"
|
||||
"skinHDDurango.swf"
|
||||
)
|
||||
|
||||
set(ASSETS_ORBIS
|
||||
${ASSETS_COMMON}
|
||||
${ASSETS_HD}
|
||||
${ASSETS_1080P}
|
||||
${ASSETS_DEBUG_1080P}
|
||||
"DefaultOptionsImage228x128.png"
|
||||
"DefaultSaveImage228x128.png"
|
||||
"DefaultSaveThumbnail64x64.png"
|
||||
"skinHDOrbis.swf"
|
||||
)
|
||||
|
||||
set(ASSETS_PSVITA
|
||||
${ASSETS_COMMON}
|
||||
${ASSETS_SD}
|
||||
${ASSETS_VITA}
|
||||
${ASSETS_DEBUG_720P}
|
||||
"DefaultOptionsImage320x176.png"
|
||||
"DefaultSaveImage320x176.png"
|
||||
"DefaultSaveThumbnail64x64.png"
|
||||
"skin.swf"
|
||||
"skinVita.swf"
|
||||
)
|
||||
|
||||
set(ASSETS_PS3
|
||||
${ASSETS_COMMON}
|
||||
${ASSETS_SD}
|
||||
${ASSETS_480P}
|
||||
${ASSETS_720P}
|
||||
${ASSETS_DEBUG_720P}
|
||||
"DefaultOptionsImage320x176.png"
|
||||
"DefaultSaveImage320x176.png"
|
||||
"DefaultSaveThumbnail64x64.png"
|
||||
"skin.swf"
|
||||
"skinPS3.swf"
|
||||
)
|
||||
88
cmake/CopyAssets.cmake
Normal file
88
cmake/CopyAssets.cmake
Normal file
|
|
@ -0,0 +1,88 @@
|
|||
include("${CMAKE_CURRENT_SOURCE_DIR}/cmake/AssetSources.cmake")
|
||||
|
||||
set(_project_dir "${CMAKE_CURRENT_SOURCE_DIR}/Minecraft.Client")
|
||||
|
||||
function(copy_tree_if_exists src_rel dst_rel)
|
||||
set(_src "${_project_dir}/${src_rel}")
|
||||
set(_dst "${CMAKE_CURRENT_BINARY_DIR}/${dst_rel}")
|
||||
|
||||
if(EXISTS "${_src}")
|
||||
file(MAKE_DIRECTORY "${_dst}")
|
||||
file(GLOB_RECURSE _files RELATIVE "${_src}" "${_src}/*")
|
||||
|
||||
foreach(_file IN LISTS _files) # if not a source file
|
||||
if(NOT _file MATCHES "\\.(cpp|c|h|hpp|xml|lang)$")
|
||||
set(_full_src "${_src}/${_file}")
|
||||
set(_full_dst "${_dst}/${_file}")
|
||||
|
||||
if(IS_DIRECTORY "${_full_src}")
|
||||
file(MAKE_DIRECTORY "${_full_dst}")
|
||||
else()
|
||||
get_filename_component(_dst_dir "${_full_dst}" DIRECTORY)
|
||||
file(MAKE_DIRECTORY "${_dst_dir}")
|
||||
configure_file(${_full_src} ${_full_dst} COPYONLY)
|
||||
endif()
|
||||
endif()
|
||||
endforeach()
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
function(make_media_archive arc_name)
|
||||
set(_dst "${CMAKE_CURRENT_BINARY_DIR}/Common/Media/${arc_name}")
|
||||
set(_src_dir "${CMAKE_CURRENT_SOURCE_DIR}/Minecraft.Client/Common/Media")
|
||||
set(_src)
|
||||
foreach(file IN LISTS ARGN)
|
||||
list(APPEND _src "${_src_dir}/${file}")
|
||||
endforeach()
|
||||
|
||||
get_filename_component(_dst_dir "${_dst}" DIRECTORY)
|
||||
file(MAKE_DIRECTORY "${_dst_dir}")
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT "${_dst}.zip"
|
||||
DEPENDS ${_src}
|
||||
WORKING_DIRECTORY ${_src_dir}
|
||||
COMMAND ${CMAKE_COMMAND} -E tar "cf" "${_dst}.zip" --format=zip -- ${ARGN}
|
||||
COMMENT "Creating archive ${arc_name}.zip"
|
||||
VERBATIM
|
||||
)
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT "${_dst}.arc"
|
||||
DEPENDS "${_dst}.zip"
|
||||
COMMAND python "${CMAKE_CURRENT_SOURCE_DIR}/arcconv.py" "zip2arc" "${_dst}.zip" "${_dst}.arc"
|
||||
COMMENT "Creating archive ${arc_name}.arc"
|
||||
VERBATIM
|
||||
)
|
||||
|
||||
add_custom_target("arc_${arc_name}" DEPENDS "${_dst}.arc")
|
||||
add_dependencies(MinecraftClient "arc_${arc_name}")
|
||||
endfunction()
|
||||
|
||||
copy_tree_if_exists("Durango/Sound" "Windows64/Sound")
|
||||
copy_tree_if_exists("music" "music")
|
||||
copy_tree_if_exists("Windows64/GameHDD" "Windows64/GameHDD")
|
||||
copy_tree_if_exists("Common/res" "Common/res")
|
||||
copy_tree_if_exists("Common/Trial" "Common/Trial")
|
||||
copy_tree_if_exists("Common/Tutorial" "Common/Tutorial")
|
||||
copy_tree_if_exists("Windows64Media" "Windows64Media")
|
||||
|
||||
make_media_archive("MediaWindows64" ${ASSETS_WINDOWS64})
|
||||
make_media_archive("MediaDurango" ${ASSETS_DURANGO})
|
||||
make_media_archive("MediaOrbis" ${ASSETS_ORBIS})
|
||||
make_media_archive("MediaPSVita" ${ASSETS_PSVITA})
|
||||
make_media_archive("MediaPS3" ${ASSETS_PS3})
|
||||
|
||||
# Some runtime code asserts if this directory tree is missing.
|
||||
file(MAKE_DIRECTORY "Windows64/GameHDD")
|
||||
|
||||
# Keep legacy runtime redistributables in a familiar location.
|
||||
copy_tree_if_exists("Windows64/Miles/lib/redist64" "redist64")
|
||||
copy_tree_if_exists("Windows64/Iggy/lib/redist64" "redist64")
|
||||
|
||||
set(CONFIGURATION $<$<CONFIG:Release>:Release>)
|
||||
|
||||
# Runtime DLLs required at launch.
|
||||
configure_file("Minecraft.Client/Windows64/Iggy/lib/redist64/iggy_w64.dll" "iggy_w64.dll" COPYONLY)
|
||||
configure_file("Minecraft.Client/Windows64/Miles/lib/redist64/mss64.dll" "mss64.dll" COPYONLY)
|
||||
|
||||
Loading…
Reference in a new issue