explicitly link msvc runtime libs & shared-libasan. stack-frame warning.
This commit is contained in:
parent
103a87281c
commit
4a371eb3b9
@ -144,21 +144,25 @@ target_precompile_headers(powerplay_exe PRIVATE src/common.h)
|
||||
|
||||
set(COMPILER_WARNINGS " \
|
||||
-Weverything -Werror \
|
||||
-Wframe-larger-than=65536 \
|
||||
\
|
||||
-Wno-unused-macros -Wno-gnu-zero-variadic-macro-arguments -Wno-documentation \
|
||||
-Wno-old-style-cast \
|
||||
-Wno-conversion -Wno-sign-conversion -Wno-declaration-after-statement -Wno-extra-semi \
|
||||
-Wno-extra-semi-stmt -Wno-bad-function-cast -Wno-class-varargs \
|
||||
-Wno-unreachable-code-break -Wno-cast-align -Wno-float-equal \
|
||||
-Wno-zero-as-null-pointer-constant -Wno-cast-qual -Wno-missing-noreturn \
|
||||
-Wno-missing-field-initializers -Wno-missing-braces -Wno-initializer-overrides \
|
||||
-Wno-old-style-cast -Wno-conversion -Wno-sign-conversion \
|
||||
-Wno-declaration-after-statement -Wno-extra-semi -Wno-extra-semi-stmt \
|
||||
-Wno-bad-function-cast -Wno-class-varargs -Wno-unreachable-code-break \
|
||||
-Wno-cast-align -Wno-float-equal -Wno-zero-as-null-pointer-constant \
|
||||
-Wno-cast-qual -Wno-missing-noreturn -Wno-missing-field-initializers \
|
||||
-Wno-missing-braces -Wno-initializer-overrides \
|
||||
-Wno-c99-extensions -Wno-c++98-compat-pedantic -Wno-c++98-compat \
|
||||
-Wno-switch-enum -Wno-switch-default \
|
||||
-Wno-reserved-identifier -Wno-reserved-macro-identifier \
|
||||
-Wno-unsafe-buffer-usage \
|
||||
-Wno-unsafe-buffer-usage -Wno-writable-strings \
|
||||
")
|
||||
# -Wno-unused-variable -Wno-unused-but-set-variable -Wno-unused-parameter
|
||||
# -Wno-unused-vfariable -Wno-unused-but-set-variable -Wno-unused-parameter
|
||||
|
||||
set(COMPILER_FLAGS "
|
||||
-fuse-ld=lld-link \
|
||||
-nostdlib \
|
||||
-fno-strict-aliasing \
|
||||
-fno-finite-loops \
|
||||
-fwrapv \
|
||||
@ -166,7 +170,6 @@ set(COMPILER_FLAGS "
|
||||
")
|
||||
|
||||
set(LINKER_FLAGS " \
|
||||
-fuse-ld=lld-link \
|
||||
${rc_res_sources} \
|
||||
-fno-strict-aliasing \
|
||||
-fno-finite-loops \
|
||||
@ -187,8 +190,15 @@ endif()
|
||||
# CRTLIB (C runtime library)
|
||||
if (CRTLIB)
|
||||
set(COMPILER_FLAGS "${COMPILER_FLAGS} -DCRTLIB=1")
|
||||
if (RTC)
|
||||
set(COMPILER_FLAGS "${COMPILER_FLAGS} -D_DEBUG -D_MT -D_DLL")
|
||||
set(LINKER_FLAGS "${LINKER_FLAGS} -lmsvcrtd -lucrtd -lmsvcprtd -lvcruntimed")
|
||||
else()
|
||||
set(COMPILER_FLAGS "${COMPILER_FLAGS} -mno-stack-arg-probe -fno-builtin -nostdlib")
|
||||
set(COMPILER_FLAGS "${COMPILER_FLAGS} -D_MT -D_DLL")
|
||||
set(LINKER_FLAGS "${LINKER_FLAGS} -lmsvcrt -lucrt -lmsvcprt -lvcruntime")
|
||||
endif()
|
||||
else()
|
||||
set(COMPILER_FLAGS "${COMPILER_FLAGS} -mno-stack-arg-probe -fno-builtin")
|
||||
endif()
|
||||
|
||||
# Optimization
|
||||
@ -208,7 +218,7 @@ if (ASAN)
|
||||
if (NOT CRTLIB)
|
||||
message(FATAL_ERROR "CRTLIB (C runtime library) Must be enabled when compiling with ASAN")
|
||||
endif()
|
||||
set(COMPILER_FLAGS "${COMPILER_FLAGS} -fsanitize=address -DASAN=1")
|
||||
set(COMPILER_FLAGS "${COMPILER_FLAGS} -fsanitize=address -shared-libasan -DASAN=1")
|
||||
endif()
|
||||
|
||||
# Developer mode
|
||||
|
||||
Loading…
Reference in New Issue
Block a user