PointCloudLibrary/pcl

Reduce warnings during compilation with all (usual) warnings switched on

Open

#2746 aperta il 27 dic 2018

Vedi su GitHub
 (9 commenti) (1 reazione) (0 assegnatari)C++ (4506 fork)batch import
effort: mediumgood first issuekind: todomodule: cmakeplatform: linuxplatform: windows

Metriche repository

Star
 (9023 star)
Metriche merge PR
 (Merge medio 8g 7h) (3 PR mergiate in 30 g)

Descrizione

To increase code quality of new PR, we should treat warnings as errors (as already mentioned here #2733).

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Werror")

In case we have not solved all compiler warnings, before introducing this change, we have to whitelist this warning types (global or per target).

Because with new compilers sometimes new compiler warnings will be introduced, we should care about this:

  • Option 1: Instead of -Werror explicitly list all warning types which should treat as error (this list could be really long), so new warnings will be not treated as error
  • Option 2: Add an option to enable/disable this change.
if(CMAKE_COMPILER_IS_CLANG OR CMAKE_COMPILER_IS_GCC)
  option(PCL_Treat_warnings_as_errors TRUE) # TRUE or FALSE as default?
  if(PCL_Treat_warnings_as_errors )
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Werror")
  endif()
endif()

Before we can introduce this, we need to resolve #2732 & #2745, so 3rd-party code cannot raise warnings.

Guida contributor