]> de.git.xonotic.org Git - xonotic/netradiant.git/blobdiff - tools/quake2/CMakeLists.txt
cmake: build quake2 and heretic2 tools to be on par with legacy Makefile
[xonotic/netradiant.git] / tools / quake2 / CMakeLists.txt
diff --git a/tools/quake2/CMakeLists.txt b/tools/quake2/CMakeLists.txt
new file mode 100644 (file)
index 0000000..6945ee6
--- /dev/null
@@ -0,0 +1,99 @@
+include_directories(BEFORE common)
+
+find_package(LibXml2 REQUIRED)
+include_directories(${LIBXML2_INCLUDE_DIR})
+
+radiant_tool(q2map
+    WIN32 q2map/q2map.rc
+
+    common/bspfile.c common/bspfile.h
+    common/cmdlib.c common/cmdlib.h
+    common/inout.c common/inout.h
+    common/l3dslib.c common/l3dslib.h
+    common/lbmlib.c common/lbmlib.h
+    common/mathlib.c common/mathlib.h
+    common/md4.c common/md4.h
+    common/path_init.c
+    common/qfiles.h
+    common/polylib.c common/polylib.h
+    common/scriplib.c common/scriplib.h
+    common/threads.c common/q2_threads.h
+    common/trilib.c common/trilib.h
+    
+    q2map/brushbsp.c
+    q2map/csg.c
+    q2map/faces.c
+    q2map/flow.c
+#   q2map/gldraw.c
+    q2map/glfile.c
+    q2map/leakfile.c
+    q2map/lightmap.c
+    q2map/main.c q2map/q2map.h
+    q2map/map.c
+    q2map/nodraw.c
+    q2map/patches.c
+    q2map/portals.c
+    q2map/prtfile.c
+    q2map/qbsp.c
+    q2map/qbsp.h
+    q2map/qrad.c
+    q2map/qrad.h
+    q2map/qvis.c
+    q2map/qvis.h
+    q2map/textures.c
+    q2map/trace.c
+    q2map/tree.c
+    q2map/writebsp.c
+)
+
+target_compile_definitions(q2map
+    PRIVATE
+)
+
+target_link_libraries(q2map
+    ${LIBXML2_LIBRARIES}
+    l_net
+)
+
+radiant_tool(qdata3
+    WIN32 qdata/qdata.rc
+
+    common/bspfile.c common/bspfile.h
+    common/cmdlib.c common/cmdlib.h
+    common/inout.c common/inout.h
+    common/l3dslib.c common/l3dslib.h
+    common/lbmlib.c common/lbmlib.h
+    common/mathlib.c common/mathlib.h
+    common/md4.c common/md4.h
+    common/path_init.c
+    common/qfiles.h
+    common/polylib.c common/polylib.h
+    common/scriplib.c common/scriplib.h
+    common/threads.c common/q2_threads.h
+    common/trilib.c common/trilib.h
+
+    qdata/anorms.h
+    qdata/images.c
+    qdata/models.c
+    qdata/qdata.c qdata/qdata.h
+    qdata/sprites.c
+    qdata/tables.c
+    qdata/video.c
+)
+
+target_compile_definitions(qdata3
+    PRIVATE
+)
+
+target_link_libraries(qdata3
+    ${LIBXML2_LIBRARIES}
+    l_net
+)
+
+add_custom_target(quake2)
+add_dependencies(quake2 q2map qdata3)
+
+if (UNIX)
+    target_link_libraries(q2map pthread m)
+    target_link_libraries(qdata3 pthread m)
+endif ()