diff options
Diffstat (limited to 'vcpkg/ports/libsquish/fix-export-symbols.patch')
| -rw-r--r-- | vcpkg/ports/libsquish/fix-export-symbols.patch | 105 |
1 files changed, 105 insertions, 0 deletions
diff --git a/vcpkg/ports/libsquish/fix-export-symbols.patch b/vcpkg/ports/libsquish/fix-export-symbols.patch new file mode 100644 index 0000000..a777eea --- /dev/null +++ b/vcpkg/ports/libsquish/fix-export-symbols.patch @@ -0,0 +1,105 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a36e574..a3ecdde 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -75,6 +75,13 @@ INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) + + ADD_LIBRARY(squish ${SQUISH_SRCS} ${SQUISH_HDRS}) + ++INCLUDE(GenerateExportHeader) ++GENERATE_EXPORT_HEADER(squish ++ EXPORT_FILE_NAME ${CMAKE_CURRENT_SOURCE_DIR}/squish_export.h ++ ) ++ ++list(APPEND SQUISH_HDRS "squish_export.h") ++ + SET_TARGET_PROPERTIES( + squish PROPERTIES + PUBLIC_HEADER "${SQUISH_HDRS}" +@@ -109,9 +116,12 @@ IF (BUILD_SQUISH_EXTRA) + ENDIF (PNG_FOUND) + ENDIF (BUILD_SQUISH_EXTRA) + ++INCLUDE(GNUInstallDirs) ++ + INSTALL( + TARGETS squish +- LIBRARY DESTINATION lib +- ARCHIVE DESTINATION lib +- PUBLIC_HEADER DESTINATION include ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} + ) +diff --git a/squish.h b/squish.h +index 14c9bb5..aaffbb2 100644 +--- a/squish.h ++++ b/squish.h +@@ -26,6 +26,8 @@ + #ifndef SQUISH_H + #define SQUISH_H + ++#include "squish_export.h" ++ + //! All squish API functions live in this namespace. + namespace squish { + +@@ -115,5 +117,5 @@ + */ +-void CompressMasked( u8 const* rgba, int mask, void* block, int flags, float* metric = 0 ); ++SQUISH_EXPORT void CompressMasked( u8 const* rgba, int mask, void* block, int flags, float* metric = 0 ); + + // ----------------------------------------------------------------------------- + +@@ -176,7 +178,7 @@ inline void Compress( u8 const* rgba, void* block, int flags, float* metric = 0 + however, DXT1 will be used by default if none is specified. All other flags + are ignored. + */ +-void Decompress( u8* rgba, void const* block, int flags ); ++SQUISH_EXPORT void Decompress( u8* rgba, void const* block, int flags ); + + // ----------------------------------------------------------------------------- + +@@ -194,7 +196,7 @@ void Decompress( u8* rgba, void const* block, int flags ); + function supports arbitrary size images by allowing the outer blocks to + be only partially used. + */ +-int GetStorageRequirements( int width, int height, int flags ); ++SQUISH_EXPORT int GetStorageRequirements( int width, int height, int flags ); + + // ----------------------------------------------------------------------------- + +@@ -249,8 +251,8 @@ int GetStorageRequirements( int width, int height, int flags ); + Windows platform but for other platforms like MacOS X a different + gamma value may be more suitable. + */ +-void CompressImage( u8 const* rgba, int width, int height, int pitch, void* blocks, int flags, float* metric = 0 ); +-void CompressImage( u8 const* rgba, int width, int height, void* blocks, int flags, float* metric = 0 ); ++SQUISH_EXPORT void CompressImage( u8 const* rgba, int width, int height, int pitch, void* blocks, int flags, float* metric = 0 ); ++SQUISH_EXPORT void CompressImage( u8 const* rgba, int width, int height, void* blocks, int flags, float* metric = 0 ); + + // ----------------------------------------------------------------------------- + +@@ -274,8 +276,8 @@ void CompressImage( u8 const* rgba, int width, int height, void* blocks, int fla + + Internally this function calls squish::Decompress for each block. + */ +-void DecompressImage( u8* rgba, int width, int height, int pitch, void const* blocks, int flags ); +-void DecompressImage( u8* rgba, int width, int height, void const* blocks, int flags ); ++SQUISH_EXPORT void DecompressImage( u8* rgba, int width, int height, int pitch, void const* blocks, int flags ); ++SQUISH_EXPORT void DecompressImage( u8* rgba, int width, int height, void const* blocks, int flags ); + + // ----------------------------------------------------------------------------- + +@@ -299,8 +301,8 @@ void DecompressImage( u8* rgba, int width, int height, void const* blocks, int f + + Internally this function calls squish::Decompress for each block. + */ +-void ComputeMSE(u8 const *rgba, int width, int height, int pitch, u8 const *dxt, int flags, double &colourMSE, double &alphaMSE); +-void ComputeMSE(u8 const *rgba, int width, int height, u8 const *dxt, int flags, double &colourMSE, double &alphaMSE); ++SQUISH_EXPORT void ComputeMSE(u8 const *rgba, int width, int height, int pitch, u8 const *dxt, int flags, double &colourMSE, double &alphaMSE); ++SQUISH_EXPORT void ComputeMSE(u8 const *rgba, int width, int height, u8 const *dxt, int flags, double &colourMSE, double &alphaMSE); + + // ----------------------------------------------------------------------------- + |