X-Git-Url: http://git.xonotic.org/?p=xonotic%2Fxonotic.git;a=blobdiff_plain;f=release.cmake;h=e1c41973c3fb429162caa11c1ceec961a3f15ae4;hp=941282512a7c6655322a26b9a9754e89cb1e3cfe;hb=2093131da01fe2e85fe3c841a882b195456baf20;hpb=7e4acc7c3505ed5cedcf1dbc7a71d3adcd39f8a4 diff --git a/release.cmake b/release.cmake index 94128251..e1c41973 100644 --- a/release.cmake +++ b/release.cmake @@ -7,10 +7,11 @@ add_custom_target(release) string(TIMESTAMP stamp "%Y%m%d") +string(TIMESTAMP filestamp "%Y-%m-%d") -file(STRINGS data/xonotic-data.pk3dir/defaultXonotic.cfg _contents REGEX "^gameversion ") +file(STRINGS data/xonotic-data.pk3dir/xonotic-common.cfg _contents REGEX "^gameversion ") if (NOT _contents) - message(FATAL_ERROR "defaultXonotic.cfg does not contain gameversion") + message(FATAL_ERROR "xonotic-common.cfg does not contain gameversion") else () string(REGEX REPLACE ".*gameversion ([0-9]+).*" "\\1" versionstr "${_contents}") math(EXPR versionstr_major "${versionstr} / 10000") @@ -57,19 +58,13 @@ if (0) message(STATUS "Downloading Darkplaces") getbinary(Xonotic/xonotic-x86.exe) - getbinary(Xonotic/xonotic-x86-wgl.exe) getbinary(Xonotic/xonotic-x86-dedicated.exe) getbinary(Xonotic/xonotic.exe) - getbinary(Xonotic/xonotic-wgl.exe) getbinary(Xonotic/xonotic-dedicated.exe) getbinary(Xonotic/Xonotic.app/Contents/MacOS/xonotic-osx-sdl-bin) # +x getbinary(Xonotic/xonotic-osx-dedicated) # +x - getbinary(Xonotic/xonotic-linux32-sdl) # +x - getbinary(Xonotic/xonotic-linux32-glx) # +x - getbinary(Xonotic/xonotic-linux32-dedicated) # +x - getbinary(Xonotic/xonotic-linux64-sdl) # +x getbinary(Xonotic/xonotic-linux64-glx) # +x getbinary(Xonotic/xonotic-linux64-dedicated) # +x @@ -97,25 +92,26 @@ function(buildpk3 pk3) message("registered pk3 ${pk3}") set(deps) foreach (file IN LISTS files) - get_filename_component(rel ${file} DIRECTORY) - set(marker "done.data/${pk3}/${file}") + set(marker "done.data/${pk3}dir/${file}") string(REPLACE "#" "_" marker ${marker}) # OUTPUT cannot contain '#' + list(APPEND deps "${marker}") + get_filename_component(rel ${file} DIRECTORY) add_custom_command(OUTPUT ${marker} + DEPENDS "${dir}/${file}" COMMAND ${CMAKE_COMMAND} "-Dsrc=${PROJECT_SOURCE_DIR}/${dir}/${file}" - "-Ddst=data/${pk3}/${rel}" - "-Dconv=data/${pk3}/${file}" + "-Ddst=data/${pk3}dir/${rel}" + "-Dconv=data/${pk3}dir/${file}" -P "transform-${filter}.cmake" VERBATIM) - list(APPEND deps ${marker}) endforeach () - add_custom_target(${pk3} DEPENDS ${deps}) - add_custom_target(${pk3}-zip DEPENDS ${pk3}.zip) - add_dependencies(release ${pk3}-zip) - add_custom_command(OUTPUT ${pk3}.zip - DEPENDS ${pk3} - COMMAND ${CMAKE_COMMAND} -E tar "cfv" "../../${pk3}.zip" --format=zip * - WORKING_DIRECTORY "data/${pk3}") + add_custom_target(${pk3}dir DEPENDS ${deps}) + add_custom_target(${pk3}dir-zip DEPENDS ${pk3}) + add_dependencies(release ${pk3}dir-zip) + add_custom_command(OUTPUT ${pk3} + DEPENDS ${pk3}dir + COMMAND ${CMAKE_COMMAND} -E tar cvf "../../${pk3}" --mtime=${filestamp} --format=zip -- * # TODO: no wildcard + WORKING_DIRECTORY "data/${pk3}dir") endfunction() function(deftransform name) @@ -132,6 +128,7 @@ function(deftransform name) " COMMAND ${CMAKE_COMMAND} -E copy \${src} \${conv}\n" " COMMAND ${PROJECT_SOURCE_DIR}/misc/tools/cached-converter.sh \${conv}\n" " COMMAND ${CMAKE_COMMAND} -E make_directory done.\${conv}\n" + " COMMAND ${CMAKE_COMMAND} -E touch done.\${conv}\n" " RESULT_VARIABLE res_var\n" ")") endfunction() @@ -139,6 +136,7 @@ file(WRITE ${PROJECT_BINARY_DIR}/transform-raw.cmake "execute_process(\n" " COMMAND ${CMAKE_COMMAND} -E copy \${src} \${conv}\n" " COMMAND ${CMAKE_COMMAND} -E make_directory done.\${conv}\n" + " COMMAND ${CMAKE_COMMAND} -E touch done.\${conv}\n" ")") # default to "del_src\;true"