forked from TTimo/bspc
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathCMakeLists.txt
87 lines (80 loc) · 2.33 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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
cmake_minimum_required(VERSION 3.12)
project(bspcwop C)
set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads REQUIRED)
set(SRCS
deps/expat-2.2.10/xmlparse.c
deps/expat-2.2.10/xmltok.c
deps/expat-2.2.10/xmlrole.c
deps/botlib/be_aas_bspq3.c
deps/botlib/be_aas_cluster.c
deps/botlib/be_aas_move.c
deps/botlib/be_aas_optimize.c
deps/botlib/be_aas_reach.c
deps/botlib/be_aas_sample.c
deps/botlib/l_libvar.c
deps/botlib/l_precomp.c
deps/botlib/l_script.c
deps/botlib/l_struct.c
deps/qcommon/cm_load.c
deps/qcommon/cm_patch.c
deps/qcommon/cm_test.c
deps/qcommon/cm_trace.c
deps/qcommon/md4.c
deps/qcommon/unzip.c
code/aas_areamerging.c
code/aas_cfg.c
code/aas_create.c
code/aas_edgemelting.c
code/aas_facemerging.c
code/aas_file.c
code/aas_gsubdiv.c
code/aas_map.c
code/aas_prunenodes.c
code/aas_store.c
code/be_aas_bspc.c
code/brushbsp.c
code/bspc.c
code/csg.c
code/glfile.c
code/l_bsp_ent.c
code/l_bsp_q3.c
code/l_cmd.c
code/l_log.c
code/l_math.c
code/l_mem.c
code/l_poly.c
code/l_qfiles.c
code/l_threads.c
code/l_utils.c
code/leakfile.c
code/map.c
code/map_q3.c
code/nodraw.c
code/portals.c
code/textures.c
code/tree.c
)
if (UNIX)
add_compile_options(-Wall -Wextra -pedantic -Wno-sign-compare -Wno-unused-parameter -Wno-format-overflow -Wno-cast-function-type)
endif()
if (UNIX)
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -g -O3 -ffast-math")
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -g -O0 -ffast-math")
endif()
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DNDEBUG")
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DDEBUG")
add_executable(${PROJECT_NAME} ${SRCS})
target_include_directories(${PROJECT_NAME} PRIVATE code deps deps/expat-2.2.10)
target_link_libraries(${PROJECT_NAME} PRIVATE Threads::Threads)
if (UNIX)
target_link_libraries(${PROJECT_NAME} PRIVATE m)
endif()
target_compile_definitions(${PROJECT_NAME} PRIVATE -DXML_STATIC -DMAC_STATIC= -DQDECL= -DBSPC -D_FORTIFY_SOURCE=2 -DCom_Memcpy=memcpy -DCom_Memset=memset)
if (APPLE)
target_compile_definitions(${PROJECT_NAME} PRIVATE -Dstricmp=strcasecmp -DHAVE_ARC4RANDOM -DLINUX)
elseif(UNIX)
target_compile_definitions(${PROJECT_NAME} PRIVATE -Dstricmp=strcasecmp -DHAVE_GETRANDOM -DLINUX)
elseif(WIN32)
target_compile_definitions(${PROJECT_NAME} PRIVATE -DWIN32 -D_CRT_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CONSOLE)
endif()