@ -192,21 +192,28 @@ include( CMakeColors )
#
set ( CMAKE_CXX_STANDARD 17 )
set ( CMAKE_CXX_STANDARD_REQUIRED ON )
set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror=return-type -Wl,--no-undefined" )
set ( CMAKE_CXX_FLAGS_DEBUG "-g ${CMAKE_CXX_FLAGS_DEBUG}" )
set ( CMAKE_CXX_FLAGS_MINSIZEREL "-Os -DNDEBUG" )
set ( CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG" )
set ( CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g" )
set ( CMAKE_C_STANDARD 99 )
set ( CMAKE_C_STANDARD_REQUIRED ON )
set ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall" )
set ( CMAKE_C_FLAGS_DEBUG "-g" )
set ( CMAKE_C_FLAGS_MINSIZEREL "-Os -DNDEBUG" )
set ( CMAKE_C_FLAGS_RELEASE "-O4 -DNDEBUG" )
set ( CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g" )
set ( CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined" )
if ( CMAKE_CXX_COMPILER_ID MATCHES "Clang" )
message ( STATUS "Found Clang ${CMAKE_CXX_COMPILER_VERSION}, setting up Clang-specific compiler flags." )
set ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall" )
set ( CMAKE_C_FLAGS_DEBUG "-g" )
set ( CMAKE_C_FLAGS_MINSIZEREL "-Os -DNDEBUG" )
set ( CMAKE_C_FLAGS_RELEASE "-O4 -DNDEBUG" )
set ( CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g" )
# C l a n g w a r n i n g s : d o i n g * e v e r y t h i n g * i s c o u n t e r - p r o d u c t i v e , s i n c e i t w a r n s
# a b o u t t h i n g s w h i c h w e c a n ' t fix ( e.g. C++98 incompatibilities, but
# C a l a m a r e s i s C + + 1 4 ) .
# C a l a m a r e s i s C + + 1 7 ) .
foreach ( CLANG_WARNINGS
- W e v e r y t h i n g
- W n o - c + + 9 8 - c o m p a t
@ -218,7 +225,6 @@ if( CMAKE_CXX_COMPILER_ID MATCHES "Clang" )
- W n o - m i s s i n g - p r o t o t y p e s
- W n o - d o c u m e n t a t i o n - u n k n o w n - c o m m a n d
- W n o - u n k n o w n - w a r n i n g - o p t i o n
- W e r r o r = r e t u r n - t y p e
)
string ( APPEND CMAKE_CXX_FLAGS " ${CLANG_WARNINGS}" )
endforeach ( )
@ -229,27 +235,17 @@ if( CMAKE_CXX_COMPILER_ID MATCHES "Clang" )
# mark_thirdparty_code ( <file> [<file>...] )
# t o s w i t c h o f f w a r n i n g s f o r t h o s e s o u r c e s .
set ( SUPPRESS_3RDPARTY_WARNINGS "-Wno-everything" )
set ( SUPPRESS_BOOST_WARNINGS " -Wno-zero-as-null-pointer-constant -Wno-disabled-macro-expansion" )
set ( CMAKE_CXX_FLAGS_DEBUG "-g ${CMAKE_CXX_FLAGS_DEBUG}" )
set ( CMAKE_CXX_FLAGS_MINSIZEREL "-Os -DNDEBUG" )
set ( CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG" )
set ( CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g" )
set ( CMAKE_TOOLCHAIN_PREFIX "llvm-" )
set ( CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined" )
# T h e p a t h p r e f i x i s o n l y r e l e v a n t f o r C M a k e 3 . 1 6 a n d l a t e r , f i x e s # 1 2 8 6
set ( CMAKE_AUTOMOC_PATH_PREFIX OFF )
set ( CALAMARES_AUTOMOC_OPTIONS "-butils/moc-warnings.h" )
set ( CALAMARES_AUTOUIC_OPTIONS --include utils/moc-warnings.h )
else ( )
set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wl,--no-undefined" )
set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wl,--fatal-warnings -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type" )
set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wl,--fatal-warnings -Wnon-virtual-dtor -Woverloaded-virtual" )
set ( SUPPRESS_3RDPARTY_WARNINGS "" )
set ( SUPPRESS_BOOST_WARNINGS "" )
set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DNOTREACHED='__builtin_unreachable();' -DFALLTHRU='/* */'" )
endif ( )