early-access version 2853
This commit is contained in:
107
externals/vcpkg/ports/jxrlib/CMakeLists.txt
vendored
Executable file
107
externals/vcpkg/ports/jxrlib/CMakeLists.txt
vendored
Executable 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
28
externals/vcpkg/ports/jxrlib/FindJXR.cmake
vendored
Executable 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
35
externals/vcpkg/ports/jxrlib/portfile.cmake
vendored
Executable 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
5
externals/vcpkg/ports/jxrlib/usage
vendored
Executable 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})
|
||||
6
externals/vcpkg/ports/jxrlib/vcpkg-cmake-wrapper.cmake
vendored
Executable file
6
externals/vcpkg/ports/jxrlib/vcpkg-cmake-wrapper.cmake
vendored
Executable 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
7
externals/vcpkg/ports/jxrlib/vcpkg.json
vendored
Executable 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"
|
||||
}
|
||||
Reference in New Issue
Block a user