mirror of
https://github.com/cemu-project/vcpkg.git
synced 2025-02-23 11:07:10 +01:00
Merge branch 'traversaro-add-jxrlib'
This commit is contained in:
commit
616ef93124
99
ports/jxrlib/CMakeLists.txt
Normal file
99
ports/jxrlib/CMakeLists.txt
Normal file
@ -0,0 +1,99 @@
|
||||
# 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)
|
||||
|
||||
# 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()
|
||||
|
||||
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 __ANSI__ 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 __ANSI__ 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"
|
||||
)
|
3
ports/jxrlib/CONTROL
Normal file
3
ports/jxrlib/CONTROL
Normal file
@ -0,0 +1,3 @@
|
||||
Source: jxrlib
|
||||
Version: 1.1
|
||||
Description: Open source implementation of the jpegxr image format standard.
|
23
ports/jxrlib/LICENSE
Normal file
23
ports/jxrlib/LICENSE
Normal file
@ -0,0 +1,23 @@
|
||||
Copyright © Microsoft Corp.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
• Redistributions of source code must retain the above copyright notice,
|
||||
this list of conditions and the following disclaimer.
|
||||
• Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGE.
|
28
ports/jxrlib/portfile.cmake
Normal file
28
ports/jxrlib/portfile.cmake
Normal file
@ -0,0 +1,28 @@
|
||||
include(${CMAKE_TRIPLET_FILE})
|
||||
include(vcpkg_common_functions)
|
||||
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src)
|
||||
vcpkg_download_distfile(ARCHIVE
|
||||
URLS "http://download-codeplex.sec.s-msft.com/Download/SourceControlFileDownload.ashx?ProjectName=jxrlib&changeSetId=e922fa50cdf9a58f40cad07553bcaa2883d3c5bf"
|
||||
FILENAME "jxrlib_1_1.zip"
|
||||
SHA512 6e8b579108444e9bea8d01f57e2ac3b63963c084adb8e265cfd82bb1199b8bd168b8aa41319cf34b87e97db1d72d0f3cc2d3dac881fcd1a6f398fe808d55772d
|
||||
)
|
||||
vcpkg_extract_source_archive(${ARCHIVE})
|
||||
|
||||
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
|
||||
|
||||
vcpkg_configure_cmake(
|
||||
SOURCE_PATH ${SOURCE_PATH}
|
||||
OPTIONS -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS:BOOL=ON
|
||||
)
|
||||
|
||||
vcpkg_install_cmake()
|
||||
|
||||
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
|
||||
|
||||
if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
|
||||
vcpkg_copy_pdbs()
|
||||
endif()
|
||||
|
||||
# Handle copyright
|
||||
file(COPY ${CMAKE_CURRENT_LIST_DIR}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/jxrlib)
|
||||
file(RENAME ${CURRENT_PACKAGES_DIR}/share/jxrlib/LICENSE ${CURRENT_PACKAGES_DIR}/share/jxrlib/copyright)
|
Loading…
x
Reference in New Issue
Block a user