1# Include common options.
2include(${CMAKE_CURRENT_LIST_DIR}/common.cmake)
3
4# Static runtime linkage.
5set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>" CACHE STRING "")
6
7# Compiler options.
8add_compile_options(
9    /permissive-  # strict C++
10    /W4           # enable all warnings
11    /MP           # multi-processor compilation
12)
13if("${CMAKE_GENERATOR_PLATFORM}" STREQUAL "Win32") # 32-bit
14    add_compile_options(
15        /arch:SSE2
16    )
17endif()
18
19# Linker options.
20add_link_options(
21)
22
23# Disable logos.
24foreach(lang C CXX ASM_MASM RC)
25    set(CMAKE_${lang}_FLAGS_INIT "/nologo")
26endforeach()
27foreach(type EXE SHARED MODULE)
28    set(CMAKE_${type}_LINKER_FLAGS_INIT "/nologo")
29endforeach()
30
31# Silence Visual Studio CMake integration warnings.
32set(SILENCE_VS_DEFINITIONS ${CMAKE_TOOLCHAIN_FILE} ${CMAKE_C_COMPILER})
33set(SILENCE_VS_DEFINITIONS)
34