MACRO (MSVC_CRT_SECURE_NO_WARNINGS) IF (MSVC) FOREACH (target ${ARGN}) SET_TARGET_PROPERTIES (${target} PROPERTIES COMPILE_DEFINITIONS _CRT_SECURE_NO_WARNINGS ) ENDFOREACH (target) ENDIF (MSVC) ENDMACRO (MSVC_CRT_SECURE_NO_WARNINGS) MACRO (MSVC_SET_WARNING_LEVEL level) IF (MSVC) IF(CMAKE_C_FLAGS MATCHES "/W[0-4]") STRING(REGEX REPLACE "/W[0-4]" "/W${level}" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") ELSE() SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W${level}") ENDIF() ENDIF(MSVC) ENDMACRO (MSVC_SET_WARNING_LEVEL)