mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-12-18 14:02:51 +00:00
cmake: Remove asset hashing, CMAKE_ASSETS_DIR
Simplifies build setup for cmake. # Conflicts: # assets/CMakeLists.txt # src/config.h.in # src/sdl/i_system.c
This commit is contained in:
parent
f0338d22d7
commit
d31037abc9
4 changed files with 37 additions and 83 deletions
|
|
@ -68,6 +68,7 @@ cmake_dependent_option(
|
||||||
)
|
)
|
||||||
option(SRB2_CONFIG_HWRENDER "Enable hardware render (OpenGL) support" ON)
|
option(SRB2_CONFIG_HWRENDER "Enable hardware render (OpenGL) support" ON)
|
||||||
option(SRB2_CONFIG_STATIC_OPENGL "Enable static linking GL (do not do this)" OFF)
|
option(SRB2_CONFIG_STATIC_OPENGL "Enable static linking GL (do not do this)" OFF)
|
||||||
|
set(SRB2_CONFIG_ASSET_DIRECTORY "" CACHE PATH "Path to directory that contains all asset files for the installer. If set, assets will be part of installation and cpack.")
|
||||||
|
|
||||||
# Enable CCache
|
# Enable CCache
|
||||||
# (Set USE_CCACHE=ON to use, CCACHE_OPTIONS for options)
|
# (Set USE_CCACHE=ON to use, CCACHE_OPTIONS for options)
|
||||||
|
|
|
||||||
|
|
@ -1,76 +1,53 @@
|
||||||
## Assets Target Configuration ##
|
## Assets Target Configuration ##
|
||||||
|
|
||||||
# For prepending the current source path, later
|
if(${CMAKE_SYSTEM} MATCHES Linux)
|
||||||
FUNCTION(PREPEND var prefix)
|
# Asset installation isn't part of the Linux target
|
||||||
SET(listVar "")
|
return()
|
||||||
FOREACH(f ${ARGN})
|
endif()
|
||||||
LIST(APPEND listVar "${prefix}/${f}")
|
|
||||||
ENDFOREACH(f)
|
|
||||||
SET(${var} "${listVar}" PARENT_SCOPE)
|
|
||||||
ENDFUNCTION(PREPEND)
|
|
||||||
|
|
||||||
set(SRB2_ASSET_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/installer"
|
if("${SRB2_CONFIG_ASSET_DIRECTORY}" STREQUAL "")
|
||||||
CACHE STRING "Path to directory that contains all asset files for the installer.")
|
message(WARNING "SRB2_CONFIG_ASSET_DIRECTORY is not set, so installation will not contain data files.")
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
|
|
||||||
set(SRB2_ASSET_INSTALL ON
|
get_filename_component(SRB2_ASSET_DIRECTORY_ABSOLUTE "${SRB2_CONFIG_ASSET_DIRECTORY}" ABSOLUTE)
|
||||||
CACHE BOOL "Insert asset files into the install directory or package.")
|
|
||||||
|
set(SRB2_ASSETS_DOCS
|
||||||
|
"README.txt"
|
||||||
|
"HISTORY.txt"
|
||||||
|
"README-SDL.txt"
|
||||||
|
"LICENSE.txt"
|
||||||
|
"LICENSE-3RD-PARTY.txt"
|
||||||
|
)
|
||||||
|
list(TRANSFORM SRB2_ASSETS_DOCS PREPEND "/")
|
||||||
|
list(TRANSFORM SRB2_ASSETS_DOCS PREPEND "${SRB2_ASSET_DIRECTORY_ABSOLUTE}")
|
||||||
|
|
||||||
####################
|
####################
|
||||||
# POST-V2.2 NOTE: Do not forget to add patch.pk3 to the end of this list!
|
# POST-V2.2 NOTE: Do not forget to add patch.pk3 to the end of this list!
|
||||||
####################
|
####################
|
||||||
|
|
||||||
set(SRB2_ASSET_HASHED
|
set(SRB2_ASSETS_GAME
|
||||||
"main.kart;\
|
"main.kart"
|
||||||
gfx.pk3;\
|
"gfx.pk3"
|
||||||
textures.pk3;\
|
"textures.pk3"
|
||||||
chars.pk3;\
|
"chars.pk3"
|
||||||
maps.pk3;\
|
"maps.pk3"
|
||||||
followers.pk3;\
|
"followers.pk3"
|
||||||
patch.pk3"
|
"patch.pk3"
|
||||||
CACHE STRING "Asset filenames to apply MD5 checks. No spaces between entries!"
|
|
||||||
)
|
)
|
||||||
|
list(TRANSFORM SRB2_ASSETS_GAME PREPEND "/")
|
||||||
|
list(TRANSFORM SRB2_ASSETS_GAME PREPEND "${SRB2_ASSET_DIRECTORY_ABSOLUTE}")
|
||||||
|
|
||||||
set(SRB2_ASSET_DOCS
|
set(SRB2_ASSETS ${SRB2_ASSET_DOCS} ${SRB2_ASSETS_GAME})
|
||||||
"README.txt;\
|
|
||||||
HISTORY.txt;\
|
|
||||||
LICENSE.txt;\
|
|
||||||
LICENSE-3RD-PARTY.txt;\
|
|
||||||
README-SDL.txt"
|
|
||||||
CACHE STRING "Documentation filenames. In OS X, these are packaged separately from other assets. No spaces between entries!"
|
|
||||||
)
|
|
||||||
|
|
||||||
PREPEND(SRB2_ASSET_DOCS ${SRB2_ASSET_DIRECTORY} ${SRB2_ASSET_DOCS})
|
|
||||||
|
|
||||||
foreach(SRB2_ASSET ${SRB2_ASSET_HASHED})
|
|
||||||
file(MD5 ${SRB2_ASSET_DIRECTORY}/${SRB2_ASSET} "SRB2_ASSET_${SRB2_ASSET}_HASH")
|
|
||||||
set(SRB2_ASSET_${SRB2_ASSET}_HASH ${SRB2_ASSET_${SRB2_ASSET}_HASH} PARENT_SCOPE)
|
|
||||||
endforeach()
|
|
||||||
|
|
||||||
# Installation
|
# Installation
|
||||||
|
|
||||||
if(${CMAKE_SYSTEM} MATCHES Darwin)
|
if(${CMAKE_SYSTEM} MATCHES Darwin)
|
||||||
get_target_property(outname SRB2SDL2 OUTPUT_NAME)
|
get_target_property(outname SRB2SDL2 OUTPUT_NAME)
|
||||||
if(${SRB2_ASSET_INSTALL})
|
install(FILES ${SRB2_ASSETS} DESTINATION "${outname}.app/Contents/Resources")
|
||||||
install(DIRECTORY "${SRB2_ASSET_DIRECTORY}/"
|
install(DIRECTORY "${SRB2_ASSET_DIRECTORY_ABSOLUTE}/models" DESTINATION "${outname}.app/Contents/Resources")
|
||||||
DESTINATION "${outname}.app/Contents/Resources"
|
install(FILES ${SRB2_ASSETS_DOCS} DESTINATION .)
|
||||||
)
|
|
||||||
endif()
|
|
||||||
# Always install the doc files, even in non-asset packages.
|
|
||||||
install(FILES ${SRB2_ASSET_DOCS}
|
|
||||||
DESTINATION .
|
|
||||||
OPTIONAL
|
|
||||||
)
|
|
||||||
else()
|
else()
|
||||||
if(${SRB2_ASSET_INSTALL})
|
install(FILES ${SRB2_ASSETS} DESTINATION .)
|
||||||
install(DIRECTORY "${SRB2_ASSET_DIRECTORY}/"
|
install(DIRECTORY "${SRB2_ASSET_DIRECTORY_ABSOLUTE}/models" DESTINATION .)
|
||||||
DESTINATION .
|
|
||||||
)
|
|
||||||
# Docs are assumed to be located in SRB2_ASSET_DIRECTORY, so don't install them in their own call.
|
|
||||||
else()
|
|
||||||
# Always install the doc files, even in non-asset packages.
|
|
||||||
install(FILES ${SRB2_ASSET_DOCS}
|
|
||||||
DESTINATION .
|
|
||||||
OPTIONAL
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
|
||||||
|
|
@ -11,15 +11,6 @@
|
||||||
|
|
||||||
#ifdef CMAKECONFIG
|
#ifdef CMAKECONFIG
|
||||||
|
|
||||||
#define ASSET_HASH_MAIN_KART "${SRB2_ASSET_main.kart_HASH}"
|
|
||||||
#define ASSET_HASH_GFX_PK3 "${SRB2_ASSET_gfx.pk3_HASH}"
|
|
||||||
#define ASSET_HASH_TEXTURES_PK3 "${SRB2_ASSET_textures.pk3_HASH}"
|
|
||||||
#define ASSET_HASH_CHARS_PK3 "${SRB2_ASSET_chars.pk3_HASH}"
|
|
||||||
#define ASSET_HASH_MAPS_PK3 "${SRB2_ASSET_maps.pk3_HASH}"
|
|
||||||
#ifdef USE_PATCH_FILE
|
|
||||||
#define ASSET_HASH_PATCH_PK3 "${SRB2_ASSET_patch.pk3_HASH}"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define SRB2_COMP_REVISION "${SRB2_COMP_REVISION}"
|
#define SRB2_COMP_REVISION "${SRB2_COMP_REVISION}"
|
||||||
#define SRB2_COMP_BRANCH "${SRB2_COMP_BRANCH}"
|
#define SRB2_COMP_BRANCH "${SRB2_COMP_BRANCH}"
|
||||||
// This is done with configure_file instead of defines in order to avoid
|
// This is done with configure_file instead of defines in order to avoid
|
||||||
|
|
@ -29,9 +20,7 @@
|
||||||
#define COMPVERSION_UNCOMMITTED
|
#define COMPVERSION_UNCOMMITTED
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define CMAKE_ASSETS_DIR "${CMAKE_SOURCE_DIR}/assets"
|
#endif
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
/* Manually defined asset hashes for non-CMake builds
|
/* Manually defined asset hashes for non-CMake builds
|
||||||
* Last updated 2019 / 01 / 18 - Kart v1.0.2 - Main assets
|
* Last updated 2019 / 01 / 18 - Kart v1.0.2 - Main assets
|
||||||
|
|
@ -48,4 +37,3 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
|
|
@ -2273,18 +2273,6 @@ static const char *locateWad(void)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#ifdef CMAKECONFIG
|
|
||||||
#ifndef NDEBUG
|
|
||||||
I_OutputMsg(","CMAKE_ASSETS_DIR);
|
|
||||||
strcpy(returnWadPath, CMAKE_ASSETS_DIR);
|
|
||||||
if (isWadPathOk(returnWadPath))
|
|
||||||
{
|
|
||||||
return returnWadPath;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __APPLE__
|
#ifdef __APPLE__
|
||||||
OSX_GetResourcesPath(returnWadPath);
|
OSX_GetResourcesPath(returnWadPath);
|
||||||
I_OutputMsg(",%s", returnWadPath);
|
I_OutputMsg(",%s", returnWadPath);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue