aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2017-02-01 19:17:11 -0800
committerGitHub <noreply@github.com>2017-02-01 19:17:11 -0800
commit1888c7294fb5323acef33dae26f39bf7c2d4dfa7 (patch)
treef26b6fc24fe9ca61aad3d8bbc88a5840443b8870
parent7a080e79163d8e3bdf9eb33b5d761d2d0ca89696 (diff)
parent4ef429dd9e687f80f9f30042263d817984a10097 (diff)
downloadvcpkg-1888c7294fb5323acef33dae26f39bf7c2d4dfa7.tar.gz
vcpkg-1888c7294fb5323acef33dae26f39bf7c2d4dfa7.zip
Merge pull request #421 from Agadoul/master
lcms port
-rw-r--r--ports/lcms/CMakeLists.txt59
-rw-r--r--ports/lcms/CONTROL4
-rw-r--r--ports/lcms/portfile.cmake35
-rw-r--r--ports/lcms/shared.patch10
4 files changed, 108 insertions, 0 deletions
diff --git a/ports/lcms/CMakeLists.txt b/ports/lcms/CMakeLists.txt
new file mode 100644
index 000000000..0fedfb95e
--- /dev/null
+++ b/ports/lcms/CMakeLists.txt
@@ -0,0 +1,59 @@
+cmake_minimum_required(VERSION 3.5)
+
+project(lcms)
+
+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"
+)
+
+add_definitions(-DUNICODE -D_UNICODE)
+string(REPLACE "/utf-8" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
+
+include_directories(
+"./include"
+)
+
+add_library(lcms ${SRCS})
+
+if(NOT SKIP_INSTALL_HEADERS )
+
+ install(FILES
+ "./include/lcms2.h"
+ "./include/lcms2_plugin.h"
+ DESTINATION include
+ )
+
+endif(NOT SKIP_INSTALL_HEADERS )
+
+install(TARGETS lcms EXPORT lcms_EXPORT
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+)
diff --git a/ports/lcms/CONTROL b/ports/lcms/CONTROL
new file mode 100644
index 000000000..64567fddd
--- /dev/null
+++ b/ports/lcms/CONTROL
@@ -0,0 +1,4 @@
+Source: lcms
+Version: 2.8
+Build-Depends:
+Description: Little CMS. \ No newline at end of file
diff --git a/ports/lcms/portfile.cmake b/ports/lcms/portfile.cmake
new file mode 100644
index 000000000..4487cce6a
--- /dev/null
+++ b/ports/lcms/portfile.cmake
@@ -0,0 +1,35 @@
+include(vcpkg_common_functions)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/lcms2-2.8)
+
+vcpkg_download_distfile(ARCHIVE
+ URLS "https://sourceforge.net/projects/lcms/files/lcms/2.8/lcms2-2.8.tar.gz/download"
+ FILENAME "lcms2-2.8.tar.gz"
+ SHA512 a9478885b4892c79314a2ef9ab560e6655ac8f2d17abae0805e8b871138bb190e21f0e5c805398449f9dad528dc50baaf9e3cce8b8158eb8ff74179be5733f8f
+)
+vcpkg_extract_source_archive(${ARCHIVE})
+message(STATUS ${SOURCE_PATH})
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+set(USE_SHARED_LIBRARY OFF)
+if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ set(USE_SHARED_LIBRARY ON)
+endif()
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ 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()
+
+#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(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
diff --git a/ports/lcms/shared.patch b/ports/lcms/shared.patch
new file mode 100644
index 000000000..b3e7bf75f
--- /dev/null
+++ b/ports/lcms/shared.patch
@@ -0,0 +1,10 @@
+--- lcms2.h Wed Jul 20 08:46:01 2016
++++ lcms2.h Mon Jan 30 15:01:12 2017
+@@ -212,6 +212,7 @@
+
+ #endif // CMS_USE_BIG_ENDIAN
+
++#define CMS_DLL_BUILD
+
+ // Calling convention -- this is hardly platform and compiler dependent
+ #ifdef CMS_IS_WINDOWS_