Commit 2d8e17c4f88efce80e274cb03eeb902e055a91d3

Authored by Dan Ibanez
Committed by GitHub
1 parent 66b52e6c

Add CMake option to not add warning flags (#267)

Allow extra compiler warnings to be disabled.
Showing 1 changed file with 3 additions and 0 deletions
CMakeLists.txt
@@ -37,6 +37,7 @@ enable_testing() @@ -37,6 +37,7 @@ enable_testing()
37 option(CXXOPTS_BUILD_EXAMPLES "Set to ON to build examples" ON) 37 option(CXXOPTS_BUILD_EXAMPLES "Set to ON to build examples" ON)
38 option(CXXOPTS_BUILD_TESTS "Set to ON to build tests" ON) 38 option(CXXOPTS_BUILD_TESTS "Set to ON to build tests" ON)
39 option(CXXOPTS_ENABLE_INSTALL "Generate the install target" ON) 39 option(CXXOPTS_ENABLE_INSTALL "Generate the install target" ON)
  40 +option(CXXOPTS_ENABLE_WARNINGS "Add warnings to CMAKE_CXX_FLAGS" ON)
40 41
41 # request c++11 without gnu extension for the whole project and enable more warnings 42 # request c++11 without gnu extension for the whole project and enable more warnings
42 if (CXXOPTS_CXX_STANDARD) 43 if (CXXOPTS_CXX_STANDARD)
@@ -47,11 +48,13 @@ endif() @@ -47,11 +48,13 @@ endif()
47 48
48 set(CMAKE_CXX_EXTENSIONS OFF) 49 set(CMAKE_CXX_EXTENSIONS OFF)
49 50
  51 +if (CXXOPTS_ENABLE_WARNINGS)
50 if(MSVC) 52 if(MSVC)
51 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W2") 53 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W2")
52 elseif(CMAKE_CXX_COMPILER_ID MATCHES "[Cc]lang" OR CMAKE_CXX_COMPILER_ID MATCHES "GNU") 54 elseif(CMAKE_CXX_COMPILER_ID MATCHES "[Cc]lang" OR CMAKE_CXX_COMPILER_ID MATCHES "GNU")
53 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror -Wextra -Wshadow -Weffc++ -Wsign-compare -Wshadow -Wwrite-strings -Wpointer-arith -Winit-self -Wconversion -Wno-sign-conversion -Wsuggest-override") 55 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror -Wextra -Wshadow -Weffc++ -Wsign-compare -Wshadow -Wwrite-strings -Wpointer-arith -Winit-self -Wconversion -Wno-sign-conversion -Wsuggest-override")
54 endif() 56 endif()
  57 +endif()
55 58
56 add_library(cxxopts INTERFACE) 59 add_library(cxxopts INTERFACE)
57 add_library(cxxopts::cxxopts ALIAS cxxopts) 60 add_library(cxxopts::cxxopts ALIAS cxxopts)