]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - CMakeLists.txt
Merge branch 'master' into Mario/killsound
[xonotic/xonotic-data.pk3dir.git] / CMakeLists.txt
index 767c90db6ba3269fde43b12c411f3aa245094d23..2f38e43ba2be7ad75167b6683b238baae72dbc1a 100644 (file)
@@ -4,11 +4,12 @@ project(xonotic-data LANGUAGES ASM)
 
 include_directories(qcsrc)
 
+add_definitions(-DXONOTIC=1)
 add_definitions(-DNDEBUG=1)
 
 find_package(Git REQUIRED)
 execute_process(
-        COMMAND ${GIT_EXECUTABLE} describe --tags --dirty=*
+        COMMAND ${GIT_EXECUTABLE} describe --tags --dirty=~
         WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
         OUTPUT_VARIABLE GIT_DESC
         OUTPUT_STRIP_TRAILING_WHITESPACE
@@ -25,17 +26,40 @@ 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 "$<TARGET_FILE_DIR:${prog}>/${prog}.dat" "${prog}.dat"
+            COMMAND ${CMAKE_COMMAND} -E copy "$<TARGET_FILE_DIR:${prog}>/${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
@@ -49,7 +73,7 @@ function(pack prog)
             "${prog}-${GIT_DESC}.txt"
             "${prog}-${GIT_DESC}.dat"
             "${prog}-${GIT_DESC}.lno"
-             VERBATIM
+            VERBATIM
             )
 endfunction()
 pack(csprogs)