Bundle Club Fantastic song packs in full releases

This commit is contained in:
Martin Natano
2022-05-21 10:05:44 +02:00
parent b6cc8f90fc
commit f5682cfdac
3 changed files with 110 additions and 132 deletions
+40 -35
View File
@@ -1,38 +1,47 @@
if(WITH_FULL_RELEASE)
set(NSIS_VERSION_FINAL "${SM_VERSION_TRADITIONAL}")
else()
set(NSIS_VERSION_FINAL "${SM_VERSION_GIT}")
endif()
set(CPACK_PACKAGE_NAME "${SM_EXE_NAME}")
set(CPACK_PACKAGE_VENDOR "ITGmania")
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Rhythm Game Simulator")
set(CPACK_PACKAGE_VERSION_MAJOR "${SM_VERSION_MAJOR}")
set(CPACK_PACKAGE_VERSION_MINOR "${SM_VERSION_MINOR}")
set(CPACK_PACKAGE_VERSION_PATCH "${SM_VERSION_PATCH}")
set(CPACK_PACKAGE_VERSION "${SM_VERSION_TRADITIONAL}")
set(CPACK_NSIS_HELP_LINK "https://github.com/itgmania/itgmania/issues")
set(CPACK_NSIS_PACKAGE_NAME "${SM_EXE_NAME} ${NSIS_VERSION_FINAL}")
set(CPACK_NSIS_URL_INFO_ABOUT "https://www.itgmania.com/")
set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL ON)
if(WITH_FULL_RELEASE)
set(CPACK_PACKAGE_VERSION "${SM_VERSION_TRADITIONAL}")
else()
set(CPACK_PACKAGE_VERSION "${SM_VERSION_GIT}")
endif()
set(CPACK_PACKAGE_EXECUTABLES "${SM_EXE_NAME}" "ITGmania")
set(CPACK_RESOURCE_FILE_README "${SM_ROOT_DIR}/README.md")
set(CPACK_RESOURCE_FILE_LICENSE "${SM_CMAKE_DIR}/license_install.txt")
set(CPACK_PACKAGE_EXECUTABLES "${SM_EXE_NAME}" "ITGmania")
set(CPACK_NSIS_MUI_ICON "${SM_INSTALLER_DIR}/install.ico")
set(CPACK_NSIS_MUI_UNIICON "${SM_INSTALLER_DIR}/uninstall.ico")
set(CPACK_NSIS_COMPRESSOR "/SOLID lzma")
# Custom items for nsis go here.
set(CPACK_SM_NSIS_REPOSITORY "https://github.com/itgmania/itgmania")
set(CPACK_SM_NSIS_ROOT_DIR "${SM_ROOT_DIR}")
set(CPACK_SM_NSIS_PRODUCT_ID
"ITGmania ${SM_VERSION_MAJOR}.${SM_VERSION_MINOR}")
set(CPACK_SM_NSIS_PRODUCT_VERSION "${SM_VERSION_TRADITIONAL}.0")
set(CPACK_SM_NSIS_HEADER_BITMAP "${SM_INSTALLER_DIR}/header-sm5.bmp")
set(CPACK_SM_NSIS_WELCOME_BITMAP "${SM_INSTALLER_DIR}/welcome-sm5.bmp")
set(CPACK_SM_NSIS_GIT_VERSION "${SM_VERSION_GIT}")
if(WIN32)
set(CPACK_GENERATOR NSIS)
# By setting these install keys manually, The default directory of "StepMania
# major.minor.patch" is lost. This is currently done to maintain backwards
# compatibility. However, removing these two will allow for multiple versions
# of StepMania to be installed relatively cleanly.
set(CPACK_PACKAGE_INSTALL_DIRECTORY "ITGmania")
set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "ITGmania")
set(CPACK_NSIS_EXECUTABLES_DIRECTORY "Program")
set(CPACK_NSIS_INSTALL_ROOT "C:\\\\Games")
set(CPACK_NSIS_HELP_LINK "https://github.com/itgmania/itgmania/issues")
set(CPACK_NSIS_PACKAGE_NAME "${SM_EXE_NAME} ${CPACK_PACKAGE_VERSION}")
set(CPACK_NSIS_URL_INFO_ABOUT "https://www.itgmania.com/")
set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL ON)
set(CPACK_NSIS_MUI_ICON "${SM_INSTALLER_DIR}/install.ico")
set(CPACK_NSIS_MUI_UNIICON "${SM_INSTALLER_DIR}/uninstall.ico")
set(CPACK_NSIS_COMPRESSOR "/SOLID lzma")
# Custom items for nsis go here.
set(CPACK_SM_NSIS_REPOSITORY "https://github.com/itgmania/itgmania")
set(CPACK_SM_NSIS_ROOT_DIR "${SM_ROOT_DIR}")
set(CPACK_SM_NSIS_PRODUCT_ID "ITGmania ${SM_VERSION_MAJOR}.${SM_VERSION_MINOR}")
set(CPACK_SM_NSIS_PRODUCT_VERSION "${SM_VERSION_TRADITIONAL}.0")
set(CPACK_SM_NSIS_HEADER_BITMAP "${SM_INSTALLER_DIR}/header-sm5.bmp")
set(CPACK_SM_NSIS_WELCOME_BITMAP "${SM_INSTALLER_DIR}/welcome-sm5.bmp")
set(CPACK_SM_NSIS_GIT_VERSION "${SM_VERSION_GIT}")
# The header and welcome bitmaps require backslashes.
string(REGEX
REPLACE "/"
@@ -44,16 +53,12 @@ if(WIN32)
"\\\\\\\\"
CPACK_SM_NSIS_WELCOME_BITMAP
"${CPACK_SM_NSIS_WELCOME_BITMAP}")
set(CPACK_PACKAGE_FILE_NAME "${SM_EXE_NAME}-${NSIS_VERSION_FINAL}-win32")
# By setting these install keys manually, The default directory of "StepMania
# major.minor.patch" is lost. This is currently done to maintain backwards
# compatibility. However, removing these two will allow for multiple versions
# of StepMania to be installed relatively cleanly.
set(CPACK_PACKAGE_INSTALL_DIRECTORY "ITGmania")
set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "ITGmania")
set(CPACK_NSIS_EXECUTABLES_DIRECTORY "Program")
set(CPACK_NSIS_INSTALL_ROOT "C:\\\\Games")
elseif(MACOSX)
set(CPACK_GENERATOR DragNDrop)
set(CPACK_DMG_VOLUME_NAME "${CPACK_PACKAGE_NAME} ${CPACK_PACKAGE_VERSION}")
set(CPACK_DMG_FORMAT ULMO) # lzma-compressed image
else()
set(CPACK_GENERATOR TGZ TXZ STGZ)
endif()
include(CPack)
+4 -2
View File
@@ -1,8 +1,10 @@
LICENSE
=======
StepMania's source code and resulting binary is licensed under the MIT license. Go to http://opensource.org/licenses/MIT for more information.
ITGmania's source code and resulting binary is licensed under the MIT license. Go to http://opensource.org/licenses/MIT for more information.
A few sample songs were provided that can be distributed. They are under the CC-NC (Creative Commons Non-Commercial) license. Go to https://creativecommons.org/ for more information.
The 'StepMania 5' folder contains a few sample songs that can be distributed. They are under the CC-NC (Creative Commons Non-Commercial) license. Go to https://creativecommons.org/ for more information.
The copyright for songs in the 'Club Fantastic' folders rests with the original authors. The content is explicitly NOT placed under a Creative Commons license (or similar license), but has been provided free of charge, for personal or public use, including online broadcasting, tournaments, and other purposes. Go to https://www.clubfantastic.com/ for more information.
The FFMPEG codes (see https://www.ffmpeg.org/ for more) and the MAD library (see http://www.underbit.com/products/mad/ for more) use the GPL license. Go to http://www.gnu.org for more information.
+66 -95
View File
@@ -247,46 +247,6 @@ elseif(APPLE)
set(SM_APP_RELEASE_NAME "${SM_NAME_RELEASE}")
endif()
if(WITH_FULL_RELEASE)
string(CONCAT SM_NAME_VERSION
"${SM_EXE_NAME}"
"-"
"${SM_VERSION_TRADITIONAL}")
set(SM_DMG_VERSION "${SM_VERSION_TRADITIONAL}")
else()
string(CONCAT SM_NAME_VERSION
"${SM_EXE_NAME}"
"-"
"${SM_VERSION_FULL}")
set(SM_DMG_VERSION "${SM_VERSION_FULL}")
endif()
set(SM_DMG_RELEASE_NAME "${SM_NAME_VERSION}-mac.dmg")
add_custom_target(dmg
COMMAND pushd ${SM_ROOT_DIR}\; mkdir -p dmgtmpdir\; cd
dmgtmpdir\; mkdir -p ${SM_NAME_VERSION}\; cd
${SM_NAME_VERSION}\; mkdir -p ${SM_NAME_VERSION}\; cd
${SM_NAME_VERSION}\; cp -R
"${SM_ROOT_DIR}/Announcers" .\; cp -R
"${SM_ROOT_DIR}/BackgroundEffects" .\; cp -R
"${SM_ROOT_DIR}/BackgroundTransitions" .\; cp -R
"${SM_ROOT_DIR}/BGAnimations" .\; cp -R
"${SM_ROOT_DIR}/Characters" .\; cp -R
"${SM_ROOT_DIR}/Courses" .\; cp -R
"${SM_ROOT_DIR}/Data" .\; cp -R
"${SM_ROOT_DIR}/Docs" .\; cp -R
"${SM_ROOT_DIR}/Manual" .\; cp -R
"${SM_ROOT_DIR}/NoteSkins" .\; cp -R
"${SM_ROOT_DIR}/Scripts" .\; cp -R
"${SM_ROOT_DIR}/Songs" .\; cp -R
"${SM_ROOT_DIR}/Themes" .\; cp -R
"${SM_ROOT_DIR}/${SM_APP_RELEASE_NAME}.app" .\; cd
${SM_ROOT_DIR}\; hdiutil create
"${SM_DMG_RELEASE_NAME}" -VOLNAME
"ITGmania ${SM_DMG_VERSION}" -SRCFOLDER
"dmgtmpdir/${SM_NAME_VERSION}/" -OV\; rm -fR
dmgtmpdir\; popd\;)
# Add the ability to copy the resource file.
add_custom_command(TARGET "${SM_EXE_NAME}" POST_BUILD
COMMAND ${CMAKE_COMMAND} -E make_directory
@@ -695,61 +655,72 @@ else()
set(SM_INSTALL_DESTINATION "itgmania")
endif()
if(NOT APPLE)
if(WIN32)
set(SM_FULL_INSTALLATION_PATH_LIST "${SM_INSTALL_DESTINATION}" "Program")
list(JOIN SM_FULL_INSTALLATION_PATH_LIST "/" SM_FULL_INSTALLATION_PATH)
# Hardcoding the values for now since the foreach loop is not working as
# intended.
install(TARGETS "${SM_EXE_NAME}" DESTINATION "${SM_FULL_INSTALLATION_PATH}")
if(WITH_FULL_RELEASE OR WITH_TEXTURE_GENERATOR)
install(FILES "${SM_PROGRAM_DIR}/Texture Font Generator.exe"
DESTINATION "${SM_FULL_INSTALLATION_PATH}")
endif()
install(FILES "${SM_PROGRAM_DIR}/avcodec-59.dll"
if(WIN32)
set(SM_FULL_INSTALLATION_PATH_LIST "${SM_INSTALL_DESTINATION}" "Program")
list(JOIN SM_FULL_INSTALLATION_PATH_LIST "/" SM_FULL_INSTALLATION_PATH)
# Hardcoding the values for now since the foreach loop is not working as
# intended.
install(TARGETS "${SM_EXE_NAME}" DESTINATION "${SM_FULL_INSTALLATION_PATH}")
if(WITH_FULL_RELEASE OR WITH_TEXTURE_GENERATOR)
install(FILES "${SM_PROGRAM_DIR}/Texture Font Generator.exe"
DESTINATION "${SM_FULL_INSTALLATION_PATH}")
install(FILES "${SM_PROGRAM_DIR}/avformat-59.dll"
DESTINATION "${SM_FULL_INSTALLATION_PATH}")
install(FILES "${SM_PROGRAM_DIR}/avutil-57.dll"
DESTINATION "${SM_FULL_INSTALLATION_PATH}")
install(FILES "${SM_PROGRAM_DIR}/parallel_lights_io.dll"
DESTINATION "${SM_FULL_INSTALLATION_PATH}")
install(FILES "${SM_PROGRAM_DIR}/swscale-6.dll"
DESTINATION "${SM_FULL_INSTALLATION_PATH}")
install(FILES "${SM_PROGRAM_DIR}/ITGmania.vdi"
DESTINATION "${SM_FULL_INSTALLATION_PATH}")
else()
install(TARGETS "${SM_EXE_NAME}" DESTINATION "${SM_INSTALL_DESTINATION}")
endif()
install(DIRECTORY "${SM_ROOT_DIR}/Announcers"
DESTINATION "${SM_INSTALL_DESTINATION}")
install(DIRECTORY "${SM_ROOT_DIR}/BGAnimations"
DESTINATION "${SM_INSTALL_DESTINATION}")
install(DIRECTORY "${SM_ROOT_DIR}/Themes"
DESTINATION "${SM_INSTALL_DESTINATION}")
install(DIRECTORY "${SM_ROOT_DIR}/Characters"
DESTINATION "${SM_INSTALL_DESTINATION}")
install(DIRECTORY "${SM_ROOT_DIR}/Scripts"
DESTINATION "${SM_INSTALL_DESTINATION}")
install(DIRECTORY "${SM_ROOT_DIR}/Courses"
DESTINATION "${SM_INSTALL_DESTINATION}")
install(DIRECTORY "${SM_ROOT_DIR}/BackgroundEffects"
DESTINATION "${SM_INSTALL_DESTINATION}")
install(DIRECTORY "${SM_ROOT_DIR}/Data"
DESTINATION "${SM_INSTALL_DESTINATION}")
install(DIRECTORY "${SM_ROOT_DIR}/BackgroundTransitions"
DESTINATION "${SM_INSTALL_DESTINATION}")
install(DIRECTORY "${SM_ROOT_DIR}/Docs"
DESTINATION "${SM_INSTALL_DESTINATION}")
install(DIRECTORY "${SM_ROOT_DIR}/NoteSkins"
DESTINATION "${SM_INSTALL_DESTINATION}")
if(NOT SM_INSTALL_DESTINATION)
install(DIRECTORY "${SM_ROOT_DIR}/Songs/StepMania 5" DESTINATION "Songs")
install(FILES "${SM_ROOT_DIR}/Songs/instructions.txt" DESTINATION "Songs")
else()
install(DIRECTORY "${SM_ROOT_DIR}/Songs/StepMania 5"
DESTINATION "${SM_INSTALL_DESTINATION}/Songs")
install(FILES "${SM_ROOT_DIR}/Songs/instructions.txt"
DESTINATION "${SM_INSTALL_DESTINATION}/Songs")
endif()
install(FILES "${SM_PROGRAM_DIR}/avcodec-59.dll"
DESTINATION "${SM_FULL_INSTALLATION_PATH}")
install(FILES "${SM_PROGRAM_DIR}/avformat-59.dll"
DESTINATION "${SM_FULL_INSTALLATION_PATH}")
install(FILES "${SM_PROGRAM_DIR}/avutil-57.dll"
DESTINATION "${SM_FULL_INSTALLATION_PATH}")
install(FILES "${SM_PROGRAM_DIR}/parallel_lights_io.dll"
DESTINATION "${SM_FULL_INSTALLATION_PATH}")
install(FILES "${SM_PROGRAM_DIR}/swscale-6.dll"
DESTINATION "${SM_FULL_INSTALLATION_PATH}")
install(FILES "${SM_PROGRAM_DIR}/ITGmania.vdi"
DESTINATION "${SM_FULL_INSTALLATION_PATH}")
else()
install(TARGETS "${SM_EXE_NAME}" DESTINATION "${SM_INSTALL_DESTINATION}")
endif()
install(DIRECTORY "${SM_ROOT_DIR}/Announcers"
DESTINATION "${SM_INSTALL_DESTINATION}")
install(DIRECTORY "${SM_ROOT_DIR}/BGAnimations"
DESTINATION "${SM_INSTALL_DESTINATION}")
install(DIRECTORY "${SM_ROOT_DIR}/Themes"
DESTINATION "${SM_INSTALL_DESTINATION}")
install(DIRECTORY "${SM_ROOT_DIR}/Characters"
DESTINATION "${SM_INSTALL_DESTINATION}")
install(DIRECTORY "${SM_ROOT_DIR}/Scripts"
DESTINATION "${SM_INSTALL_DESTINATION}")
install(DIRECTORY "${SM_ROOT_DIR}/Courses"
DESTINATION "${SM_INSTALL_DESTINATION}")
install(DIRECTORY "${SM_ROOT_DIR}/BackgroundEffects"
DESTINATION "${SM_INSTALL_DESTINATION}")
install(DIRECTORY "${SM_ROOT_DIR}/Data"
DESTINATION "${SM_INSTALL_DESTINATION}")
install(DIRECTORY "${SM_ROOT_DIR}/BackgroundTransitions"
DESTINATION "${SM_INSTALL_DESTINATION}")
install(DIRECTORY "${SM_ROOT_DIR}/Docs"
DESTINATION "${SM_INSTALL_DESTINATION}")
install(DIRECTORY "${SM_ROOT_DIR}/NoteSkins"
DESTINATION "${SM_INSTALL_DESTINATION}")
install(FILES "${SM_ROOT_DIR}/Songs/instructions.txt"
DESTINATION "${SM_INSTALL_DESTINATION}/Songs")
if(WITH_FULL_RELEASE)
# Fetch ClubFantastic packs
include(FetchContent)
FetchContent_Declare(
ClubFantastic
URL https://download.clubfantastic.dance/club_fantastic_season2_songs_9ms.zip
URL_HASH SHA256=845b62da6bb2994fc2ba7871b35da02f6eb36ea1ae78c2b9a59a6ec046946787
)
FetchContent_MakeAvailable(ClubFantastic)
FetchContent_GetProperties(ClubFantastic SOURCE_DIR CLUB_FANTASTIC_DIR)
install(DIRECTORY "${CLUB_FANTASTIC_DIR}/Club Fantastic Season 1"
DESTINATION "${SM_INSTALL_DESTINATION}/Songs")
install(DIRECTORY "${CLUB_FANTASTIC_DIR}/Club Fantastic Season 2"
DESTINATION "${SM_INSTALL_DESTINATION}/Songs")
else()
install(DIRECTORY "${SM_ROOT_DIR}/Songs/StepMania 5"
DESTINATION "${SM_INSTALL_DESTINATION}/Songs")
endif()