From 6eefc53ea85c37029d2b21ecf30b8b90d3df435f Mon Sep 17 00:00:00 2001 From: magestik Date: Mon, 18 Jan 2016 22:57:06 +0100 Subject: [PATCH] Updated CMakeLists to compile squish/posh/bc6h/bc7 as OBJECT library and embed them in nvimage/nvtt --- extern/poshlib/CMakeLists.txt | 2 +- src/bc6h/CMakeLists.txt | 2 +- src/bc7/CMakeLists.txt | 2 +- src/nvimage/CMakeLists.txt | 67 +++++++++++++++-------------- src/nvtt/CMakeLists.txt | 77 +++++++++++++++++----------------- src/nvtt/squish/CMakeLists.txt | 3 +- src/nvtt/tests/CMakeLists.txt | 2 +- src/nvtt/tools/CMakeLists.txt | 14 +++---- 8 files changed, 86 insertions(+), 83 deletions(-) diff --git a/extern/poshlib/CMakeLists.txt b/extern/poshlib/CMakeLists.txt index a0f639e..1913b40 100644 --- a/extern/poshlib/CMakeLists.txt +++ b/extern/poshlib/CMakeLists.txt @@ -3,5 +3,5 @@ SET(POSHLIB_SRCS posh.c posh.h) -ADD_LIBRARY(posh STATIC ${POSHLIB_SRCS}) +ADD_LIBRARY(posh OBJECT ${POSHLIB_SRCS}) diff --git a/src/bc6h/CMakeLists.txt b/src/bc6h/CMakeLists.txt index 635e0f3..3c9633c 100644 --- a/src/bc6h/CMakeLists.txt +++ b/src/bc6h/CMakeLists.txt @@ -13,7 +13,7 @@ SET(BC6H_SRCS zohone.cpp zohtwo.cpp) -ADD_LIBRARY(bc6h STATIC ${BC6H_SRCS}) +ADD_LIBRARY(bc6h OBJECT ${BC6H_SRCS}) IF(NOT WIN32) IF(CMAKE_COMPILER_IS_GNUCXX) diff --git a/src/bc7/CMakeLists.txt b/src/bc7/CMakeLists.txt index 2eb01c0..81ff5ba 100644 --- a/src/bc7/CMakeLists.txt +++ b/src/bc7/CMakeLists.txt @@ -21,7 +21,7 @@ SET(BC7_SRCS avpcl_utils.cpp avpcl_utils.h) -ADD_LIBRARY(bc7 STATIC ${BC7_SRCS}) +ADD_LIBRARY(bc7 OBJECT ${BC7_SRCS}) IF(NOT WIN32) IF(CMAKE_COMPILER_IS_GNUCXX) diff --git a/src/nvimage/CMakeLists.txt b/src/nvimage/CMakeLists.txt index dce627d..7a01681 100644 --- a/src/nvimage/CMakeLists.txt +++ b/src/nvimage/CMakeLists.txt @@ -1,62 +1,65 @@ PROJECT(nvimage) -SET(IMAGE_SRCS - nvimage.h - BlockDXT.h BlockDXT.cpp - ColorBlock.h ColorBlock.cpp - DirectDrawSurface.h DirectDrawSurface.cpp - ErrorMetric.h ErrorMetric.cpp - Filter.h Filter.cpp - FloatImage.h FloatImage.cpp - Image.h Image.cpp - ImageIO.h ImageIO.cpp - #KtxFile.h KtxFile.cpp - NormalMap.h NormalMap.cpp - PixelFormat.h - PsdFile.h - TgaFile.h) +SET(IMAGE_SRCS + nvimage.h + BlockDXT.h BlockDXT.cpp + ColorBlock.h ColorBlock.cpp + DirectDrawSurface.h DirectDrawSurface.cpp + ErrorMetric.h ErrorMetric.cpp + Filter.h Filter.cpp + FloatImage.h FloatImage.cpp + Image.h Image.cpp + ImageIO.h ImageIO.cpp + #KtxFile.h KtxFile.cpp + NormalMap.h NormalMap.cpp + PixelFormat.h + PsdFile.h + TgaFile.h) INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) IF(PNG_FOUND) - SET(LIBS ${LIBS} ${PNG_LIBRARIES}) - INCLUDE_DIRECTORIES(${PNG_INCLUDE_DIR}) + SET(LIBS ${LIBS} ${PNG_LIBRARIES}) + INCLUDE_DIRECTORIES(${PNG_INCLUDE_DIR}) ENDIF(PNG_FOUND) IF(JPEG_FOUND) - SET(LIBS ${LIBS} ${JPEG_LIBRARIES}) - INCLUDE_DIRECTORIES(${JPEG_INCLUDE_DIR}) + SET(LIBS ${LIBS} ${JPEG_LIBRARIES}) + INCLUDE_DIRECTORIES(${JPEG_INCLUDE_DIR}) ENDIF(JPEG_FOUND) IF(TIFF_FOUND) - SET(LIBS ${LIBS} ${TIFF_LIBRARIES}) - INCLUDE_DIRECTORIES(${TIFF_INCLUDE_DIR}) + SET(LIBS ${LIBS} ${TIFF_LIBRARIES}) + INCLUDE_DIRECTORIES(${TIFF_INCLUDE_DIR}) ENDIF(TIFF_FOUND) IF(OPENEXR_FOUND) - SET(LIBS ${LIBS} ${OPENEXR_LIBRARIES}) - INCLUDE_DIRECTORIES(${OPENEXR_INCLUDE_PATHS}) + SET(LIBS ${LIBS} ${OPENEXR_LIBRARIES}) + INCLUDE_DIRECTORIES(${OPENEXR_INCLUDE_PATHS}) ENDIF(OPENEXR_FOUND) IF(FREEIMAGE_FOUND) - SET(LIBS ${LIBS} ${FREEIMAGE_LIBRARIES}) - INCLUDE_DIRECTORIES(${FREEIMAGE_INCLUDE_PATH}) + SET(LIBS ${LIBS} ${FREEIMAGE_LIBRARIES}) + INCLUDE_DIRECTORIES(${FREEIMAGE_INCLUDE_PATH}) ENDIF(FREEIMAGE_FOUND) # targets ADD_DEFINITIONS(-DNVIMAGE_EXPORTS) IF(NVIMAGE_SHARED) - ADD_DEFINITIONS(-DNVIMAGE_SHARED=1) - ADD_LIBRARY(nvimage SHARED ${IMAGE_SRCS}) + ADD_DEFINITIONS(-DNVIMAGE_SHARED=1) + ADD_LIBRARY(nvimage SHARED ${IMAGE_SRCS} $ $ $) ELSE(NVIMAGE_SHARED) - ADD_LIBRARY(nvimage ${IMAGE_SRCS}) + ADD_LIBRARY(nvimage ${IMAGE_SRCS} $ $ $) ENDIF(NVIMAGE_SHARED) -TARGET_LINK_LIBRARIES(nvimage ${LIBS} nvcore posh bc6h bc7 nvmath) +TARGET_LINK_LIBRARIES(nvimage ${LIBS} nvcore nvmath) INSTALL(TARGETS nvimage - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib/static) + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib/static) + +INSTALL(FILES nvimage.h DirectDrawSurface.h Image.h DESTINATION include/nvimage) + diff --git a/src/nvtt/CMakeLists.txt b/src/nvtt/CMakeLists.txt index 9f1e394..05f95c2 100644 --- a/src/nvtt/CMakeLists.txt +++ b/src/nvtt/CMakeLists.txt @@ -3,56 +3,57 @@ PROJECT(nvtt) ADD_SUBDIRECTORY(squish) SET(NVTT_SRCS - nvtt.h nvtt.cpp - nvtt_wrapper.h nvtt_wrapper.cpp - ClusterFit.h ClusterFit.cpp - Compressor.h - BlockCompressor.h BlockCompressor.cpp - CompressorDX9.h CompressorDX9.cpp - CompressorDX10.h CompressorDX10.cpp - CompressorDX11.h CompressorDX11.cpp - CompressorDXT1.h CompressorDXT1.cpp - CompressorDXT5_RGBM.h CompressorDXT5_RGBM.cpp - CompressorRGB.h CompressorRGB.cpp - Context.h Context.cpp - QuickCompressDXT.h QuickCompressDXT.cpp - OptimalCompressDXT.h OptimalCompressDXT.cpp - SingleColorLookup.h SingleColorLookup.cpp - CompressionOptions.h CompressionOptions.cpp - InputOptions.h InputOptions.cpp - OutputOptions.h OutputOptions.cpp - TaskDispatcher.h #TaskDispatcher.cpp - Surface.h Surface.cpp - CubeSurface.h CubeSurface.cpp - cuda/CudaUtils.h cuda/CudaUtils.cpp - cuda/CudaMath.h - cuda/BitmapTable.h - cuda/CudaCompressorDXT.h cuda/CudaCompressorDXT.cpp) + nvtt.h nvtt.cpp + nvtt_wrapper.h nvtt_wrapper.cpp + ClusterFit.h ClusterFit.cpp + Compressor.h + BlockCompressor.h BlockCompressor.cpp + CompressorDX9.h CompressorDX9.cpp + CompressorDX10.h CompressorDX10.cpp + CompressorDX11.h CompressorDX11.cpp + CompressorDXT1.h CompressorDXT1.cpp + CompressorDXT5_RGBM.h CompressorDXT5_RGBM.cpp + CompressorRGB.h CompressorRGB.cpp + Context.h Context.cpp + QuickCompressDXT.h QuickCompressDXT.cpp + OptimalCompressDXT.h OptimalCompressDXT.cpp + SingleColorLookup.h SingleColorLookup.cpp + CompressionOptions.h CompressionOptions.cpp + InputOptions.h InputOptions.cpp + OutputOptions.h OutputOptions.cpp + TaskDispatcher.h #TaskDispatcher.cpp + Surface.h Surface.cpp + CubeSurface.h CubeSurface.cpp + cuda/CudaUtils.h cuda/CudaUtils.cpp + cuda/CudaMath.h + cuda/BitmapTable.h + cuda/CudaCompressorDXT.h cuda/CudaCompressorDXT.cpp) IF (CUDA_FOUND) - ADD_DEFINITIONS(-DHAVE_CUDA) - CUDA_COMPILE(CUDA_SRCS cuda/CompressKernel.cu) - SET(NVTT_SRCS ${NVTT_SRCS} ${CUDA_SRCS}) - SET(LIBS ${LIBS} ${CUDA_LIBRARIES}) - INCLUDE_DIRECTORIES(${CUDA_INCLUDE_DIRS}) + ADD_DEFINITIONS(-DHAVE_CUDA) + CUDA_COMPILE(CUDA_SRCS cuda/CompressKernel.cu) + SET(NVTT_SRCS ${NVTT_SRCS} ${CUDA_SRCS}) + SET(LIBS ${LIBS} ${CUDA_LIBRARIES}) + INCLUDE_DIRECTORIES(${CUDA_INCLUDE_DIRS}) ENDIF (CUDA_FOUND) INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) ADD_DEFINITIONS(-DNVTT_EXPORTS) -IF(NVTT_SHARED) - ADD_LIBRARY(nvtt SHARED ${NVTT_SRCS}) +IF(NVTT_SHARED) + ADD_LIBRARY(nvtt SHARED ${NVTT_SRCS} $) ELSE(NVTT_SHARED) - ADD_LIBRARY(nvtt ${NVTT_SRCS}) + ADD_LIBRARY(nvtt ${NVTT_SRCS} $) 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) diff --git a/src/nvtt/squish/CMakeLists.txt b/src/nvtt/squish/CMakeLists.txt index 832013e..337d55d 100644 --- a/src/nvtt/squish/CMakeLists.txt +++ b/src/nvtt/squish/CMakeLists.txt @@ -20,7 +20,7 @@ SET(SQUISH_SRCS simd_sse.h simd_ve.h) -ADD_LIBRARY(squish STATIC ${SQUISH_SRCS}) +ADD_LIBRARY(squish OBJECT ${SQUISH_SRCS}) IF(NOT WIN32) @@ -32,4 +32,3 @@ IF(NOT WIN32) SET_TARGET_PROPERTIES(squish PROPERTIES COMPILE_FLAGS -fPIC) ENDIF(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANGXX) ENDIF(NOT WIN32) - diff --git a/src/nvtt/tests/CMakeLists.txt b/src/nvtt/tests/CMakeLists.txt index 4a3a6de..8470731 100644 --- a/src/nvtt/tests/CMakeLists.txt +++ b/src/nvtt/tests/CMakeLists.txt @@ -26,7 +26,7 @@ ADD_EXECUTABLE(cubemaptest cubemaptest.cpp) TARGET_LINK_LIBRARIES(cubemaptest nvcore nvmath nvimage nvtt) 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) diff --git a/src/nvtt/tools/CMakeLists.txt b/src/nvtt/tools/CMakeLists.txt index 5459bd1..6f104a8 100644 --- a/src/nvtt/tools/CMakeLists.txt +++ b/src/nvtt/tools/CMakeLists.txt @@ -1,21 +1,21 @@ 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) -TARGET_LINK_LIBRARIES(nvdecompress nvcore nvimage nvtt bc6h nvmath) +TARGET_LINK_LIBRARIES(nvdecompress nvcore nvimage nvtt nvmath) 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) -TARGET_LINK_LIBRARIES(nvimgdiff nvcore nvtt bc6h nvmath) +TARGET_LINK_LIBRARIES(nvimgdiff nvcore nvtt nvmath) 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) -TARGET_LINK_LIBRARIES(nvzoom nvcore nvimage nvtt bc6h nvmath) +TARGET_LINK_LIBRARIES(nvzoom nvcore nvimage nvtt nvmath) 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) -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)