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()