Set compiler warnings on a per-target, not per-file basis

No 1st party SFML targets contain 3rd party source code so it's
safe and correct to apply warnings to the entire target.
This commit is contained in:
Chris Thrasher 2022-04-04 12:07:55 -06:00 committed by Lukas Dürrenberger
parent f320fc0db4
commit 8a4563361f
2 changed files with 5 additions and 7 deletions

View File

@ -2,8 +2,8 @@
# #
# https://github.com/lefticus/cppbestpractices/blob/master/02-Use_the_Tools_Available.md # https://github.com/lefticus/cppbestpractices/blob/master/02-Use_the_Tools_Available.md
# Helper function to enable compiler warnings for a specific set of files # Helper function to enable compiler warnings for a specific target
function(set_file_warnings) function(set_target_warnings target)
option(WARNINGS_AS_ERRORS "Treat compiler warnings as errors" TRUE) option(WARNINGS_AS_ERRORS "Treat compiler warnings as errors" TRUE)
set(MSVC_WARNINGS set(MSVC_WARNINGS
@ -106,7 +106,5 @@ function(set_file_warnings)
message(AUTHOR_WARNING "No compiler warnings set for '${CMAKE_CXX_COMPILER_ID}' compiler.") message(AUTHOR_WARNING "No compiler warnings set for '${CMAKE_CXX_COMPILER_ID}' compiler.")
endif() endif()
foreach(WARNING ${FILE_WARNINGS}) target_compile_options(${target} PRIVATE ${FILE_WARNINGS})
set_property(SOURCE ${ARGV} APPEND_STRING PROPERTY COMPILE_FLAGS " ${WARNING}")
endforeach()
endfunction() endfunction()

View File

@ -84,7 +84,7 @@ macro(sfml_add_library module)
endif() endif()
endif() endif()
set_file_warnings(${THIS_SOURCES}) set_target_warnings(${target})
# define the export symbol of the module # define the export symbol of the module
string(REPLACE "-" "_" NAME_UPPER "${target}") string(REPLACE "-" "_" NAME_UPPER "${target}")
@ -286,7 +286,7 @@ macro(sfml_add_example target)
add_executable(${target} ${target_input}) add_executable(${target} ${target_input})
endif() endif()
set_file_warnings(${target_input}) set_target_warnings(${target})
# set the debug suffix # set the debug suffix
set_target_properties(${target} PROPERTIES DEBUG_POSTFIX -d) set_target_properties(${target} PROPERTIES DEBUG_POSTFIX -d)