1 cmake_minimum_required(VERSION 3.11 FATAL_ERROR)
5 include(buildsys/build.cmake) # Utility and helper functions and macros
6 include(buildsys/dependencies.cmake)
7 include(game/default/dpconfig.cmake) # Initial build options
9 unset(CMAKE_C_FLAGS_MINSIZEREL CACHE)
10 unset(CMAKE_C_FLAGS_RELWITHDEBINFO CACHE)
12 unset(CMAKE_EXE_LINKER_FLAGS_MINSIZEREL CACHE)
13 unset(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO CACHE)
16 unset(CMAKE_C_FLAGS CACHE)
17 unset(CMAKE_C_FLAGS_RELEASE CACHE)
18 unset(CMAKE_C_FLAGS_DEBUG CACHE)
20 unset(CMAKE_EXE_LINKER_FLAGS CACHE)
21 unset(CMAKE_EXE_LINKER_FLAGS_RELEASE CACHE)
22 unset(CMAKE_EXE_LINKER_FLAGS_DEBUG CACHE)
24 set(CMAKE_C_FLAGS "" CACHE STRING "")
25 set(CMAKE_C_FLAGS_RELEASE "" CACHE STRING "")
26 set(CMAKE_C_FLAGS_DEBUG "" CACHE STRING "")
27 set(CMAKE_C_FLAGS_PROFILE "" CACHE STRING "")
28 set(CMAKE_C_FLAGS_PROFILERELEASE "" CACHE STRING "")
30 set(CMAKE_EXE_LINKER_FLAGS "" CACHE STRING "")
31 set(CMAKE_EXE_LINKER_FLAGS_RELEASE "" CACHE STRING "")
32 set(CMAKE_EXE_LINKER_FLAGS_DEBUG "" CACHE STRING "")
33 set(CMAKE_EXE_LINKER_FLAGS_PROFILE "" CACHE STRING "")
34 set(CMAKE_EXE_LINKER_FLAGS_PROFILERELEASE "" CACHE STRING "")
36 set(FIRST_CONFIG TRUE CACHE INTERNAL "")
40 set(CMAKE_CONFIGURATION_TYPES "Release;Debug;Profile;ProfileRelease" CACHE STRING "" FORCE)
42 set(CMAKE_CONFIGURATION_TYPES "Release;Debug" CACHE STRING "" FORCE)
45 set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "${CMAKE_CONFIGURATION_TYPES}")
46 mark_as_advanced(CMAKE_CONFIGURATION_TYPES)
48 if(NOT CMAKE_BUILD_TYPE)
49 set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose the build type")
52 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/buildsys/module)
53 set(GAME_PROJECT "" CACHE STRING "Name of game project")
54 set(GAME_PROJECT_DIR "" CACHE PATH "Location of game project")
112 mod_skeletal_animatevertices_sse.c
113 mod_skeletal_animatevertices_generic.c
209 mod_skeletal_animatevertices_generic.h
210 mod_skeletal_animatevertices_sse.h
274 set(OBJ_SND_COMMON snd_main.c snd_mem.c snd_mix.c snd_ogg.c snd_wav.c)
275 set(OBJ_VIDEO_CAPTURE cap_avi.c cap_ogg.c)
276 set(OBJ_MENU menu.c mvm_cmds.c)
277 set(OBJ_SV ${OBJ_COMMON} builddate.c sys_unix.c vid_null.c snd_null.c thread_null.c)
278 set(OBJ_CL ${OBJ_COMMON} builddate.c snd_sdl.c sys_sdl.c vid_sdl.c thread_sdl.c)
279 set(OBJ_RC ${ENGINE_BUILD_WINRC})
281 # Make the headers show up in IDEs
282 add_custom_target(headers EXCLUDE_FROM_ALL SOURCES ${OBJ_HEADERS})
284 dp_build("${GAME_PROJECT}" "${GAME_PROJECT_DIR}")