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