Updated CMakeLists to compile squish/posh/bc6h/bc7 as OBJECT library and embed them in nvimage/nvtt

pull/234/head
magestik 8 years ago
parent 3c02e25e46
commit 6eefc53ea8

@ -3,5 +3,5 @@ SET(POSHLIB_SRCS
posh.c posh.c
posh.h) posh.h)
ADD_LIBRARY(posh STATIC ${POSHLIB_SRCS}) ADD_LIBRARY(posh OBJECT ${POSHLIB_SRCS})

@ -13,7 +13,7 @@ SET(BC6H_SRCS
zohone.cpp zohone.cpp
zohtwo.cpp) zohtwo.cpp)
ADD_LIBRARY(bc6h STATIC ${BC6H_SRCS}) ADD_LIBRARY(bc6h OBJECT ${BC6H_SRCS})
IF(NOT WIN32) IF(NOT WIN32)
IF(CMAKE_COMPILER_IS_GNUCXX) IF(CMAKE_COMPILER_IS_GNUCXX)

@ -21,7 +21,7 @@ SET(BC7_SRCS
avpcl_utils.cpp avpcl_utils.cpp
avpcl_utils.h) avpcl_utils.h)
ADD_LIBRARY(bc7 STATIC ${BC7_SRCS}) ADD_LIBRARY(bc7 OBJECT ${BC7_SRCS})
IF(NOT WIN32) IF(NOT WIN32)
IF(CMAKE_COMPILER_IS_GNUCXX) IF(CMAKE_COMPILER_IS_GNUCXX)

@ -1,62 +1,65 @@
PROJECT(nvimage) PROJECT(nvimage)
SET(IMAGE_SRCS SET(IMAGE_SRCS
nvimage.h nvimage.h
BlockDXT.h BlockDXT.cpp BlockDXT.h BlockDXT.cpp
ColorBlock.h ColorBlock.cpp ColorBlock.h ColorBlock.cpp
DirectDrawSurface.h DirectDrawSurface.cpp DirectDrawSurface.h DirectDrawSurface.cpp
ErrorMetric.h ErrorMetric.cpp ErrorMetric.h ErrorMetric.cpp
Filter.h Filter.cpp Filter.h Filter.cpp
FloatImage.h FloatImage.cpp FloatImage.h FloatImage.cpp
Image.h Image.cpp Image.h Image.cpp
ImageIO.h ImageIO.cpp ImageIO.h ImageIO.cpp
#KtxFile.h KtxFile.cpp #KtxFile.h KtxFile.cpp
NormalMap.h NormalMap.cpp NormalMap.h NormalMap.cpp
PixelFormat.h PixelFormat.h
PsdFile.h PsdFile.h
TgaFile.h) TgaFile.h)
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
IF(PNG_FOUND) IF(PNG_FOUND)
SET(LIBS ${LIBS} ${PNG_LIBRARIES}) SET(LIBS ${LIBS} ${PNG_LIBRARIES})
INCLUDE_DIRECTORIES(${PNG_INCLUDE_DIR}) INCLUDE_DIRECTORIES(${PNG_INCLUDE_DIR})
ENDIF(PNG_FOUND) ENDIF(PNG_FOUND)
IF(JPEG_FOUND) IF(JPEG_FOUND)
SET(LIBS ${LIBS} ${JPEG_LIBRARIES}) SET(LIBS ${LIBS} ${JPEG_LIBRARIES})
INCLUDE_DIRECTORIES(${JPEG_INCLUDE_DIR}) INCLUDE_DIRECTORIES(${JPEG_INCLUDE_DIR})
ENDIF(JPEG_FOUND) ENDIF(JPEG_FOUND)
IF(TIFF_FOUND) IF(TIFF_FOUND)
SET(LIBS ${LIBS} ${TIFF_LIBRARIES}) SET(LIBS ${LIBS} ${TIFF_LIBRARIES})
INCLUDE_DIRECTORIES(${TIFF_INCLUDE_DIR}) INCLUDE_DIRECTORIES(${TIFF_INCLUDE_DIR})
ENDIF(TIFF_FOUND) ENDIF(TIFF_FOUND)
IF(OPENEXR_FOUND) IF(OPENEXR_FOUND)
SET(LIBS ${LIBS} ${OPENEXR_LIBRARIES}) SET(LIBS ${LIBS} ${OPENEXR_LIBRARIES})
INCLUDE_DIRECTORIES(${OPENEXR_INCLUDE_PATHS}) INCLUDE_DIRECTORIES(${OPENEXR_INCLUDE_PATHS})
ENDIF(OPENEXR_FOUND) ENDIF(OPENEXR_FOUND)
IF(FREEIMAGE_FOUND) IF(FREEIMAGE_FOUND)
SET(LIBS ${LIBS} ${FREEIMAGE_LIBRARIES}) SET(LIBS ${LIBS} ${FREEIMAGE_LIBRARIES})
INCLUDE_DIRECTORIES(${FREEIMAGE_INCLUDE_PATH}) INCLUDE_DIRECTORIES(${FREEIMAGE_INCLUDE_PATH})
ENDIF(FREEIMAGE_FOUND) ENDIF(FREEIMAGE_FOUND)
# targets # targets
ADD_DEFINITIONS(-DNVIMAGE_EXPORTS) ADD_DEFINITIONS(-DNVIMAGE_EXPORTS)
IF(NVIMAGE_SHARED) IF(NVIMAGE_SHARED)
ADD_DEFINITIONS(-DNVIMAGE_SHARED=1) ADD_DEFINITIONS(-DNVIMAGE_SHARED=1)
ADD_LIBRARY(nvimage SHARED ${IMAGE_SRCS}) ADD_LIBRARY(nvimage SHARED ${IMAGE_SRCS} $<TARGET_OBJECTS:posh> $<TARGET_OBJECTS:bc6h> $<TARGET_OBJECTS:bc7>)
ELSE(NVIMAGE_SHARED) ELSE(NVIMAGE_SHARED)
ADD_LIBRARY(nvimage ${IMAGE_SRCS}) ADD_LIBRARY(nvimage ${IMAGE_SRCS} $<TARGET_OBJECTS:posh> $<TARGET_OBJECTS:bc6h> $<TARGET_OBJECTS:bc7>)
ENDIF(NVIMAGE_SHARED) ENDIF(NVIMAGE_SHARED)
TARGET_LINK_LIBRARIES(nvimage ${LIBS} nvcore posh bc6h bc7 nvmath) TARGET_LINK_LIBRARIES(nvimage ${LIBS} nvcore nvmath)
INSTALL(TARGETS nvimage INSTALL(TARGETS nvimage
RUNTIME DESTINATION bin RUNTIME DESTINATION bin
LIBRARY DESTINATION lib LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib/static) ARCHIVE DESTINATION lib/static)
INSTALL(FILES nvimage.h DirectDrawSurface.h Image.h DESTINATION include/nvimage)

@ -3,56 +3,57 @@ PROJECT(nvtt)
ADD_SUBDIRECTORY(squish) ADD_SUBDIRECTORY(squish)
SET(NVTT_SRCS SET(NVTT_SRCS
nvtt.h nvtt.cpp nvtt.h nvtt.cpp
nvtt_wrapper.h nvtt_wrapper.cpp nvtt_wrapper.h nvtt_wrapper.cpp
ClusterFit.h ClusterFit.cpp ClusterFit.h ClusterFit.cpp
Compressor.h Compressor.h
BlockCompressor.h BlockCompressor.cpp BlockCompressor.h BlockCompressor.cpp
CompressorDX9.h CompressorDX9.cpp CompressorDX9.h CompressorDX9.cpp
CompressorDX10.h CompressorDX10.cpp CompressorDX10.h CompressorDX10.cpp
CompressorDX11.h CompressorDX11.cpp CompressorDX11.h CompressorDX11.cpp
CompressorDXT1.h CompressorDXT1.cpp CompressorDXT1.h CompressorDXT1.cpp
CompressorDXT5_RGBM.h CompressorDXT5_RGBM.cpp CompressorDXT5_RGBM.h CompressorDXT5_RGBM.cpp
CompressorRGB.h CompressorRGB.cpp CompressorRGB.h CompressorRGB.cpp
Context.h Context.cpp Context.h Context.cpp
QuickCompressDXT.h QuickCompressDXT.cpp QuickCompressDXT.h QuickCompressDXT.cpp
OptimalCompressDXT.h OptimalCompressDXT.cpp OptimalCompressDXT.h OptimalCompressDXT.cpp
SingleColorLookup.h SingleColorLookup.cpp SingleColorLookup.h SingleColorLookup.cpp
CompressionOptions.h CompressionOptions.cpp CompressionOptions.h CompressionOptions.cpp
InputOptions.h InputOptions.cpp InputOptions.h InputOptions.cpp
OutputOptions.h OutputOptions.cpp OutputOptions.h OutputOptions.cpp
TaskDispatcher.h #TaskDispatcher.cpp TaskDispatcher.h #TaskDispatcher.cpp
Surface.h Surface.cpp Surface.h Surface.cpp
CubeSurface.h CubeSurface.cpp CubeSurface.h CubeSurface.cpp
cuda/CudaUtils.h cuda/CudaUtils.cpp cuda/CudaUtils.h cuda/CudaUtils.cpp
cuda/CudaMath.h cuda/CudaMath.h
cuda/BitmapTable.h cuda/BitmapTable.h
cuda/CudaCompressorDXT.h cuda/CudaCompressorDXT.cpp) cuda/CudaCompressorDXT.h cuda/CudaCompressorDXT.cpp)
IF (CUDA_FOUND) IF (CUDA_FOUND)
ADD_DEFINITIONS(-DHAVE_CUDA) ADD_DEFINITIONS(-DHAVE_CUDA)
CUDA_COMPILE(CUDA_SRCS cuda/CompressKernel.cu) CUDA_COMPILE(CUDA_SRCS cuda/CompressKernel.cu)
SET(NVTT_SRCS ${NVTT_SRCS} ${CUDA_SRCS}) SET(NVTT_SRCS ${NVTT_SRCS} ${CUDA_SRCS})
SET(LIBS ${LIBS} ${CUDA_LIBRARIES}) SET(LIBS ${LIBS} ${CUDA_LIBRARIES})
INCLUDE_DIRECTORIES(${CUDA_INCLUDE_DIRS}) INCLUDE_DIRECTORIES(${CUDA_INCLUDE_DIRS})
ENDIF (CUDA_FOUND) ENDIF (CUDA_FOUND)
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
ADD_DEFINITIONS(-DNVTT_EXPORTS) ADD_DEFINITIONS(-DNVTT_EXPORTS)
IF(NVTT_SHARED) IF(NVTT_SHARED)
ADD_LIBRARY(nvtt SHARED ${NVTT_SRCS}) ADD_LIBRARY(nvtt SHARED ${NVTT_SRCS} $<TARGET_OBJECTS:squish>)
ELSE(NVTT_SHARED) ELSE(NVTT_SHARED)
ADD_LIBRARY(nvtt ${NVTT_SRCS}) ADD_LIBRARY(nvtt ${NVTT_SRCS} $<TARGET_OBJECTS:squish>)
ENDIF(NVTT_SHARED) ENDIF(NVTT_SHARED)
TARGET_LINK_LIBRARIES(nvtt ${LIBS} nvcore nvimage nvthread squish bc6h bc7 nvmath) TARGET_LINK_LIBRARIES(nvtt ${LIBS} nvcore nvimage nvthread nvmath)
INSTALL(TARGETS nvtt
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib/static)
INSTALL(TARGETS nvtt
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib/static)
INSTALL(FILES nvtt.h DESTINATION include/nvtt) INSTALL(FILES nvtt.h DESTINATION include/nvtt)

@ -20,7 +20,7 @@ SET(SQUISH_SRCS
simd_sse.h simd_sse.h
simd_ve.h) simd_ve.h)
ADD_LIBRARY(squish STATIC ${SQUISH_SRCS}) ADD_LIBRARY(squish OBJECT ${SQUISH_SRCS})
IF(NOT WIN32) IF(NOT WIN32)
@ -32,4 +32,3 @@ IF(NOT WIN32)
SET_TARGET_PROPERTIES(squish PROPERTIES COMPILE_FLAGS -fPIC) SET_TARGET_PROPERTIES(squish PROPERTIES COMPILE_FLAGS -fPIC)
ENDIF(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANGXX) ENDIF(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANGXX)
ENDIF(NOT WIN32) ENDIF(NOT WIN32)

@ -26,7 +26,7 @@ ADD_EXECUTABLE(cubemaptest cubemaptest.cpp)
TARGET_LINK_LIBRARIES(cubemaptest nvcore nvmath nvimage nvtt) TARGET_LINK_LIBRARIES(cubemaptest nvcore nvmath nvimage nvtt)
ADD_EXECUTABLE(nvhdrtest hdrtest.cpp) ADD_EXECUTABLE(nvhdrtest hdrtest.cpp)
TARGET_LINK_LIBRARIES(nvhdrtest nvcore nvimage nvtt bc6h nvmath) TARGET_LINK_LIBRARIES(nvhdrtest nvcore nvimage nvtt nvmath)
INSTALL(TARGETS nvtestsuite nvhdrtest DESTINATION bin) INSTALL(TARGETS nvtestsuite nvhdrtest DESTINATION bin)

@ -1,21 +1,21 @@
ADD_EXECUTABLE(nvcompress compress.cpp cmdline.h) ADD_EXECUTABLE(nvcompress compress.cpp cmdline.h)
TARGET_LINK_LIBRARIES(nvcompress nvcore nvimage nvtt bc6h nvmath) TARGET_LINK_LIBRARIES(nvcompress nvcore nvimage nvtt nvmath)
ADD_EXECUTABLE(nvdecompress decompress.cpp cmdline.h) ADD_EXECUTABLE(nvdecompress decompress.cpp cmdline.h)
TARGET_LINK_LIBRARIES(nvdecompress nvcore nvimage nvtt bc6h nvmath) TARGET_LINK_LIBRARIES(nvdecompress nvcore nvimage nvtt nvmath)
ADD_EXECUTABLE(nvddsinfo ddsinfo.cpp cmdline.h) ADD_EXECUTABLE(nvddsinfo ddsinfo.cpp cmdline.h)
TARGET_LINK_LIBRARIES(nvddsinfo nvcore nvimage nvtt bc6h nvmath) TARGET_LINK_LIBRARIES(nvddsinfo nvcore nvimage nvtt nvmath)
ADD_EXECUTABLE(nvimgdiff imgdiff.cpp cmdline.h) ADD_EXECUTABLE(nvimgdiff imgdiff.cpp cmdline.h)
TARGET_LINK_LIBRARIES(nvimgdiff nvcore nvtt bc6h nvmath) TARGET_LINK_LIBRARIES(nvimgdiff nvcore nvtt nvmath)
ADD_EXECUTABLE(nvassemble assemble.cpp cmdline.h) ADD_EXECUTABLE(nvassemble assemble.cpp cmdline.h)
TARGET_LINK_LIBRARIES(nvassemble nvcore nvimage nvtt bc6h nvmath) TARGET_LINK_LIBRARIES(nvassemble nvcore nvimage nvtt nvmath)
ADD_EXECUTABLE(nvzoom resize.cpp cmdline.h) ADD_EXECUTABLE(nvzoom resize.cpp cmdline.h)
TARGET_LINK_LIBRARIES(nvzoom nvcore nvimage nvtt bc6h nvmath) TARGET_LINK_LIBRARIES(nvzoom nvcore nvimage nvtt nvmath)
SET(TOOLS nvcompress nvdecompress nvddsinfo nvassemble nvzoom) SET(TOOLS nvcompress nvdecompress nvddsinfo nvassemble nvzoom)
@ -28,7 +28,7 @@ ENDIF(GLEW_FOUND AND GLUT_FOUND AND OPENGL_FOUND)
ADD_EXECUTABLE(nv-gnome-thumbnailer thumbnailer.cpp cmdline.h) ADD_EXECUTABLE(nv-gnome-thumbnailer thumbnailer.cpp cmdline.h)
TARGET_LINK_LIBRARIES(nv-gnome-thumbnailer nvcore nvtt nvimage bc6h nvmath) TARGET_LINK_LIBRARIES(nv-gnome-thumbnailer nvcore nvtt nvimage nvmath)
SET(TOOLS ${TOOLS} nv-gnome-thumbnailer) SET(TOOLS ${TOOLS} nv-gnome-thumbnailer)

Loading…
Cancel
Save