]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
CMake: pk3, watermark
authorTimePath <andrew.hardaker1995@gmail.com>
Sun, 20 Mar 2016 00:00:30 +0000 (11:00 +1100)
committerTimePath <andrew.hardaker1995@gmail.com>
Thu, 14 Apr 2016 11:02:18 +0000 (21:02 +1000)
CMakeLists.txt
cmake/CMakeASMInformation.cmake
cmake/qcc.sh

index a2008975e6b38011c4199fe861585049920461ca..767c90db6ba3269fde43b12c411f3aa245094d23 100644 (file)
@@ -2,10 +2,19 @@ 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(-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
@@ -17,9 +26,30 @@ set_source_files_properties(
 
 add_executable(csprogs qcsrc/client/progs.inc)
 target_compile_definitions(csprogs PRIVATE -DCSQC)
+add_dependencies(csprogs gmqcc)
 
 add_executable(progs qcsrc/server/progs.inc)
 target_compile_definitions(progs PRIVATE -DSVQC)
+add_dependencies(progs gmqcc)
 
 add_executable(menu qcsrc/menu/progs.inc)
 target_compile_definitions(menu PRIVATE -DMENUQC)
+add_dependencies(menu gmqcc)
+
+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 "$<TARGET_FILE_DIR:${prog}>/${prog}.dat" "${prog}-${GIT_DESC}.dat"
+            COMMAND ${CMAKE_COMMAND} -E copy "$<TARGET_FILE_DIR:${prog}>/${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)
index 8fd541b9b17263c90e3b2b81690371bd7e226f39..e4e7bd923fce3bbf651968f4af27a62e6bec7ace 100644 (file)
@@ -1,6 +1,12 @@
-# TODO: <DEFINES> <INCLUDES> <FLAGS>
-set(CMAKE_ASM_COMPILE_OBJECT "<CMAKE_ASM_COMPILER> compile <OBJECT> <DEFINES> -DGMQCC <FLAGS> <SOURCE>")
-set(CMAKE_ASM_LINK_EXECUTABLE "<CMAKE_ASM_COMPILER> link <OBJECTS> -o <TARGET>")
+if (${CMAKE_VERSION} VERSION_LESS "3.4")
+    set(_CMAKE_ASM_INCLUDES "")
+else()
+    set(_CMAKE_ASM_INCLUDES "<INCLUDES>")
+endif()
+mark_as_advanced(_CMAKE_ASM_INCLUDES)
+
+set(CMAKE_ASM_COMPILE_OBJECT "<CMAKE_ASM_COMPILER> compile <OBJECT> <DEFINES> -DGMQCC ${_CMAKE_ASM_INCLUDES} <FLAGS> <SOURCE>")
+set(CMAKE_ASM_LINK_EXECUTABLE "env CMAKE_EXECUTABLE_SUFFIX=${CMAKE_EXECUTABLE_SUFFIX} <CMAKE_ASM_COMPILER> link <OBJECTS> -o <TARGET>")
 
 set(CMAKE_INCLUDE_FLAG_ASM "-I")
 set(CMAKE_INCLUDE_FLAG_ASM_SEP "")
index 0fbd8db12a4fe40b0d9148620b8311afb94094ef..2e8ea7062576c9fda587f1f44dd4a892d25353f5 100755 (executable)
@@ -1,9 +1,9 @@
 #!/bin/bash
-QCC=${QCC:-$(dirname "$0")/../../../gmqcc/gmqcc}
+CPP=${CPP:-cpp}
+QCC=${QCC:-$PWD/../../gmqcc/gmqcc${CMAKE_EXECUTABLE_SUFFIX}}
 case $1 in
     compile)
-        echo $@
-        cpp ${@:3} | sed 's/^#\(line\)\? \([[:digit:]]\+\) "\(.*\)".*/\n#pragma file(\3)\n#pragma line(\2)/g' > $2
+        ${CPP} ${@:3} | sed 's/^#\(line\)\? \([[:digit:]]\+\) "\(.*\)".*/\n#pragma file(\3)\n#pragma line(\2)/g' > $2
     ;;
     link)
         ${QCC} \