-
Notifications
You must be signed in to change notification settings - Fork 20
/
Copy pathCMakeLists.txt
70 lines (56 loc) · 1.39 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
cmake_minimum_required(VERSION 3.11)
project(q2tools-220 LANGUAGES C)
set(Q2T_USE_PTHREADS ON CACHE BOOL "compile with pthread support")
if(Q2T_USE_PTHREADS)
set(THREADING_OPTION -pthread -DUSE_PTHREADS)
set(THREADING_LIB pthread)
else()
set(THREADING_OPTION -DUSE_SETRLIMIT)
set(THREADING_LIB)
endif()
set(CMAKE_STATIC_LIBRARY_PREFIX_C "")
add_library(q2tools-i INTERFACE)
target_compile_options(q2tools-i INTERFACE -fno-common ${THREADING_OPTION} -DUSE_ZLIB -O3 -s -z stack-size=16777216)
target_link_libraries(q2tools-i INTERFACE m ${THREADING_LIB})
add_library(libq2tool STATIC
src/bspfile.c
src/cmdlib.c
src/l3dslib.c
src/lbmlib.c
src/llwolib.c
src/mathlib.c
src/mdfour.c
src/polylib.c
src/scriplib.c
src/threads.c
src/trilib.c
src/bsp.c
src/brushbsp.c
src/csg.c
src/faces.c
src/leakfile.c
src/map.c
src/portals.c
src/prtfile.c
src/textures.c
src/tree.c
src/writebsp.c
src/vis.c
src/flow.c
src/rad.c
src/lightmap.c
src/patches.c
src/trace.c
src/data.c
src/images.c
src/models.c
src/sprites.c
src/tables.c
src/video.c
)
target_include_directories(libq2tool PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/common)
add_executable(q2tool src/main.c)
target_link_libraries(q2tool q2tools-i libq2tool)
install(TARGETS q2tool)
enable_testing()
add_test(NAME q2tool COMMAND q2tool -bsp)