1# This file is part of the Spring engine (GPL v2 or later), see LICENSE.html
2
3# Sets the overrides for compiler flags
4# Only executed ONCE (on the initial cmake run)
5
6if(MSVC)
7	set(MSVC_EXTRA_DEFINES "/DWINDOWS /D_CRT_SECURE_NO_WARNINGS")
8	set(MSVC_EXTRA_FLAGS "/wd4244 /wd4018 /wd4800 /wd4305")
9
10	set(CMAKE_CXX_FLAGS_INIT "${MSVC_EXTRA_DEFINES} ${MSVC_EXTRA_FLAGS} /DWIN32 /D_WINDOWS /W3 /EHa /GR")
11	set(CMAKE_CXX_FLAGS_DEBUG_INIT 			"/D_DEBUG /MDd /Zi /Ob0 /Od /RTC1")
12	set(CMAKE_CXX_FLAGS_MINSIZEREL_INIT     "/MD /O1 /Ob1 /D NDEBUG")
13	set(CMAKE_CXX_FLAGS_RELEASE_INIT        "/MD /O2 /Ob2 /D NDEBUG")
14	set(CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "/MD /Zi /O2 /Ob1 /D NDEBUG")
15
16	set(CMAKE_C_FLAGS_INIT "${MSVC_EXTRA_DEFINES} ${MSVC_EXTRA_FLAGS} /DWIN32 /D_WINDOWS /W3")
17	set(CMAKE_C_FLAGS_DEBUG_INIT 			"/D_DEBUG /MDd /Zi /Ob0 /Od /RTC1")
18	set(CMAKE_C_FLAGS_MINSIZEREL_INIT     "/MD /O1 /Ob1 /D NDEBUG")
19	set(CMAKE_C_FLAGS_RELEASE_INIT        "/MD /O2 /Ob2 /D NDEBUG")
20	set(CMAKE_C_FLAGS_RELWITHDEBINFO_INIT "/MD /Zi /O2 /Ob1 /D NDEBUG")
21endif(MSVC)
22