X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=CMakeLists.txt;h=2f38e43ba2be7ad75167b6683b238baae72dbc1a;hb=9a53f42d42fbc1f90b3feebb0cf9dc6e4dfd6332;hp=a2008975e6b38011c4199fe861585049920461ca;hpb=ea5a82ef743ab444bc3c4789cdae096a3ac6f556;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/CMakeLists.txt b/CMakeLists.txt index a2008975e..2f38e43ba 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,10 +2,20 @@ cmake_minimum_required(VERSION 2.8.11) list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake) project(xonotic-data LANGUAGES ASM) -add_definitions(-DWATERMARK=\"12345\") -add_definitions(-DNDEBUG=1) include_directories(qcsrc) +add_definitions(-DXONOTIC=1) +add_definitions(-DNDEBUG=1) + +find_package(Git REQUIRED) +execute_process( + COMMAND ${GIT_EXECUTABLE} describe --tags --dirty=~ + WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} + OUTPUT_VARIABLE GIT_DESC + OUTPUT_STRIP_TRAILING_WHITESPACE +) +add_definitions(-DWATERMARK=\"${GIT_DESC}\") + set_source_files_properties( qcsrc/client/progs.inc qcsrc/server/progs.inc @@ -16,10 +26,54 @@ set_source_files_properties( ) add_executable(csprogs qcsrc/client/progs.inc) -target_compile_definitions(csprogs PRIVATE -DCSQC) +target_compile_definitions(csprogs PRIVATE -DGAMEQC -DCSQC) +add_dependencies(csprogs gmqcc) add_executable(progs qcsrc/server/progs.inc) -target_compile_definitions(progs PRIVATE -DSVQC) +target_compile_definitions(progs PRIVATE -DGAMEQC -DSVQC) +add_dependencies(progs gmqcc) add_executable(menu qcsrc/menu/progs.inc) target_compile_definitions(menu PRIVATE -DMENUQC) +add_dependencies(menu gmqcc) + +function(set_prelude target prelude) + get_target_property(MY_PROJECT_SOURCES target SOURCES) + foreach (source IN LISTS MY_PROJECT_SOURCES) + set_property( + SOURCE ${source} + APPEND PROPERTY COMPILE_FLAGS + "-include ${PROJECT_SOURCE_DIR}/${prelude}" + ) + endforeach () +endfunction() +# set_prelude(csprogs qcsrc/lib/_all.inc) + +function(copy prog) + add_custom_command(TARGET ${prog} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy "$/${prog}.dat" "${prog}.dat" + COMMAND ${CMAKE_COMMAND} -E copy "$/${prog}.lno" "${prog}.lno" + WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} + VERBATIM) +endfunction() +copy(csprogs) +copy(progs) +copy(menu) + +function(pack prog) + add_custom_target(${prog}.pk3 + DEPENDS ${prog}-${GIT_DESC}.pk3 + ) + add_custom_command(OUTPUT ${prog}-${GIT_DESC}.pk3 + DEPENDS ${prog} + COMMAND ${CMAKE_COMMAND} -E echo "http://xonotic.org" > "${prog}-${GIT_DESC}.txt" + COMMAND ${CMAKE_COMMAND} -E copy "$/${prog}.dat" "${prog}-${GIT_DESC}.dat" + COMMAND ${CMAKE_COMMAND} -E copy "$/${prog}.lno" "${prog}-${GIT_DESC}.lno" + COMMAND ${CMAKE_COMMAND} -E tar "cfv" "${prog}-${GIT_DESC}.pk3" --format=zip + "${prog}-${GIT_DESC}.txt" + "${prog}-${GIT_DESC}.dat" + "${prog}-${GIT_DESC}.lno" + VERBATIM + ) +endfunction() +pack(csprogs)