diff --git a/CMakeLists.txt b/CMakeLists.txt index 8de594bb..4e6a2364 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -123,7 +123,8 @@ if(MSVC OR NOT PKG_CONFIG_FOUND) # this is most evident on macOS but can occur on Linux too find_package(PNG REQUIRED) else() - pkg_check_modules(LIBPNG REQUIRED libpng) + pkg_check_modules(LIBPNG REQUIRED IMPORTED_TARGET libpng) + add_library(PNG::PNG ALIAS PkgConfig::LIBPNG) endif() include_directories("include") diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 131b4d06..f851bb21 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -108,13 +108,4 @@ install(TARGETS rgbasm rgblink rgbfix rgbgfx RUNTIME) set_target_properties(rgbasm rgblink rgbfix rgbgfx PROPERTIES # hack for MSVC: no-op generator expression to stop generation of "per-configuration subdirectory" RUNTIME_OUTPUT_DIRECTORY $<1:${CMAKE_SOURCE_DIR}>) - -if(LIBPNG_FOUND) # pkg-config - target_include_directories(rgbgfx PRIVATE ${LIBPNG_INCLUDE_DIRS}) - target_link_directories(rgbgfx PRIVATE ${LIBPNG_LIBRARY_DIRS}) - target_link_libraries(rgbgfx PRIVATE ${LIBPNG_LIBRARIES}) -else() - target_compile_definitions(rgbgfx PRIVATE ${PNG_DEFINITIONS}) - target_include_directories(rgbgfx PRIVATE ${PNG_INCLUDE_DIRS}) - target_link_libraries(rgbgfx PRIVATE ${PNG_LIBRARIES}) -endif() +target_link_libraries(rgbgfx PRIVATE PNG::PNG) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 6633128f..3cb70062 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -9,18 +9,8 @@ add_executable(rgbgfx_test gfx/rgbgfx_test.cpp) set_target_properties(randtilegen rgbgfx_test PROPERTIES # hack for MSVC: no-op generator expression to stop generation of "per-configuration subdirectory" RUNTIME_OUTPUT_DIRECTORY $<1:${CMAKE_CURRENT_SOURCE_DIR}/gfx>) - -foreach(TARGET randtilegen rgbgfx_test) - if(LIBPNG_FOUND) # pkg-config - target_include_directories(${TARGET} PRIVATE ${LIBPNG_INCLUDE_DIRS}) - target_link_directories(${TARGET} PRIVATE ${LIBPNG_LIBRARY_DIRS}) - target_link_libraries(${TARGET} PRIVATE ${LIBPNG_LIBRARIES}) - else() - target_compile_definitions(${TARGET} PRIVATE ${PNG_DEFINITIONS}) - target_include_directories(${TARGET} PRIVATE ${PNG_INCLUDE_DIRS}) - target_link_libraries(${TARGET} PRIVATE ${PNG_LIBRARIES}) - endif() -endforeach() +target_link_libraries(randtilegen PRIVATE PNG::PNG) +target_link_libraries(rgbgfx_test PRIVATE PNG::PNG) set(ONLY_FREE) if(NOT TESTS_RUN_NONFREE)