From 7b888092b9f5d249e7baa7bd43ee14f560cd0ae1 Mon Sep 17 00:00:00 2001 From: Benjamin Buch Date: Wed, 21 Feb 2024 19:06:33 +0100 Subject: [PATCH] build: Mark the installed libpng headers as system headers in CMake Modern compilers can disable the warnings that originate from system headers. This change allows them to do so with the libpng headers. Signed-off-by: Cosmin Truta --- CMakeLists.txt | 21 +++++++++------------ scripts/cmake/AUTHORS.md | 1 + 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8ab735d83..fca2bb83f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -714,10 +714,9 @@ if(PNG_SHARED) set_target_properties(png_shared PROPERTIES DEFINE_SYMBOL PNG_BUILD_DLL) endif() target_include_directories(png_shared - PUBLIC - $ - $ - PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}) + PUBLIC $) + target_include_directories(png_shared SYSTEM + INTERFACE $) target_link_libraries(png_shared PUBLIC ZLIB::ZLIB ${M_LIBRARY}) endif() @@ -729,10 +728,9 @@ if(PNG_STATIC) OUTPUT_NAME "${PNG_STATIC_OUTPUT_NAME}" DEBUG_POSTFIX "${PNG_DEBUG_POSTFIX}") target_include_directories(png_static - PUBLIC - $ - $ - PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}) + PUBLIC $) + target_include_directories(png_static SYSTEM + INTERFACE $) target_link_libraries(png_static PUBLIC ZLIB::ZLIB ${M_LIBRARY}) endif() @@ -759,10 +757,9 @@ if(PNG_FRAMEWORK) # Avoid CMake's implicit compile definition "-Dpng_framework_EXPORTS". set_target_properties(png_framework PROPERTIES DEFINE_SYMBOL "") target_include_directories(png_framework - PUBLIC - $ - $ - PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}) + PUBLIC $) + target_include_directories(png_framework SYSTEM + INTERFACE $) target_link_libraries(png_framework PUBLIC ZLIB::ZLIB ${M_LIBRARY}) endif() diff --git a/scripts/cmake/AUTHORS.md b/scripts/cmake/AUTHORS.md index bffdba60c..fe423fe77 100644 --- a/scripts/cmake/AUTHORS.md +++ b/scripts/cmake/AUTHORS.md @@ -7,6 +7,7 @@ Author List * Alex Gaynor * Andreas Franek * B. Scott Michel + * Benjamin Buch * Cameron Cawley * Christian Ehrlicher * Christopher Sean Morrison