106 lines
4.5 KiB
Diff
106 lines
4.5 KiB
Diff
|
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);
|
||
|
|
||
|
// -----------------------------------------------------------------------------
|
||
|
|