| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- cmake_minimum_required(VERSION 4.1)
- project(basic C)
- set(CMAKE_C_STANDARD 23)
- set(SRC
- "src/Main.c"
- "src/Code.c"
- "src/Values.c"
- )
- set(COMPILER_ARGUMENTS
- -Wall -Wvla -Werror
- -Wextra -Wundef -Walloca
- -Wshadow -Wformat=2 -Wcast-qual
- -Wdate-time -Winit-self -Wmultichar
- -Wnarrowing -Wcast-align -Wconversion
- -Wfloat-equal -Winvalid-pch -Warray-bounds
- -Wenum-compare -Winvalid-utf8 -Wwrite-strings
- -Wmissing-braces -Wnested-externs -Wshift-overflow
- -Warray-parameter -Wenum-conversion -Wformat-overflow
- -Wredundant-decls -Wsign-conversion -Wstack-protector
- -Wdouble-promotion -Wjump-misses-init -Wnull-dereference
- -Wunreachable-code -Wbad-function-cast -Wformat-signedness
- -Wformat-truncation -Wstrict-overflow=2 -Wstrict-prototypes
- -Winfinite-recursion -Wmissing-prototypes -Woverlength-strings
- -Wimplicit-fallthrough -Wmissing-declarations -Wmissing-include-dirs
- -Wold-style-definition -Wdisabled-optimization -Wunused-const-variable
- -Wlarger-than=1073741824 -Wdeprecated-non-prototype
- -Wframe-larger-than=8388608 -Wmissing-variable-declarations
- -Wzero-as-null-pointer-constant
- -fdiagnostics-color=always -fstrict-flex-arrays=3
- -pedantic -pedantic-errors
- )
- if(CMAKE_C_COMPILER_ID STREQUAL "GNU")
- set(COMPILER_ARGUMENTS ${COMPILER_ARGUMENTS}
- -Walloc-zero -Wlogical-op -Wtrampolines
- -Wbidi-chars=any -Wduplicated-cond -Wnormalized=nfkc
- -Warith-conversion -Wuse-after-free=3 -Wattribute-alias=2
- -Wstrict-flex-arrays -Wduplicated-branches -Wstack-usage=8388608
- -Wstringop-overflow=4 -Wanalyzer-too-complex -Wtrivial-auto-var-init
- -Wanalyzer-symbol-too-complex -Wflex-array-member-not-at-end
- )
- elseif(CMAKE_C_COMPILER_ID STREQUAL "Clang")
- set(COMPILER_ARGUMENTS ${COMPILER_ARGUMENTS}
- -Wmissing-variable-declarations -Wconditional-uninitialized
- -Wold-style-definition -Wmissing-prototypes
- -Wstrict-prototypes -Wbad-function-cast
- -Wmissing-noreturn -Wextra-semi-stmt
- -Wnested-externs -Wnarrowing
- )
- endif()
- add_executable(${PROJECT_NAME} ${SRC})
- target_compile_options(${PROJECT_NAME} PUBLIC
- ${COMPILER_ARGUMENTS}
- )
|