From: Antonio Ospite Date: Tue, 4 Dec 2012 10:46:12 +0000 (+0100) Subject: Fix an error when compiling with both -O0 and -Wp,-D_FORTIFY_SOURCE=2 X-Git-Tag: v0.1.3~7 X-Git-Url: https://git.ao2.it/libam7xxx.git/commitdiff_plain/024af793fa6d6af644c225804d140cc13aa56307?ds=inline Fix an error when compiling with both -O0 and -Wp,-D_FORTIFY_SOURCE=2 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 --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 3e525cc..d99e401 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -48,7 +48,6 @@ if (CMAKE_COMPILER_IS_GNUCC) -Winit-self -Winline -Wpacked - -Wp,-D_FORTIFY_SOURCE=2 -Wpointer-arith -Wlarger-than-65500 -Wmissing-declarations @@ -68,13 +67,13 @@ if (CMAKE_COMPILER_IS_GNUCC) -Wwrite-strings -fstack-protector --param=ssp-buffer-size=4) -endif() -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 @@ -83,12 +82,13 @@ if (CMAKE_COMPILER_IS_GNUCC) # 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}) endif() endif() +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)