1 cmake_minimum_required(VERSION 3.11 FATAL_ERROR)
5 cmake_policy(SET CMP0076 NEW)
7 include(buildsys/build.cmake) # Utility and helper functions and macros
8 include(buildsys/dependencies.cmake)
9 include(game/default/dpconfig.cmake) # Initial build options
11 unset(CMAKE_C_FLAGS_MINSIZEREL CACHE)
12 unset(CMAKE_C_FLAGS_RELWITHDEBINFO CACHE)
14 unset(CMAKE_EXE_LINKER_FLAGS_MINSIZEREL CACHE)
15 unset(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO CACHE)
18 unset(CMAKE_C_FLAGS CACHE)
19 unset(CMAKE_C_FLAGS_RELEASE CACHE)
20 unset(CMAKE_C_FLAGS_DEBUG CACHE)
22 unset(CMAKE_EXE_LINKER_FLAGS CACHE)
23 unset(CMAKE_EXE_LINKER_FLAGS_RELEASE CACHE)
24 unset(CMAKE_EXE_LINKER_FLAGS_DEBUG CACHE)
26 set(CMAKE_C_FLAGS "" CACHE STRING "")
27 set(CMAKE_C_FLAGS_RELEASE "" CACHE STRING "")
28 set(CMAKE_C_FLAGS_DEBUG "" CACHE STRING "")
29 set(CMAKE_C_FLAGS_PROFILE "" CACHE STRING "")
30 set(CMAKE_C_FLAGS_PROFILERELEASE "" CACHE STRING "")
32 set(CMAKE_EXE_LINKER_FLAGS "" CACHE STRING "")
33 set(CMAKE_EXE_LINKER_FLAGS_RELEASE "" CACHE STRING "")
34 set(CMAKE_EXE_LINKER_FLAGS_DEBUG "" CACHE STRING "")
35 set(CMAKE_EXE_LINKER_FLAGS_PROFILE "" CACHE STRING "")
36 set(CMAKE_EXE_LINKER_FLAGS_PROFILERELEASE "" CACHE STRING "")
38 set(FIRST_CONFIG TRUE CACHE INTERNAL "")
42 set(CMAKE_CONFIGURATION_TYPES "Release;Debug;Profile;ProfileRelease" CACHE STRING "" FORCE)
44 set(CMAKE_CONFIGURATION_TYPES "Release;Debug" CACHE STRING "" FORCE)
47 set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "${CMAKE_CONFIGURATION_TYPES}")
48 mark_as_advanced(CMAKE_CONFIGURATION_TYPES)
50 if(NOT CMAKE_BUILD_TYPE)
51 set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose the build type")
54 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/buildsys/module)
55 set(GAME_PROJECT "" CACHE STRING "Name of game project")
56 set(GAME_PROJECT_DIR "" CACHE PATH "Location of game project")
114 mod_skeletal_animatevertices_sse.c
115 mod_skeletal_animatevertices_generic.c
211 mod_skeletal_animatevertices_generic.h
212 mod_skeletal_animatevertices_sse.h
276 set(OBJ_SND_COMMON snd_main.c snd_mem.c snd_mix.c snd_ogg.c snd_wav.c)
277 set(OBJ_VIDEO_CAPTURE cap_avi.c cap_ogg.c)
278 set(OBJ_MENU menu.c mvm_cmds.c)
279 set(OBJ_SV ${OBJ_COMMON} builddate.c sys_unix.c vid_null.c snd_null.c thread_null.c)
280 set(OBJ_CL ${OBJ_COMMON} builddate.c snd_sdl.c sys_sdl.c vid_sdl.c thread_sdl.c)
281 set(OBJ_RC ${ENGINE_BUILD_WINRC})
283 # Make the headers show up in IDEs
284 add_custom_target(headers EXCLUDE_FROM_ALL SOURCES ${OBJ_HEADERS})
286 dp_build("${GAME_PROJECT}" "${GAME_PROJECT_DIR}")