diff options
Diffstat (limited to 'libs/raylib/cmake/CompilerFlags.cmake')
-rw-r--r-- | libs/raylib/cmake/CompilerFlags.cmake | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/libs/raylib/cmake/CompilerFlags.cmake b/libs/raylib/cmake/CompilerFlags.cmake deleted file mode 100644 index 970462c..0000000 --- a/libs/raylib/cmake/CompilerFlags.cmake +++ /dev/null @@ -1,79 +0,0 @@ -include(AddIfFlagCompiles) - -# Makes +/- operations on void pointers be considered an error -# https://gcc.gnu.org/onlinedocs/gcc/Pointer-Arith.html -add_if_flag_compiles(-Werror=pointer-arith CMAKE_C_FLAGS) - -# Generates error whenever a function is used before being declared -# https://gcc.gnu.org/onlinedocs/gcc-4.0.1/gcc/Warning-Options.html -add_if_flag_compiles(-Werror=implicit-function-declaration CMAKE_C_FLAGS) - -# Allows some casting of pointers without generating a warning -add_if_flag_compiles(-fno-strict-aliasing CMAKE_C_FLAGS) - -if (ENABLE_MSAN AND ENABLE_ASAN) - # MSAN and ASAN both work on memory - ASAN does more things - MESSAGE(WARNING "Compiling with both AddressSanitizer and MemorySanitizer is not recommended") -endif() - -if (ENABLE_ASAN) - - # If enabled it would generate errors/warnings for all kinds of memory errors - # (like returning a stack variable by reference) - # https://clang.llvm.org/docs/AddressSanitizer.html - - add_if_flag_compiles(-fno-omit-frame-pointer CMAKE_C_FLAGS CMAKE_LINKER_FLAGS) - add_if_flag_compiles(-fsanitize=address CMAKE_C_FLAGS CMAKE_LINKER_FLAGS) - -endif() - -if (ENABLE_UBSAN) - - # If enabled this will generate errors for undefined behavior points - # (like adding +1 to the maximum int value) - # https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html - - add_if_flag_compiles(-fno-omit-frame-pointer CMAKE_C_FLAGS CMAKE_LINKER_FLAGS) - add_if_flag_compiles(-fsanitize=undefined CMAKE_C_FLAGS CMAKE_LINKER_FLAGS) - -endif() - -if (ENABLE_MSAN) - - # If enabled this will generate warnings for places where uninitialized memory is used - # https://clang.llvm.org/docs/MemorySanitizer.html - - add_if_flag_compiles(-fno-omit-frame-pointer CMAKE_C_FLAGS CMAKE_LINKER_FLAGS) - add_if_flag_compiles(-fsanitize=memory CMAKE_C_FLAGS CMAKE_LINKER_FLAGS) - -endif() - -if(CMAKE_VERSION VERSION_LESS "3.1") - if(CMAKE_C_COMPILER_ID STREQUAL "GNU") - add_if_flag_compiles(-std=gnu99 CMAKE_C_FLAGS) - endif() -else() - set (CMAKE_C_STANDARD 99) -endif() - -if(${PLATFORM} MATCHES "Android") - - # If enabled will remove dead code during the linking process - # https://gcc.gnu.org/onlinedocs/gnat_ugn/Compilation-options.html - add_if_flag_compiles(-ffunction-sections CMAKE_C_FLAGS) - - # If enabled will generate some exception data (usually disabled for C programs) - # https://gcc.gnu.org/onlinedocs/gcc-4.2.4/gcc/Code-Gen-Options.html - add_if_flag_compiles(-funwind-tables CMAKE_C_FLAGS) - - # If enabled adds stack protection guards around functions that allocate memory - # https://www.keil.com/support/man/docs/armclang_ref/armclang_ref_cjh1548250046139.htm - add_if_flag_compiles(-fstack-protector-strong CMAKE_C_FLAGS) - - # Marks that the library will not be compiled with an executable stack - add_if_flag_compiles(-Wa,--noexecstack CMAKE_C_FLAGS) - - # Do not expand symbolic links or resolve paths like "/./" or "/../", etc. - # https://gcc.gnu.org/onlinedocs/gcc/Directory-Options.html - add_if_flag_compiles(-no-canonical-prefixes CMAKE_C_FLAGS) -endif() |