From 832ee75cdba59fa0aada2e34b62bdaf7ebc83c94 Mon Sep 17 00:00:00 2001 From: Thomas Feuvrier <thomas.feuvrier@c-s.fr> Date: Wed, 12 Aug 2009 11:50:49 +0200 Subject: [PATCH] ENH: Add developpers cmake options (OTB_COMPILE_WITH_FULL_WARNING) activate full warning --- CMakeLists.txt | 11 +++++++++++ Code/CMakeLists.txt | 7 +++++++ Testing/CMakeLists.txt | 7 +++++++ 3 files changed, 25 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5d6fb4bf31..a722ff6ae1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -752,6 +752,17 @@ MARK_AS_ADVANCED(OTB_SHOW_ALL_MSG_DEBUG) # ADD_DEFINITIONS(-DOTB_SHOW_ALL_MSG_DEBUG) # ENDIF( OTB_SHOW_ALL_MSG_DEBUG ) +OPTION(OTB_COMPILE_WITH_FULL_WARNING "OTB developers : Compilation with FULL warning (use only for otb developers)." OFF) +MARK_AS_ADVANCED(OTB_COMPILE_WITH_FULL_WARNING) +IF(OTB_COMPILE_WITH_FULL_WARNING) + IF(CMAKE_COMPILER_IS_GNUCXX) + SET(OTB_FULL_WARNING_LIST_PARAMETERS "-Wall -Wunused -Wunused-function -Wunused-label -Wunused-parameter -Wunused-value -Wunused-variable -pedantic -Wuninitialized -Wparentheses -Wsign-compare -Wunknown-pragmas -Wswitch -Wdiv-by-zero" CACHE STRING "List of compilation parameters.") + MARK_AS_ADVANCED(OTB_FULL_WARNING_LIST_PARAMETERS) + ENDIF(CMAKE_COMPILER_IS_GNUCXX) + +ENDIF(OTB_COMPILE_WITH_FULL_WARNING) + + #----------------------------------------------------------------------------- # Advanced option to avoid recompiling utilities at each cmake reconfiguration OPTION(OTB_DISABLE_UTILITIES_COMPILATION "Disable utilities compilation (developpers only - use at you own risk)" OFF) diff --git a/Code/CMakeLists.txt b/Code/CMakeLists.txt index e275b98a42..a6a579d3d1 100644 --- a/Code/CMakeLists.txt +++ b/Code/CMakeLists.txt @@ -22,3 +22,10 @@ ENDIF(OTB_USE_VISU_GUI) IF(OTB_USE_PQXX) SUBDIRS(GeospatialAnalysis) ENDIF(OTB_USE_PQXX) + +IF(OTB_COMPILE_WITH_FULL_WARNING) + IF(CMAKE_COMPILER_IS_GNUCXX) + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OTB_FULL_WARNING_LIST_PARAMETERS}") + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OTB_FULL_WARNING_LIST_PARAMETERS}") + ENDIF(CMAKE_COMPILER_IS_GNUCXX) +ENDIF(OTB_COMPILE_WITH_FULL_WARNING) diff --git a/Testing/CMakeLists.txt b/Testing/CMakeLists.txt index d15fcb28bc..b48f942f40 100644 --- a/Testing/CMakeLists.txt +++ b/Testing/CMakeLists.txt @@ -40,3 +40,10 @@ ELSE(OTB_BINARY_DIR) MESSAGE("OTB not found. Please set OTB_DIR") ENDIF(OTB_FOUND) ENDIF(OTB_BINARY_DIR) + +IF(OTB_COMPILE_WITH_FULL_WARNING) + IF(CMAKE_COMPILER_IS_GNUCXX) + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OTB_FULL_WARNING_LIST_PARAMETERS}") + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OTB_FULL_WARNING_LIST_PARAMETERS}") + ENDIF(CMAKE_COMPILER_IS_GNUCXX) +ENDIF(OTB_COMPILE_WITH_FULL_WARNING) -- GitLab