Fix the following error happening with the gcc shipped on some Ubuntu
versions:
In file included from /usr/include/stdio.h:27:0,
from /home/pedro/lib/libam7xxx/src/am7xxx.c:19:
/usr/include/features.h:330:4: error: #warning _FORTIFY_SOURCE
requires compiling with optimization (-O) [-Werror=cpp]
cc1: all warnings being treated as errors
make[2]: *** [src/CMakeFiles/am7xxx.dir/am7xxx.c.o] Error 1
make[1]: *** [src/CMakeFiles/am7xxx.dir/all] Error 2
make: *** [all] Error 2
Reported-by: Petr Certik <petr@certik.cz>
-Winit-self
-Winline
-Wpacked
-Winit-self
-Winline
-Wpacked
- -Wp,-D_FORTIFY_SOURCE=2
-Wpointer-arith
-Wlarger-than-65500
-Wmissing-declarations
-Wpointer-arith
-Wlarger-than-65500
-Wmissing-declarations
-Wwrite-strings
-fstack-protector
--param=ssp-buffer-size=4)
-Wwrite-strings
-fstack-protector
--param=ssp-buffer-size=4)
-set(CMAKE_C_FLAGS_DEBUG "-O0 -ggdb -DDEBUG=1")
-set(CMAKE_C_FLAGS_RELEASE "-O2")
-set(CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g")
+ add_flags(DEBUG_FLAGS
+ -ggdb)
+
+ add_flags(RELEASE_FLAGS
+ -Wp,-D_FORTIFY_SOURCE=2)
-if (CMAKE_COMPILER_IS_GNUCC)
if (STRICT_COMPILATION_CHECKS)
add_flags(STRICT_FLAGS
-Werror
if (STRICT_COMPILATION_CHECKS)
add_flags(STRICT_FLAGS
-Werror
# NOTE: GCC >= 4.6 is needed for -Wunused-but-set-variable
-Wunused-but-set-variable)
# NOTE: GCC >= 4.6 is needed for -Wunused-but-set-variable
-Wunused-but-set-variable)
- add_flags(CMAKE_C_FLAGS_DEBUG ${STRICT_FLAGS})
- add_flags(CMAKE_C_FLAGS_RELEASE ${STRICT_FLAGS})
- add_flags(CMAKE_C_FLAGS_RELWITHDEBINFO ${STRICT_FLAGS})
+set(CMAKE_C_FLAGS_DEBUG "-O0 ${DEBUG_FLAGS} ${STRICT_FLAGS}")
+set(CMAKE_C_FLAGS_RELEASE "-O2 ${RELEASE_FLAGS} ${STRICT_FLAGS}")
+set(CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 ${RELEASE_FLAGS} ${DEBUG_FLAGS} ${STRICT_FLAGS}")
+
# Add library project
add_subdirectory(src)
add_subdirectory(examples)
# Add library project
add_subdirectory(src)
add_subdirectory(examples)