aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/lodepng
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/lodepng
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/lodepng')
-rw-r--r--vcpkg/ports/lodepng/CMakeLists.txt30
-rw-r--r--vcpkg/ports/lodepng/portfile.cmake31
-rw-r--r--vcpkg/ports/lodepng/usage9
-rw-r--r--vcpkg/ports/lodepng/vcpkg.json17
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
+ }
+ ]
+}