diff options
Diffstat (limited to 'vcpkg/ports/tinyexr')
| -rw-r--r-- | vcpkg/ports/tinyexr/fixtargets.patch | 93 | ||||
| -rw-r--r-- | vcpkg/ports/tinyexr/portfile.cmake | 22 | ||||
| -rw-r--r-- | vcpkg/ports/tinyexr/vcpkg.json | 18 |
3 files changed, 133 insertions, 0 deletions
diff --git a/vcpkg/ports/tinyexr/fixtargets.patch b/vcpkg/ports/tinyexr/fixtargets.patch new file mode 100644 index 0000000..7823f51 --- /dev/null +++ b/vcpkg/ports/tinyexr/fixtargets.patch @@ -0,0 +1,93 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b7f97b0..2afd0e0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -7,6 +7,20 @@ set(SAMPLE_TARGET "test_tinyexr") + + project(${BUILD_TARGET} CXX) + ++set(INSTALL_BIN_DIR "bin" CACHE PATH "Path where exe and dll will be installed") ++set(INSTALL_LIB_DIR "lib" CACHE PATH "Path where lib will be installed") ++set(INSTALL_INCLUDE_DIR "include" CACHE PATH "Path where headers will be installed") ++set(INSTALL_CMAKE_DIR "share/tinyexr" CACHE PATH "Path where cmake configs will be installed") ++ ++# Make relative paths absolute (needed later on) ++set(RELATIVE_INSTALL_INCLUDE_DIR ${INSTALL_INCLUDE_DIR}) ++foreach(p LIB BIN INCLUDE CMAKE) ++ set(var INSTALL_${p}_DIR) ++ if(NOT IS_ABSOLUTE "${${var}}") ++ set(${var} "${CMAKE_INSTALL_PREFIX}/${${var}}") ++ endif() ++endforeach() ++ + # options + option(TINYEXR_BUILD_SAMPLE "Build a sample" ON) + option(TINYEXR_USE_MINIZ "Use miniz" ON) +@@ -28,11 +42,8 @@ set(TINYEXR_SOURCES + ) + + if(TINYEXR_USE_MINIZ) +- enable_language(C) +- add_library(miniz STATIC deps/miniz/miniz.c) +- target_include_directories(miniz PUBLIC deps/miniz) +- set_target_properties(miniz PROPERTIES FOLDER "deps") +- list(APPEND TINYEXR_EXT_LIBRARIES miniz) ++ find_package(miniz CONFIG REQUIRED) ++ list(APPEND TINYEXR_EXT_LIBRARIES miniz::miniz) + endif() + + add_library(${BUILD_TARGET} ${TINYEXR_SOURCES} ${TINYEXR_DEP_SOURCES}) +@@ -43,7 +54,7 @@ target_link_libraries(${BUILD_TARGET} ${TINYEXR_EXT_LIBRARIES} ${CMAKE_DL_LIBS}) + + # Increase warning level for clang. + if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND NOT MSVC) +- set(CLANG_COMPILE_FLAGS "-Weverything -Werror -Wno-padded -Wno-c++98-compat-pedantic -Wno-documentation -Wno-unused-member-function") ++ set(CLANG_COMPILE_FLAGS "-Weverything -Wno-padded -Wno-c++98-compat-pedantic -Wno-documentation -Wno-unused-member-function") + if (${CMAKE_CXX_COMPILER_VERSION} VERSION_GREATER 16) + set(CLANG_COMPILE_FLAGS "${CLANG_COMPILE_FLAGS} -Wno-unsafe-buffer-usage") + endif() +@@ -76,3 +87,32 @@ if (TINYEXR_BUILD_SAMPLE) + endif(WIN32) + + endif (TINYEXR_BUILD_SAMPLE) ++ ++target_include_directories(${BUILD_TARGET} PUBLIC $<INSTALL_INTERFACE:${RELATIVE_INSTALL_INCLUDE_DIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>) ++set_target_properties(${BUILD_TARGET} PROPERTIES PUBLIC_HEADER "${PROJECT_SOURCE_DIR}/tinyexr.h") ++ ++install(TARGETS ${BUILD_TARGET} EXPORT ${BUILD_TARGET}Targets ++ RUNTIME DESTINATION "${INSTALL_BIN_DIR}" ++ LIBRARY DESTINATION "${INSTALL_LIB_DIR}" ++ ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" ++ PUBLIC_HEADER DESTINATION "${INSTALL_INCLUDE_DIR}" ++ COMPONENT dev ++) ++ ++install(EXPORT ${BUILD_TARGET}Targets ++ FILE ${BUILD_TARGET}Targets.cmake ++ NAMESPACE unofficial::${BUILD_TARGET}:: ++ DESTINATION "${INSTALL_CMAKE_DIR}" ++) ++ ++include(CMakePackageConfigHelpers) ++configure_package_config_file( ++ ${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in ++ ${CMAKE_CURRENT_BINARY_DIR}/${BUILD_TARGET}Config.cmake ++ INSTALL_DESTINATION "${INSTALL_CMAKE_DIR}" ++) ++ ++install( ++ FILES ${CMAKE_CURRENT_BINARY_DIR}/${BUILD_TARGET}Config.cmake ++ DESTINATION "${INSTALL_CMAKE_DIR}" ++) +diff --git a/Config.cmake.in b/Config.cmake.in +new file mode 100644 +index 0000000..2e33c1d +--- /dev/null ++++ b/Config.cmake.in +@@ -0,0 +1,6 @@ ++@PACKAGE_INIT@ ++ ++include(CMakeFindDependencyMacro) ++find_dependency(miniz CONFIG REQUIRED) ++ ++include("${CMAKE_CURRENT_LIST_DIR}/@BUILD_TARGET@Targets.cmake") diff --git a/vcpkg/ports/tinyexr/portfile.cmake b/vcpkg/ports/tinyexr/portfile.cmake new file mode 100644 index 0000000..fb7437f --- /dev/null +++ b/vcpkg/ports/tinyexr/portfile.cmake @@ -0,0 +1,22 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO syoyo/tinyexr + REF "v${VERSION}" + SHA512 74b9b72f58198ebf09c41f1bea04d24f9c13996411cb55f21ddb7732646ca9ddee7cf1fd538888a26d670fa73e168ad901c2a92fb23c7839a2821a79855a2350 + HEAD_REF master + PATCHES + fixtargets.patch +) + +vcpkg_cmake_configure( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS + -DTINYEXR_BUILD_SAMPLE=OFF +) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +file(INSTALL ${SOURCE_PATH}/README.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/vcpkg/ports/tinyexr/vcpkg.json b/vcpkg/ports/tinyexr/vcpkg.json new file mode 100644 index 0000000..ffad6d3 --- /dev/null +++ b/vcpkg/ports/tinyexr/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "tinyexr", + "version": "1.0.12", + "description": "Library to load and save OpenEXR(.exr) images", + "homepage": "https://github.com/syoyo/tinyexr", + "license": "BSD-3-Clause", + "dependencies": [ + "miniz", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} |