aboutsummaryrefslogtreecommitdiff
path: root/ports/lcms
diff options
context:
space:
mode:
authorStefano Sinigardi <stesinigardi@hotmail.com>2019-10-07 19:35:13 +0200
committerCurtis J Bezault <curtbezault@gmail.com>2019-10-07 10:35:13 -0700
commit726c11148105a97aef39bec024fdb7c140b1b154 (patch)
tree26bd2aee0c13a8351b259cc4ffffaf0efededb4e /ports/lcms
parente86ff2cc54bda9e9ee322ab69141e7113d5c40a9 (diff)
downloadvcpkg-726c11148105a97aef39bec024fdb7c140b1b154.tar.gz
vcpkg-726c11148105a97aef39bec024fdb7c140b1b154.zip
[vcpkg] fatal_error when patch fails to apply (#8087)
vcpkg will now fail on failure to apply patches except when using `--head`.
Diffstat (limited to 'ports/lcms')
-rw-r--r--ports/lcms/CMakeLists.txt103
-rw-r--r--ports/lcms/CONTROL2
-rw-r--r--ports/lcms/portfile.cmake28
-rw-r--r--ports/lcms/shared.patch4
4 files changed, 68 insertions, 69 deletions
diff --git a/ports/lcms/CMakeLists.txt b/ports/lcms/CMakeLists.txt
index 10ccc0b02..07e62995f 100644
--- a/ports/lcms/CMakeLists.txt
+++ b/ports/lcms/CMakeLists.txt
@@ -1,66 +1,67 @@
cmake_minimum_required(VERSION 3.5)
-project(lcms)
+option(CMAKE_VERBOSE_MAKEFILE "Create verbose makefile" OFF)
+option(BUILD_SHARED_LIBS "Create lcms as a shared library" ON)
-set(SRCS
-"src/cmstypes.c"
-"src/cmsvirt.c"
-"src/cmswtpnt.c"
-"src/cmsxform.c"
-"src/lcms2.def"
-"src/lcms2_internal.h"
-"src/cmsalpha.c"
-"src/cmscam02.c"
-"src/cmscgats.c"
-"src/cmscnvrt.c"
-"src/cmserr.c"
-"src/cmsgamma.c"
-"src/cmsgmt.c"
-"src/cmshalf.c"
-"src/cmsintrp.c"
-"src/cmsio0.c"
-"src/cmsio1.c"
-"src/cmslut.c"
-"src/cmsmd5.c"
-"src/cmsmtrx.c"
-"src/cmsnamed.c"
-"src/cmsopt.c"
-"src/cmspack.c"
-"src/cmspcs.c"
-"src/cmsplugin.c"
-"src/cmsps2.c"
-"src/cmssamp.c"
-"src/cmssm.c"
-)
+project(little-cms)
set(CMAKE_DEBUG_POSTFIX d)
-add_definitions(-DUNICODE -D_UNICODE)
+add_library(lcms
+ "${CMAKE_CURRENT_LIST_DIR}/src/cmstypes.c"
+ "${CMAKE_CURRENT_LIST_DIR}/src/cmsvirt.c"
+ "${CMAKE_CURRENT_LIST_DIR}/src/cmswtpnt.c"
+ "${CMAKE_CURRENT_LIST_DIR}/src/cmsxform.c"
+ "${CMAKE_CURRENT_LIST_DIR}/src/lcms2.def"
+ "${CMAKE_CURRENT_LIST_DIR}/src/lcms2_internal.h"
+ "${CMAKE_CURRENT_LIST_DIR}/src/cmsalpha.c"
+ "${CMAKE_CURRENT_LIST_DIR}/src/cmscam02.c"
+ "${CMAKE_CURRENT_LIST_DIR}/src/cmscgats.c"
+ "${CMAKE_CURRENT_LIST_DIR}/src/cmscnvrt.c"
+ "${CMAKE_CURRENT_LIST_DIR}/src/cmserr.c"
+ "${CMAKE_CURRENT_LIST_DIR}/src/cmsgamma.c"
+ "${CMAKE_CURRENT_LIST_DIR}/src/cmsgmt.c"
+ "${CMAKE_CURRENT_LIST_DIR}/src/cmshalf.c"
+ "${CMAKE_CURRENT_LIST_DIR}/src/cmsintrp.c"
+ "${CMAKE_CURRENT_LIST_DIR}/src/cmsio0.c"
+ "${CMAKE_CURRENT_LIST_DIR}/src/cmsio1.c"
+ "${CMAKE_CURRENT_LIST_DIR}/src/cmslut.c"
+ "${CMAKE_CURRENT_LIST_DIR}/src/cmsmd5.c"
+ "${CMAKE_CURRENT_LIST_DIR}/src/cmsmtrx.c"
+ "${CMAKE_CURRENT_LIST_DIR}/src/cmsnamed.c"
+ "${CMAKE_CURRENT_LIST_DIR}/src/cmsopt.c"
+ "${CMAKE_CURRENT_LIST_DIR}/src/cmspack.c"
+ "${CMAKE_CURRENT_LIST_DIR}/src/cmspcs.c"
+ "${CMAKE_CURRENT_LIST_DIR}/src/cmsplugin.c"
+ "${CMAKE_CURRENT_LIST_DIR}/src/cmsps2.c"
+ "${CMAKE_CURRENT_LIST_DIR}/src/cmssamp.c"
+ "${CMAKE_CURRENT_LIST_DIR}/src/cmssm.c"
+)
if(BUILD_SHARED_LIBS)
- add_definitions(-DCMS_DLL_BUILD)
+ target_compile_options(lcms PRIVATE -DCMS_DLL_BUILD)
+ target_compile_options(lcms PUBLIC -DCMS_DLL)
endif()
+target_compile_options(lcms PRIVATE -DUNICODE -D_UNICODE)
-string(REPLACE "/utf-8" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
+target_include_directories(lcms PRIVATE "${CMAKE_CURRENT_LIST_DIR}/include")
+set_target_properties(lcms PROPERTIES PUBLIC_HEADER "${CMAKE_CURRENT_LIST_DIR}/include/lcms2.h;${CMAKE_CURRENT_LIST_DIR}/include/lcms2_plugin.h")
-include_directories(
-"./include"
+install(TARGETS lcms
+ EXPORT lcmsConfig
+ RUNTIME DESTINATION "bin"
+ LIBRARY DESTINATION "lib"
+ ARCHIVE DESTINATION "lib"
+ PUBLIC_HEADER DESTINATION "include"
+ COMPONENT dev
)
-add_library(lcms2 ${SRCS})
-
-if(NOT SKIP_INSTALL_HEADERS )
-
- install(FILES
- "./include/lcms2.h"
- "./include/lcms2_plugin.h"
- DESTINATION include
- )
-
-endif(NOT SKIP_INSTALL_HEADERS )
+export(TARGETS lcms
+ NAMESPACE lcms::
+ FILE "share/lcms/lcmsConfig.cmake"
+)
-install(TARGETS lcms2 EXPORT lcms_EXPORT
- RUNTIME DESTINATION bin
- LIBRARY DESTINATION lib
- ARCHIVE DESTINATION lib
+install(EXPORT lcmsConfig
+ DESTINATION "share/lcms"
+ NAMESPACE lcms::
)
diff --git a/ports/lcms/CONTROL b/ports/lcms/CONTROL
index b42c827d4..135c7c406 100644
--- a/ports/lcms/CONTROL
+++ b/ports/lcms/CONTROL
@@ -1,5 +1,5 @@
Source: lcms
-Version: 2.9
+Version: 2.9-1
Build-Depends:
Homepage: https://github.com/mm2/Little-CMS
Description: Little CMS.
diff --git a/ports/lcms/portfile.cmake b/ports/lcms/portfile.cmake
index deb6c9d3c..faeafdef5 100644
--- a/ports/lcms/portfile.cmake
+++ b/ports/lcms/portfile.cmake
@@ -1,32 +1,30 @@
include(vcpkg_common_functions)
-vcpkg_from_github(
- OUT_SOURCE_PATH SOURCE_PATH
+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 lcms2.9
SHA512 b565ed3714c9beaf13e15b3798abbc6c295443357c8db3299cecd9794620bb1d7c50ad258cf887c7bbf66efacb8d8699a7ee579f8c73598740915caa3044ae70
HEAD_REF master
- PATCHES "${CMAKE_CURRENT_LIST_DIR}/remove_library_directive.patch"
-)
+ PATCHES
+ remove_library_directive.patch
+ ${ADDITIONAL_PATCH}
+)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
- OPTIONS_DEBUG
- -DSKIP_INSTALL_HEADERS=ON
)
vcpkg_install_cmake()
-
-file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/lcms RENAME copyright)
-
vcpkg_copy_pdbs()
+vcpkg_fixup_cmake_targets()
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
-#patch header files to fix import/export issues
-if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
- vcpkg_apply_patches(
- SOURCE_PATH ${CURRENT_PACKAGES_DIR}/include
- PATCHES "${CMAKE_CURRENT_LIST_DIR}/shared.patch")
-endif()
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/lcms RENAME copyright)
diff --git a/ports/lcms/shared.patch b/ports/lcms/shared.patch
index 2d7506c52..ac5490486 100644
--- a/ports/lcms/shared.patch
+++ b/ports/lcms/shared.patch
@@ -1,5 +1,5 @@
---- lcms2.h Wed Jul 20 08:46:01 2016
-+++ lcms2.h Mon Jan 30 15:01:12 2017
+--- 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