diff options
| author | trylle <github@metapathy.com> | 2018-08-08 07:50:51 +0200 |
|---|---|---|
| committer | Robert Schumacher <roschuma@microsoft.com> | 2018-08-07 22:50:51 -0700 |
| commit | b286cd50ddefb3d9457e261bf6518b1a46f4a830 (patch) | |
| tree | d0e79bdd33bbac7efe84fa47ed0450589246343b | |
| parent | 6d4223fedfe4483af56c71c6f4a4a94dbe4f0be5 (diff) | |
| download | vcpkg-b286cd50ddefb3d9457e261bf6518b1a46f4a830.tar.gz vcpkg-b286cd50ddefb3d9457e261bf6518b1a46f4a830.zip | |
Freeimage/libraw/lcms debug build fixes (#3643)
* Patch libraw-local FindLCMS2.cmake to handle debug postfix
* Remove library statement from def as name is incorrect for debug builds
https://msdn.microsoft.com/en-us/library/d91k01sh.aspx claims it is
required, but works fine (better) without.
* Patch FindLibRaw.cmake to handle debug postfix
* [lcms] Use vcpkg_from_github()'s PATCHES parameter
| -rw-r--r-- | ports/lcms/CONTROL | 2 | ||||
| -rw-r--r-- | ports/lcms/portfile.cmake | 3 | ||||
| -rw-r--r-- | ports/lcms/remove_library_directive.patch | 8 | ||||
| -rw-r--r-- | ports/libraw/findlibraw_debug_fix.patch | 39 | ||||
| -rw-r--r-- | ports/libraw/lcms2_debug_fix.patch | 66 | ||||
| -rw-r--r-- | ports/libraw/portfile.cmake | 7 |
6 files changed, 123 insertions, 2 deletions
diff --git a/ports/lcms/CONTROL b/ports/lcms/CONTROL index 5855fbc71..fd9c9d429 100644 --- a/ports/lcms/CONTROL +++ b/ports/lcms/CONTROL @@ -1,4 +1,4 @@ Source: lcms -Version: 2.8-4 +Version: 2.8-5 Build-Depends: Description: Little CMS. diff --git a/ports/lcms/portfile.cmake b/ports/lcms/portfile.cmake index 7d52e5270..4e125fa86 100644 --- a/ports/lcms/portfile.cmake +++ b/ports/lcms/portfile.cmake @@ -5,7 +5,8 @@ vcpkg_from_github( REPO mm2/Little-CMS REF lcms2.8 SHA512 22ee94aa3333db4248607d8aa84343d324e04b30c154c46672c6f668e14a369b9b72f2557b8465218b6e9a2676cf8fa37d617b4aa13a013dc2337197a599e63a - HEAD_REF master + HEAD_REF master + PATCHES "${CMAKE_CURRENT_LIST_DIR}/remove_library_directive.patch" ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) diff --git a/ports/lcms/remove_library_directive.patch b/ports/lcms/remove_library_directive.patch new file mode 100644 index 000000000..29d035dc2 --- /dev/null +++ b/ports/lcms/remove_library_directive.patch @@ -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
diff --git a/ports/libraw/findlibraw_debug_fix.patch b/ports/libraw/findlibraw_debug_fix.patch new file mode 100644 index 000000000..a09eca537 --- /dev/null +++ b/ports/libraw/findlibraw_debug_fix.patch @@ -0,0 +1,39 @@ +--- a/cmake/modules/FindLibRaw.cmake 2016-11-02 07:09:50.000000000 +0100 ++++ b/cmake/modules/FindLibRaw.cmake 2018-06-02 02:50:10.501142400 +0200 +@@ -31,18 +31,34 @@ + PATH_SUFFIXES libraw + ) + +-FIND_LIBRARY(LibRaw_LIBRARIES NAMES raw ++FIND_LIBRARY(LibRaw_LIBRARY_RELEASE NAMES raw + HINTS + ${PC_LIBRAW_LIBDIR} + ${PC_LIBRAW_LIBRARY_DIRS} + ) + +-FIND_LIBRARY(LibRaw_r_LIBRARIES NAMES raw_r ++FIND_LIBRARY(LibRaw_LIBRARY_DEBUG NAMES rawd ++ HINTS ++ ${PC_LIBRAW_LIBDIR} ++ ${PC_LIBRAW_LIBRARY_DIRS} ++ ) ++ ++select_library_configurations(LibRaw) ++ ++FIND_LIBRARY(LibRaw_r_LIBRARY_RELEASE NAMES raw_r + HINTS + ${PC_LIBRAW_R_LIBDIR} + ${PC_LIBRAW_R_LIBRARY_DIRS} + ) + ++FIND_LIBRARY(LibRaw_r_LIBRARY_DEBUG NAMES raw_rd ++ HINTS ++ ${PC_LIBRAW_R_LIBDIR} ++ ${PC_LIBRAW_R_LIBRARY_DIRS} ++ ) ++ ++select_library_configurations(LibRaw_r) ++ + IF(LibRaw_INCLUDE_DIR) + FILE(READ ${LibRaw_INCLUDE_DIR}/libraw_version.h _libraw_version_content) + diff --git a/ports/libraw/lcms2_debug_fix.patch b/ports/libraw/lcms2_debug_fix.patch new file mode 100644 index 000000000..b0d48edca --- /dev/null +++ b/ports/libraw/lcms2_debug_fix.patch @@ -0,0 +1,66 @@ +--- a/cmake/modules/FindLCMS2.cmake 2016-11-02 07:09:50.000000000 +0100 ++++ b/cmake/modules/FindLCMS2.cmake 2018-06-02 00:43:27.309100600 +0200 +@@ -13,7 +13,6 @@ + # Redistribution and use is allowed according to the terms of the BSD license. + # For details see the accompanying LICENSE file. + +- + # use pkg-config to get the directories and then use these values + # in the FIND_PATH() and FIND_LIBRARY() calls + if(NOT WIN32) +@@ -29,18 +28,30 @@ + PATH_SUFFIXES lcms2 liblcms2 + ) + +-find_library(LCMS2_LIBRARIES NAMES lcms2 liblcms2 lcms-2 liblcms-2 ++include(SelectLibraryConfigurations) ++ ++find_library(LCMS2_LIBRARY_RELEASE NAMES lcms2 liblcms2 lcms-2 liblcms-2 ++ PATHS ++ ${PC_LCMS2_LIBDIR} ++ ${PC_LCMS2_LIBRARY_DIRS} ++ PATH_SUFFIXES lcms2 ++) ++ ++find_library(LCMS2_LIBRARY_DEBUG NAMES lcms2d liblcms2d lcms-2d liblcms-2d + PATHS + ${PC_LCMS2_LIBDIR} + ${PC_LCMS2_LIBRARY_DIRS} + PATH_SUFFIXES lcms2 + ) + +-if(LCMS2_INCLUDE_DIR AND LCMS2_LIBRARIES) ++select_library_configurations(LCMS2) ++ ++ ++if(LCMS2_INCLUDE_DIR AND LCMS2_LIBRARY) + set(LCMS2_FOUND TRUE) +-else(LCMS2_INCLUDE_DIR AND LCMS2_LIBRARIES) ++else(LCMS2_INCLUDE_DIR AND LCMS2_LIBRARY) + set(LCMS2_FOUND FALSE) +-endif(LCMS2_INCLUDE_DIR AND LCMS2_LIBRARIES) ++endif(LCMS2_INCLUDE_DIR AND LCMS2_LIBRARY) + + if(LCMS2_FOUND) + file(READ ${LCMS2_INCLUDE_DIR}/lcms2.h LCMS2_VERSION_CONTENT) +@@ -50,11 +61,11 @@ + if(NOT LCMS2_FIND_QUIETLY) + string(SUBSTRING ${LCMS2_VERSION} 0 1 LCMS2_MAJOR_VERSION) + string(SUBSTRING ${LCMS2_VERSION} 1 2 LCMS2_MINOR_VERSION) +- message(STATUS "Found lcms version ${LCMS2_MAJOR_VERSION}.${LCMS2_MINOR_VERSION}, ${LCMS2_LIBRARIES}") ++ message(STATUS "Found lcms version ${LCMS2_MAJOR_VERSION}.${LCMS2_MINOR_VERSION}, ${LCMS2_LIBRARY}") + endif(NOT LCMS2_FIND_QUIETLY) + else(LCMS2_VERSION_MATCH) + if(NOT LCMS2_FIND_QUIETLY) +- message(STATUS "Found lcms2 but failed to find version ${LCMS2_LIBRARIES}") ++ message(STATUS "Found lcms2 but failed to find version ${LCMS2_LIBRARY}") + endif(NOT LCMS2_FIND_QUIETLY) + set(LCMS2_VERSION NOTFOUND) + endif(LCMS2_VERSION_MATCH) +@@ -68,5 +79,5 @@ + endif(NOT LCMS2_FIND_QUIETLY) + endif(LCMS2_FOUND) + +-mark_as_advanced(LCMS2_INCLUDE_DIR LCMS2_LIBRARIES LCMS2_VERSION) ++mark_as_advanced(LCMS2_INCLUDE_DIR LCMS2_LIBRARY LCMS2_VERSION) + diff --git a/ports/libraw/portfile.cmake b/ports/libraw/portfile.cmake index 6c61f2b87..3681d1d28 100644 --- a/ports/libraw/portfile.cmake +++ b/ports/libraw/portfile.cmake @@ -22,6 +22,13 @@ vcpkg_extract_source_archive(${CMAKE_BUILD_ARCHIVE} ${CURRENT_BUILDTREES_DIR}/sr file(COPY ${LIBRAW_CMAKE_SOURCE_PATH}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) file(COPY ${LIBRAW_CMAKE_SOURCE_PATH}/cmake DESTINATION ${SOURCE_PATH}) +vcpkg_apply_patches( + SOURCE_PATH ${SOURCE_PATH} + PATCHES + ${CMAKE_CURRENT_LIST_DIR}/findlibraw_debug_fix.patch + ${CMAKE_CURRENT_LIST_DIR}/lcms2_debug_fix.patch +) + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA |
