-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcompiler_flags.cmake
More file actions
28 lines (24 loc) · 1 KB
/
Copy pathcompiler_flags.cmake
File metadata and controls
28 lines (24 loc) · 1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
set(COMPILER_FLAG_WARNINGS "/W3")
set(COMPILER_FLAG_TREAT_WARNING_AS_ERROR "/WX")
set(COMPILER_FLAG_MULTIPLE_PROCESSES "/MP")
endif()
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
set(COMPILER_FLAG_WARNINGS "-Wall" "-Wextra" "-Wformat=2")
set(COMPILER_FLAG_TREAT_WARNING_AS_ERROR "-Werror")
set(COMPILER_FLAG_PEDANTIC "-Wpedantic")
set(COMPILER_FLAG_OLD_STYLE_CAST "-Wold-style-cast")
endif()
set(COMPILER_FLAGS ${COMPILER_FLAG_WARNINGS}
${COMPILER_FLAG_TREAT_WARNING_AS_ERROR}
${COMPILER_FLAG_MULTIPLE_PROCESSES}
${COMPILER_FLAG_PEDANTIC}
${COMPILER_FLAG_OLD_STYLE_CAST})
add_compile_options(${COMPILER_FLAGS})
## workaround for Visual Studio build with Clang
if (WIN32 AND "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
add_compile_options("-Wno-unused-command-line-argument")
endif()