summaryrefslogtreecommitdiff
path: root/loader
diff options
context:
space:
mode:
authorKarl Schultz <karl@lunarg.com>2017-01-24 14:44:26 -0800
committerKarl Schultz <karl@lunarg.com>2017-01-26 09:18:23 -0800
commit174702980b07be6025a2bc5e5b6c5bfcfde8d730 (patch)
tree4952d89dc7014da8c4bafcc8bab2804ab6ab2f20 /loader
parentcb1a2cdac3a528ae887a436c1653c8e8aa5afd12 (diff)
build: Turn on "treat warnings as errors" on Win
Also address compiler warnings: - Suppress warnings for inconsistently redefined snprintf on Windows with Visual Studio < 2015. Warnings for preprocessor redefinitions are still enabled on VS 2015 because snprintf is not redefined on VS 2015. - Turn off "changed behavior" warning with Visual Studio < 2015 for using initializers in constructors. MSFT "fixed" some forms of these initializers so that they clear members instead of just leaving them alone. Since clearing is usually desired, this isn't a problem in most cases. But if an object is reinstantiated on top of an existing object, via placement new for example, the clearing may not be desired if the first object's data was meant to be preserved. We don't count on this behavior. - Suppress linker warning for linking the loader in debug build on Windows. This warning is for mismatched runtime libraries and causes extra code to be linked in only for debug builds. Ignoring the warning is generally regarded as better than the alternatives. Change-Id: I8b0e311d3c80a8dd9ac0cc95f764ed1123efa86f
Diffstat (limited to 'loader')
-rw-r--r--loader/CMakeLists.txt2
1 files changed, 2 insertions, 0 deletions
diff --git a/loader/CMakeLists.txt b/loader/CMakeLists.txt
index ba3abad3..ce490867 100644
--- a/loader/CMakeLists.txt
+++ b/loader/CMakeLists.txt
@@ -90,6 +90,8 @@ if (WIN32)
target_compile_options(loader-opt PUBLIC "$<$<CONFIG:DEBUG>:${LOCAL_C_FLAGS_REL}>")
add_library(${API_LOWERCASE}-${MAJOR} SHARED $<TARGET_OBJECTS:loader-opt> $<TARGET_OBJECTS:loader-norm> ${CMAKE_CURRENT_BINARY_DIR}/${API_LOWERCASE}-${MAJOR}.def ${CMAKE_CURRENT_SOURCE_DIR}/loader.rc)
add_library(VKstatic.${MAJOR} STATIC $<TARGET_OBJECTS:loader-opt> $<TARGET_OBJECTS:loader-norm>)
+ # Suppress conflicting libs warning for debug builds.
+ set_target_properties(${API_LOWERCASE}-${MAJOR} PROPERTIES LINK_FLAGS_DEBUG /ignore:4098)
set_target_properties(VKstatic.${MAJOR} PROPERTIES OUTPUT_NAME VKstatic.${MAJOR})
target_link_libraries(${API_LOWERCASE}-${MAJOR} shlwapi)
target_link_libraries(VKstatic.${MAJOR} shlwapi)