Commit 2d8e17c4f88efce80e274cb03eeb902e055a91d3
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) |