VirtualBox

Ignore:
Timestamp:
Feb 12, 2024 3:57:56 PM (12 months ago)
Author:
vboxsync
Message:

libpng-1.6.42: Applied and adjusted our libpng changes to 1.6.42. bugref:8515

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/libs/libpng-1.6.42/contrib/pngminus/CMakeLists.txt

    r96425 r103316  
    1 cmake_minimum_required(VERSION 3.1)
    2 cmake_policy(VERSION 3.1)
     1# Copyright (c) 2018-2024 Cosmin Truta
     2#
     3# This software is released under the MIT license. For conditions of
     4# distribution and use, see the LICENSE file part of this package.
     5
     6cmake_minimum_required(VERSION 3.5)
    37
    48project(PNGMINUS C)
    59
    6 option(PNGMINUS_USE_STATIC_LIBRARIES "Use the static library builds" ON)
     10option(PNGMINUS_USE_SYSTEM_PNG
     11       "Use the libpng build found in the system" OFF)
    712
    8 # libpng
    9 add_subdirectory(../.. libpng)
    10 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../..)
    11 include_directories(${CMAKE_CURRENT_BINARY_DIR}/libpng)
    12 if(PNGMINUS_USE_STATIC_LIBRARIES)
    13   set(PNGMINUS_PNG_LIBRARY png_static)
     13add_executable(png2pnm png2pnm.c)
     14add_executable(pnm2png pnm2png.c)
     15
     16if(PNGMINUS_USE_SYSTEM_PNG)
     17    # Use the system libpng.
     18    find_package(PNG REQUIRED)
     19    target_link_libraries(png2pnm PRIVATE PNG::PNG)
     20    target_link_libraries(pnm2png PRIVATE PNG::PNG)
    1421else()
    15   set(PNGMINUS_PNG_LIBRARY png)
     22    # Build and use the internal libpng.
     23    # Configure libpng for static linking, to produce single-file executables.
     24    set(PNG_STATIC ON
     25        CACHE STRING "Build the internal libpng as a static library" FORCE)
     26    set(PNG_SHARED OFF
     27        CACHE STRING "Build the internal libpng as a shared library" FORCE)
     28    set(PNG_FRAMEWORK OFF
     29        CACHE STRING "Build the internal libpng as a framework bundle" FORCE)
     30    add_subdirectory(../.. libpng)
     31    target_include_directories(png2pnm PRIVATE
     32        "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../..>"
     33        "$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/libpng>"
     34    )
     35    target_include_directories(pnm2png PRIVATE
     36        "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../..>"
     37        "$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/libpng>"
     38    )
     39    target_link_libraries(png2pnm PRIVATE png_static)
     40    target_link_libraries(pnm2png PRIVATE png_static)
    1641endif()
    17 
    18 # png2pnm
    19 add_executable(png2pnm png2pnm.c)
    20 target_link_libraries(png2pnm ${PNGMINUS_PNG_LIBRARY})
    21 
    22 # pnm2png
    23 add_executable(pnm2png pnm2png.c)
    24 target_link_libraries(pnm2png ${PNGMINUS_PNG_LIBRARY})
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette