early-access version 2853
This commit is contained in:
54
externals/vcpkg/ports/lcms/CMakeLists.txt
vendored
Executable file
54
externals/vcpkg/ports/lcms/CMakeLists.txt
vendored
Executable file
@@ -0,0 +1,54 @@
|
||||
cmake_minimum_required(VERSION 3.5)
|
||||
|
||||
project(little-cms)
|
||||
|
||||
file(GLOB SRCS src/*.c)
|
||||
|
||||
add_library(lcms2 ${SRCS} src/lcms2.def)
|
||||
|
||||
if(BUILD_SHARED_LIBS)
|
||||
target_compile_options(lcms2 PRIVATE -DCMS_DLL_BUILD)
|
||||
target_compile_options(lcms2 PUBLIC -DCMS_DLL)
|
||||
endif()
|
||||
target_compile_options(lcms2 PRIVATE -DUNICODE -D_UNICODE)
|
||||
|
||||
target_include_directories(lcms2 PUBLIC $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include> $<INSTALL_INTERFACE:include>)
|
||||
set_target_properties(lcms2 PROPERTIES PUBLIC_HEADER "${CMAKE_CURRENT_LIST_DIR}/include/lcms2.h;${CMAKE_CURRENT_LIST_DIR}/include/lcms2_plugin.h")
|
||||
|
||||
# Generate pkg-config file
|
||||
SET(PACKAGE "lcms2")
|
||||
# Read VERSION from file configure
|
||||
file(READ "${CMAKE_CURRENT_LIST_DIR}/configure" lcms2_configure)
|
||||
string(REGEX MATCH "PACKAGE_VERSION='(([0-9]+)\\.([0-9]+))'" _ ${lcms2_configure})
|
||||
set(VERSION "${CMAKE_MATCH_1}")
|
||||
SET(prefix "${CMAKE_INSTALL_PREFIX}")
|
||||
SET(exec_prefix "\${prefix}")
|
||||
SET(libdir "\${exec_prefix}/${CMAKE_INSTALL_LIBDIR}")
|
||||
SET(includedir "\${prefix}/include")
|
||||
CONFIGURE_FILE(lcms2.pc.in "${PROJECT_BINARY_DIR}/lcms2.pc" @ONLY)
|
||||
|
||||
install(TARGETS lcms2
|
||||
EXPORT lcms2Config
|
||||
RUNTIME DESTINATION "bin"
|
||||
LIBRARY DESTINATION "lib"
|
||||
ARCHIVE DESTINATION "lib"
|
||||
PUBLIC_HEADER DESTINATION "include"
|
||||
)
|
||||
|
||||
INSTALL(FILES ${PROJECT_BINARY_DIR}/lcms2.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
|
||||
|
||||
install(EXPORT lcms2Config
|
||||
DESTINATION "share/lcms2"
|
||||
NAMESPACE lcms2::
|
||||
)
|
||||
|
||||
# Backwards compatibility for previous vcpkg users
|
||||
add_library(lcms INTERFACE)
|
||||
target_link_libraries(lcms INTERFACE lcms2)
|
||||
|
||||
|
||||
install(TARGETS lcms EXPORT lcms-targets)
|
||||
install(EXPORT lcms-targets
|
||||
DESTINATION "share/lcms"
|
||||
NAMESPACE lcms::
|
||||
)
|
||||
33
externals/vcpkg/ports/lcms/portfile.cmake
vendored
Executable file
33
externals/vcpkg/ports/lcms/portfile.cmake
vendored
Executable file
@@ -0,0 +1,33 @@
|
||||
if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
|
||||
set(ADDITIONAL_PATCH "shared.patch")
|
||||
endif()
|
||||
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO mm2/Little-CMS
|
||||
REF 924a020d09bfe468c665467caf24aadeb41ff77c # 2.12
|
||||
SHA512 0c2dc069878ca38a92af4800aa3fb2660203fbcdf6dccd9db60cfacb6896185e3e9222893f39ec3e132b0f4900a2932d490dd8db5b1b431519966a64d28404d2
|
||||
HEAD_REF master
|
||||
PATCHES
|
||||
remove_library_directive.patch
|
||||
${ADDITIONAL_PATCH}
|
||||
)
|
||||
|
||||
file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}")
|
||||
|
||||
vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}")
|
||||
vcpkg_cmake_install()
|
||||
|
||||
vcpkg_copy_pdbs()
|
||||
vcpkg_cmake_config_fixup(PACKAGE_NAME lcms2)
|
||||
vcpkg_cmake_config_fixup() # provides old PACKAGE_NAME lcms
|
||||
vcpkg_fixup_pkgconfig()
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
|
||||
file(WRITE "${CURRENT_PACKAGES_DIR}/share/lcms/lcms-config.cmake" [[
|
||||
include(CMakeFindDependencyMacro)
|
||||
find_dependency(lcms2 CONFIG)
|
||||
include(${CMAKE_CURRENT_LIST_DIR}/lcms-targets.cmake)
|
||||
]])
|
||||
|
||||
file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
|
||||
file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
|
||||
8
externals/vcpkg/ports/lcms/remove_library_directive.patch
vendored
Executable file
8
externals/vcpkg/ports/lcms/remove_library_directive.patch
vendored
Executable file
@@ -0,0 +1,8 @@
|
||||
--- a/src/lcms2.def 2016-07-20 09:46:01.000000000 +0200
|
||||
+++ b/src/lcms2.def 2018-06-02 02:11:04.135781600 +0200
|
||||
@@ -1,5 +1,3 @@
|
||||
-LIBRARY LCMS2.DLL
|
||||
-
|
||||
EXPORTS
|
||||
|
||||
_cms15Fixed16toDouble = _cms15Fixed16toDouble
|
||||
10
externals/vcpkg/ports/lcms/shared.patch
vendored
Executable file
10
externals/vcpkg/ports/lcms/shared.patch
vendored
Executable file
@@ -0,0 +1,10 @@
|
||||
--- a/include/lcms2.h Wed Jul 20 08:46:01 2016
|
||||
+++ b/include/lcms2.h Mon Jan 30 15:01:12 2017
|
||||
@@ -212,6 +212,7 @@
|
||||
|
||||
#endif // CMS_USE_BIG_ENDIAN
|
||||
|
||||
+#define CMS_DLL
|
||||
|
||||
// Calling convention -- this is hardly platform and compiler dependent
|
||||
#ifdef CMS_IS_WINDOWS_
|
||||
4
externals/vcpkg/ports/lcms/usage
vendored
Executable file
4
externals/vcpkg/ports/lcms/usage
vendored
Executable file
@@ -0,0 +1,4 @@
|
||||
The package lcms provides CMake targets:
|
||||
|
||||
find_package(lcms2 CONFIG REQUIRED)
|
||||
target_link_libraries(main PRIVATE lcms2::lcms2)
|
||||
17
externals/vcpkg/ports/lcms/vcpkg.json
vendored
Executable file
17
externals/vcpkg/ports/lcms/vcpkg.json
vendored
Executable file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"name": "lcms",
|
||||
"version": "2.12",
|
||||
"port-version": 3,
|
||||
"description": "Little CMS.",
|
||||
"homepage": "https://github.com/mm2/Little-CMS",
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "vcpkg-cmake",
|
||||
"host": true
|
||||
},
|
||||
{
|
||||
"name": "vcpkg-cmake-config",
|
||||
"host": true
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user