generation of data archive from cmake solution
This commit is contained in:
parent
fa85fb8dd1
commit
9da92775bc
1
.gitignore
vendored
1
.gitignore
vendored
@ -9,6 +9,7 @@
|
|||||||
**/*.dll
|
**/*.dll
|
||||||
**/*.7z
|
**/*.7z
|
||||||
**/*.zip
|
**/*.zip
|
||||||
|
**/*.btw
|
||||||
|
|
||||||
.vs/
|
.vs/
|
||||||
.vscode/
|
.vscode/
|
||||||
|
@ -18,7 +18,10 @@ endif ()
|
|||||||
set(TOWNENGINE_TARGET townengine CACHE INTERNAL "")
|
set(TOWNENGINE_TARGET townengine CACHE INTERNAL "")
|
||||||
set(TOWNENGINE_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR} CACHE INTERNAL "")
|
set(TOWNENGINE_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR} CACHE INTERNAL "")
|
||||||
|
|
||||||
option(TOWNENGINE_HOT_RELOAD "Enable hot reloading support" TRUE)
|
option(TOWNENGINE_HOT_RELOAD "Enable hot reloading support" ON)
|
||||||
|
option(TOWNENGINE_ARCHIVE_DATA "Enable archival of assets" OFF)
|
||||||
|
|
||||||
|
# add -fPIC globally so that it's linked well
|
||||||
add_compile_options($<$<BOOL:${TOWNENGINE_HOT_RELOAD}>:-fPIC>)
|
add_compile_options($<$<BOOL:${TOWNENGINE_HOT_RELOAD}>:-fPIC>)
|
||||||
|
|
||||||
set(PHYSFS_BUILD_SHARED FALSE)
|
set(PHYSFS_BUILD_SHARED FALSE)
|
||||||
@ -240,16 +243,25 @@ function(use_townengine target sources output_directory data_dir)
|
|||||||
|
|
||||||
if (UNIX)
|
if (UNIX)
|
||||||
# create a bootstrapping script
|
# create a bootstrapping script
|
||||||
|
set(TOWNENGINE_BOOTSTRAP_EXEC_ARGS
|
||||||
|
"$<IF:$<BOOL:${TOWNENGINE_ARCHIVE_DATA}>,--data-dir ./data.${PACKAGE_EXTENSION},--data-dir ${data_dir}>")
|
||||||
|
|
||||||
string(JOIN "\n" TOWNENGINE_BOOTSTRAP
|
string(JOIN "\n" TOWNENGINE_BOOTSTRAP
|
||||||
"#!/bin/env sh"
|
"#!/bin/env sh"
|
||||||
"cd \"$(dirname \"$0\")\""
|
"cd \"$(dirname \"$0\")\""
|
||||||
"LD_LIBRARY_PATH=./ ./launcher --data-dir ${data_dir}"
|
"LD_LIBRARY_PATH=./ ./launcher ${TOWNENGINE_BOOTSTRAP_EXEC_ARGS}"
|
||||||
"")
|
"")
|
||||||
|
|
||||||
FILE(GENERATE OUTPUT ${output_directory}/${target}
|
FILE(GENERATE OUTPUT ${output_directory}/${target}
|
||||||
CONTENT "${TOWNENGINE_BOOTSTRAP}"
|
CONTENT "${TOWNENGINE_BOOTSTRAP}"
|
||||||
FILE_PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ)
|
FILE_PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
|
if (TOWNENGINE_ARCHIVE_DATA)
|
||||||
|
# zip up assets
|
||||||
|
add_custom_command(TARGET ${target}_app POST_BUILD
|
||||||
|
COMMAND cd ${data_dir} && zip -r ${output_directory}/data.${PACKAGE_EXTENSION} ./*
|
||||||
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
|
endif ()
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
give_options(${TOWNENGINE_TARGET})
|
give_options(${TOWNENGINE_TARGET})
|
||||||
@ -265,10 +277,3 @@ endif ()
|
|||||||
add_custom_command(TARGET ${TOWNENGINE_TARGET} POST_BUILD
|
add_custom_command(TARGET ${TOWNENGINE_TARGET} POST_BUILD
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_BINARY_DIR}/compile_commands.json
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_BINARY_DIR}/compile_commands.json
|
||||||
${TOWNENGINE_ROOT_DIR})
|
${TOWNENGINE_ROOT_DIR})
|
||||||
|
|
||||||
# zip up assets
|
|
||||||
# currently, you must run cmake from the project root dir for this to work correctly
|
|
||||||
#file(ARCHIVE_CREATE OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/data.${PACKAGE_EXTENSION}
|
|
||||||
# PATHS ${PROJECT_SOURCE_DIR}/assets
|
|
||||||
# FORMAT zip
|
|
||||||
#)
|
|
||||||
|
Loading…
Reference in New Issue
Block a user