diff options
Diffstat (limited to 'vcpkg/ports/lodepng')
| -rw-r--r-- | vcpkg/ports/lodepng/CMakeLists.txt | 30 | ||||
| -rw-r--r-- | vcpkg/ports/lodepng/portfile.cmake | 31 | ||||
| -rw-r--r-- | vcpkg/ports/lodepng/usage | 9 | ||||
| -rw-r--r-- | vcpkg/ports/lodepng/vcpkg.json | 17 |
4 files changed, 87 insertions, 0 deletions
diff --git a/vcpkg/ports/lodepng/CMakeLists.txt b/vcpkg/ports/lodepng/CMakeLists.txt new file mode 100644 index 0000000..6c80b12 --- /dev/null +++ b/vcpkg/ports/lodepng/CMakeLists.txt @@ -0,0 +1,30 @@ +cmake_minimum_required(VERSION 3.8.0) +project(lodepng) + +add_library(lodepng lodepng.cpp) +target_include_directories(lodepng PUBLIC + $<INSTALL_INTERFACE:include> +) + +file(WRITE "${CMAKE_BINARY_DIR}/lodepng-config.cmake" "include(\"\${CMAKE_CURRENT_LIST_DIR}/lodepng-targets.cmake\")") +install(FILES "${CMAKE_BINARY_DIR}/lodepng-config.cmake" DESTINATION "share/lodepng/") + +install(TARGETS lodepng EXPORT lodepng-targets) + +install(EXPORT lodepng-targets DESTINATION share/lodepng/) + +add_library(lodepng-c lodepng.c) +target_include_directories(lodepng-c PUBLIC + $<INSTALL_INTERFACE:include> +) + +file(WRITE "${CMAKE_BINARY_DIR}/lodepng-c-config.cmake" "include(\"\${CMAKE_CURRENT_LIST_DIR}/lodepng-c-targets.cmake\")") +install(FILES "${CMAKE_BINARY_DIR}/lodepng-c-config.cmake" DESTINATION "share/lodepng-c/") + +install(TARGETS lodepng-c EXPORT lodepng-c-targets) + +install(EXPORT lodepng-c-targets DESTINATION share/lodepng-c/) + +if(NOT DISABLE_INSTALL_HEADERS) + install(FILES lodepng.h DESTINATION include) +endif() diff --git a/vcpkg/ports/lodepng/portfile.cmake b/vcpkg/ports/lodepng/portfile.cmake new file mode 100644 index 0000000..6a3e0e9 --- /dev/null +++ b/vcpkg/ports/lodepng/portfile.cmake @@ -0,0 +1,31 @@ +if (EXISTS ${CURRENT_INSTALLED_DIR}/share/lodepng-c/copyright) + message(FATAL_ERROR "${PORT} conflict with lodepng-c, please remove lodepng-c before install ${PORT}.") +endif() + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO lvandeve/lodepng + REF 8c6a9e30576f07bf470ad6f09458a2dcd7a6a84a + SHA512 2e0abc063be45dc04a070656260e9a2b9fa1172433cdd7d4988f0afc11751ad28aa802350598ef0e2b27c2c011fd9d9f7ab7f267b0bfcdf28f9f708b888c4411 + HEAD_REF master +) + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +configure_file("${SOURCE_PATH}/lodepng.cpp" "${SOURCE_PATH}/lodepng.c" COPYONLY) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS_DEBUG + -DDISABLE_INSTALL_HEADERS=ON +) + +vcpkg_cmake_install() +vcpkg_copy_pdbs() + +vcpkg_cmake_config_fixup() +vcpkg_cmake_config_fixup(PACKAGE_NAME lodepng-c) + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/vcpkg/ports/lodepng/usage b/vcpkg/ports/lodepng/usage new file mode 100644 index 0000000..6eeeb73 --- /dev/null +++ b/vcpkg/ports/lodepng/usage @@ -0,0 +1,9 @@ +The package lodepng provides CMake targets: + + # C API + find_package(lodepng-c CONFIG REQUIRED) + target_link_libraries(main PRIVATE lodepng-c) + + # C++ API + find_package(lodepng CONFIG REQUIRED) + target_link_libraries(main PRIVATE lodepng) diff --git a/vcpkg/ports/lodepng/vcpkg.json b/vcpkg/ports/lodepng/vcpkg.json new file mode 100644 index 0000000..651f85f --- /dev/null +++ b/vcpkg/ports/lodepng/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "lodepng", + "version-date": "2021-12-04", + "port-version": 1, + "description": "PNG encoder and decoder in C++", + "homepage": "https://github.com/lvandeve/lodepng", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} |