From 7b707d79ddfa5f3c9966a43e12715f3a6518ae86 Mon Sep 17 00:00:00 2001 From: Thomas Debesse Date: Mon, 17 Jun 2019 01:07:16 +0200 Subject: [PATCH] cmake: build quake2 and heretic2 tools to be on par with legacy Makefile --- tools/CMakeLists.txt | 4 +- tools/quake2/CMakeLists.txt | 99 ++++++++++++++++++ tools/quake2/q2map/q2map.rc | 1 + tools/quake2/qdata/qdata.rc | 1 + tools/quake2/qdata_heretic2/CMakeLists.txt | 73 +++++++++++++ .../qdata_heretic2/{script1.rc => h2data.rc} | 2 +- tools/quake2/qdata_heretic2/icon1.ico | Bin 766 -> 0 bytes 7 files changed, 178 insertions(+), 2 deletions(-) create mode 100644 tools/quake2/CMakeLists.txt create mode 100644 tools/quake2/q2map/q2map.rc create mode 100644 tools/quake2/qdata/qdata.rc create mode 100644 tools/quake2/qdata_heretic2/CMakeLists.txt rename tools/quake2/qdata_heretic2/{script1.rc => h2data.rc} (96%) delete mode 100644 tools/quake2/qdata_heretic2/icon1.ico diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt index 4c2c5d28..b36bb6cf 100644 --- a/tools/CMakeLists.txt +++ b/tools/CMakeLists.txt @@ -1,6 +1,8 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}") +add_subdirectory(quake2) +add_subdirectory(quake2/qdata_heretic2) add_subdirectory(quake3) add_custom_target(tools) -add_dependencies(tools quake3) +add_dependencies(tools quake2 heretic2 quake3) diff --git a/tools/quake2/CMakeLists.txt b/tools/quake2/CMakeLists.txt new file mode 100644 index 00000000..6945ee67 --- /dev/null +++ b/tools/quake2/CMakeLists.txt @@ -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 () diff --git a/tools/quake2/q2map/q2map.rc b/tools/quake2/q2map/q2map.rc new file mode 100644 index 00000000..29e1dbd3 --- /dev/null +++ b/tools/quake2/q2map/q2map.rc @@ -0,0 +1 @@ +101 ICON DISCARDABLE "..\\..\\..\\icons\\q2map.ico" diff --git a/tools/quake2/qdata/qdata.rc b/tools/quake2/qdata/qdata.rc new file mode 100644 index 00000000..d6e75b93 --- /dev/null +++ b/tools/quake2/qdata/qdata.rc @@ -0,0 +1 @@ +101 ICON DISCARDABLE "..\\..\\..\\icons\\qdata3.ico" diff --git a/tools/quake2/qdata_heretic2/CMakeLists.txt b/tools/quake2/qdata_heretic2/CMakeLists.txt new file mode 100644 index 00000000..aae46591 --- /dev/null +++ b/tools/quake2/qdata_heretic2/CMakeLists.txt @@ -0,0 +1,73 @@ +include_directories(BEFORE . common qcommon) + +find_package(OpenGL REQUIRED) + +find_package(LibXml2 REQUIRED) +include_directories(${LIBXML2_INCLUDE_DIR}) + +radiant_tool(h2data + WIN32 h2data.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/polylib.c common/polylib.h + common/qfiles.c common/qfiles.h + common/scriplib.c common/scriplib.h + common/threads.c common/her2_threads.h + common/token.c common/token.h + common/trilib.c common/trilib.h + + qcommon/angles.h + qcommon/arrayedlist.h + qcommon/flex.h + qcommon/fmodel.h + qcommon/h2common.h + qcommon/placement.h + qcommon/qfiles.h + qcommon/q_typedef.h + qcommon/reference.c qcommon/reference.h + qcommon/resourcemanager.c qcommon/resourcemanager.h + qcommon/skeletons.c qcommon/skeletons.h + + adpcm.h + animcomp.c animcomp.h + anorms.h + book.c + fmodels.c qd_fmodel.h + images.c + jointed.c + jointed.h + joints.h + models.c + pics.c + qdata.c qdata.h + qd_skeletons.c qd_skeletons.h + resource.h + sprites.c + svdcmp.c + tables.c + tmix.c + video.c +) + +target_compile_definitions(h2data + PRIVATE +) + +target_link_libraries(h2data + ${LIBXML2_LIBRARIES} + l_net +) + +add_custom_target(heretic2) +add_dependencies(heretic2 h2data) + +if (UNIX) + target_link_libraries(h2data pthread m) +endif () diff --git a/tools/quake2/qdata_heretic2/script1.rc b/tools/quake2/qdata_heretic2/h2data.rc similarity index 96% rename from tools/quake2/qdata_heretic2/script1.rc rename to tools/quake2/qdata_heretic2/h2data.rc index 7d053745..21540bc2 100644 --- a/tools/quake2/qdata_heretic2/script1.rc +++ b/tools/quake2/qdata_heretic2/h2data.rc @@ -28,7 +28,7 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US // Icon with lowest ID value placed first to ensure application icon // remains consistent on all systems. -IDI_ICON1 ICON DISCARDABLE "icon1.ico" +IDI_ICON1 ICON DISCARDABLE "..\\..\\..\\icons\\h2data.ico" #ifdef APSTUDIO_INVOKED ///////////////////////////////////////////////////////////////////////////// diff --git a/tools/quake2/qdata_heretic2/icon1.ico b/tools/quake2/qdata_heretic2/icon1.ico deleted file mode 100644 index 8f44194128ade27ac79a97e16a0100032e36fc90..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 766 zcmeHFI|{-;6nqgu(pd?@f+;P%fgWvd5Zi#5t3)isDpyd_cmxB1aoz^9j}XKIIGcHI zCi6BwB9d@r*-{j*naGNLOJ?MOOk~a~;+ajuGi2g@-&iT7sw#F35Do!Ukz9I8%OBsr zKw1#TI73}TCn-&8V%1}BH-yYwVC=)J$<^yU2GH2Y(bUGn+>e6)z$7~7E-l|Y@KoH} k^ZKc}bGs|b7CqzE#{#(RfxKj-tRrjcItQ8!@aBxg2Lb$&{Qv*} -- 2.39.2