early-access version 2853

This commit is contained in:
pineappleEA
2022-07-23 03:01:36 +02:00
parent 1f2b5081b5
commit 1f111bb69c
8955 changed files with 418777 additions and 999 deletions

107
externals/vcpkg/ports/jxrlib/CMakeLists.txt vendored Executable file
View File

@@ -0,0 +1,107 @@
# Copyright Mathieu Malaterre <malat@debian.org>
# BSD (Same as jxrlib)
# Based on https://jxrlib.codeplex.com/discussions/440294
# and modified for vcpkg packaging
cmake_minimum_required(VERSION 2.8)
project(jxrlib C)
# Need shared libs for ABI
option(BUILD_SHARED_LIBS "Build shared libraries" ON)
# Add a debug postfix
set(CMAKE_DEBUG_POSTFIX "d")
# helper macro to preserve original Makefile convention
macro(JXR_MAKE_OBJ SET_NAME)
foreach(src ${SRC_${SET_NAME}})
list(APPEND OBJ_${SET_NAME} ${DIR_${SET_NAME}}/${src})
endforeach()
endmacro()
if(NOT MSVC)
add_definitions(-D__ANSI__)
add_compile_options(-Wno-error=implicit-function-declaration)
endif()
include(TestBigEndian)
test_big_endian(ISBIGENDIAN)
if(ISBIGENDIAN)
set(DEF_ENDIAN _BIG__ENDIAN_)
endif()
set(DIR_SYS image/sys)
set(DIR_DEC image/decode)
set(DIR_ENC image/encode)
set(DIR_GLUE jxrgluelib)
set(DIR_TEST jxrtestlib)
set(DIR_EXEC jxrencoderdecoder)
if(NOT JXRLIB_INSTALL_BIN_DIR)
set(JXRLIB_INSTALL_BIN_DIR "bin")
endif()
if(NOT JXRLIB_INSTALL_LIB_DIR)
set(JXRLIB_INSTALL_LIB_DIR "lib")
endif()
if(NOT JXRLIB_INSTALL_INCLUDE_DIR)
set(JXRLIB_INSTALL_INCLUDE_DIR "include/jxrlib")
endif()
include_directories(
common/include
${DIR_SYS}
${DIR_GLUE}
${DIR_TEST}
)
# JPEG-XR
set(SRC_SYS adapthuff.c image.c strcodec.c strPredQuant.c strTransform.c perfTimerANSI.c)
JXR_MAKE_OBJ(SYS)
set(SRC_DEC decode.c postprocess.c segdec.c strdec.c strInvTransform.c strPredQuantDec.c JXRTranscode.c)
JXR_MAKE_OBJ(DEC)
set(SRC_ENC encode.c segenc.c strenc.c strFwdTransform.c strPredQuantEnc.c)
JXR_MAKE_OBJ(ENC)
add_library(jpegxr ${OBJ_ENC} ${OBJ_DEC} ${OBJ_SYS})
set_property(TARGET jpegxr
PROPERTY COMPILE_DEFINITIONS DISABLE_PERF_MEASUREMENT ${DEF_ENDIAN}
)
set_property(TARGET jpegxr PROPERTY LINK_INTERFACE_LIBRARIES "")
install(TARGETS jpegxr
EXPORT JXRLibTargets
RUNTIME DESTINATION ${JXRLIB_INSTALL_BIN_DIR}
LIBRARY DESTINATION ${JXRLIB_INSTALL_LIB_DIR}
ARCHIVE DESTINATION ${JXRLIB_INSTALL_LIB_DIR}
)
# JXR-GLUE
set(SRC_GLUE JXRGlue.c JXRMeta.c JXRGluePFC.c JXRGlueJxr.c)
JXR_MAKE_OBJ(GLUE)
set(SRC_TEST JXRTest.c JXRTestBmp.c JXRTestHdr.c JXRTestPnm.c JXRTestTif.c JXRTestYUV.c)
JXR_MAKE_OBJ(TEST)
add_library(jxrglue ${OBJ_GLUE} ${OBJ_TEST})
set_property(TARGET jxrglue
PROPERTY COMPILE_DEFINITIONS DISABLE_PERF_MEASUREMENT ${DEF_ENDIAN}
)
set_property(TARGET jxrglue PROPERTY LINK_INTERFACE_LIBRARIES "")
install(TARGETS jxrglue
EXPORT JXRLibTargets
RUNTIME DESTINATION ${JXRLIB_INSTALL_BIN_DIR}
LIBRARY DESTINATION ${JXRLIB_INSTALL_LIB_DIR}
ARCHIVE DESTINATION ${JXRLIB_INSTALL_LIB_DIR}
)
target_link_libraries(jxrglue jpegxr)
# install rules
install(FILES jxrgluelib/JXRGlue.h jxrgluelib/JXRMeta.h jxrtestlib/JXRTest.h
image/sys/windowsmediaphoto.h
DESTINATION ${JXRLIB_INSTALL_INCLUDE_DIR} COMPONENT Headers
)
install(DIRECTORY common/include/ DESTINATION ${JXRLIB_INSTALL_INCLUDE_DIR}
FILES_MATCHING PATTERN "*.h"
)

28
externals/vcpkg/ports/jxrlib/FindJXR.cmake vendored Executable file
View File

@@ -0,0 +1,28 @@
# - Find JXR
# Find the JXR library
# This module defines
# JXR_INCLUDE_DIRS, where to find jxrlib/JXRGlue.h
# JXR_LIBRARIES, the libraries needed to use JXR
#
find_path(JXR_INCLUDE_DIRS
NAMES JXRGlue.h
PATH_SUFFIXES jxrlib
)
mark_as_advanced(JXR_INCLUDE_DIRS)
include(SelectLibraryConfigurations)
find_library(JPEGXR_LIBRARY_RELEASE NAMES jpegxr PATH_SUFFIXES lib)
find_library(JPEGXR_LIBRARY_DEBUG NAMES jpegxrd PATH_SUFFIXES lib)
select_library_configurations(JPEGXR)
find_library(JXRGLUE_LIBRARY_RELEASE NAMES jxrglue PATH_SUFFIXES lib)
find_library(JXRGLUE_LIBRARY_DEBUG NAMES jxrglued PATH_SUFFIXES lib)
select_library_configurations(JXRGLUE)
set(JXR_LIBRARIES ${JXRGLUE_LIBRARY} ${JPEGXR_LIBRARY})
mark_as_advanced(JXR_LIBRARIES)
include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(JXR DEFAULT_MSG JXR_INCLUDE_DIRS JXR_LIBRARIES)

35
externals/vcpkg/ports/jxrlib/portfile.cmake vendored Executable file
View File

@@ -0,0 +1,35 @@
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO 4creators/jxrlib
REF f7521879862b9085318e814c6157490dd9dbbdb4
SHA512 f5617cbe73b6b905cc6bba181e6a3efedd59584f7a8c90e0f34db580cfdad4239a2ab753df4e221f26a5c0db51475b021052e3b9e3ab3673573573b1d57f3fdb
HEAD_REF master
)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
if(NOT VCPKG_CMAKE_SYSTEM_NAME MATCHES Darwin AND NOT VCPKG_CMAKE_SYSTEM_NAME MATCHES Linux)
# The file guiddef.h is part of the Windows SDK,
# we then remove the local copy shipped with jxrlib
file(REMOVE ${SOURCE_PATH}/common/include/guiddef.h)
endif()
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
)
vcpkg_install_cmake()
vcpkg_copy_pdbs()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
#install FindJXR.cmake file
file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/FindJXR.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/jxr)
file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/jxr)
file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/jxr)
# Handle copyright
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)

5
externals/vcpkg/ports/jxrlib/usage vendored Executable file
View File

@@ -0,0 +1,5 @@
The package jxrlib provides CMake integration:
find_package(JXR REQUIRED)
target_include_directories(main PRIVATE ${JXR_INCLUDE_DIRS})
target_link_libraries(main PRIVATE ${JXR_LIBRARIES})

View File

@@ -0,0 +1,6 @@
set(JXR_PREV_MODULE_PATH ${CMAKE_MODULE_PATH})
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR})
_find_package(${ARGS})
set(CMAKE_MODULE_PATH ${JXR_PREV_MODULE_PATH})

7
externals/vcpkg/ports/jxrlib/vcpkg.json vendored Executable file
View File

@@ -0,0 +1,7 @@
{
"name": "jxrlib",
"version": "2019.10.9",
"port-version": 3,
"description": "Open source implementation of the jpegxr image format standard.",
"homepage": "https://github.com/4creators/jxrlib"
}