26 lines
762 B
CMake
26 lines
762 B
CMake
function(course_apply_warnings target_name)
|
|
if(MSVC)
|
|
target_compile_options(${target_name} PRIVATE /W4 /permissive-)
|
|
if(COURSE_WARNINGS_AS_ERRORS)
|
|
target_compile_options(${target_name} PRIVATE /WX)
|
|
endif()
|
|
else()
|
|
target_compile_options(
|
|
${target_name}
|
|
PRIVATE
|
|
-Wall
|
|
-Wextra
|
|
-Wpedantic
|
|
-Wconversion
|
|
-Wshadow
|
|
)
|
|
if(COURSE_WARNINGS_AS_ERRORS)
|
|
target_compile_options(${target_name} PRIVATE -Werror)
|
|
endif()
|
|
endif()
|
|
endfunction()
|
|
|
|
function(course_set_cxx_standard target_name standard)
|
|
target_compile_features(${target_name} PRIVATE cxx_std_${standard})
|
|
endfunction()
|