diff --git a/CMakeLists.txt b/CMakeLists.txt index 7ff44a9e54b0b06993fe290aa7a02b7b85abe90d..5cbcf50f23e4a28060bdbd465c9ca71e1b19fd16 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -9,6 +9,18 @@ if( NOT DEFINED ITA_CONVOLUTION_UPCONV_WITH_POWER_SAVER ) set( ITA_CONVOLUTION_UPCONV_WITH_POWER_SAVER ON CACHE BOOL "Use power saving mode for uniform partitioned convolution (do not convolve blocks with zeros)" ) endif( ) +if( NOT DEFINED ITA_CONVOLUTION_WITH_NUPCONV ) + set( ITA_CONVOLUTION_WITH_NUPCONV OFF CACHE BOOL "Build with non-uniform partitioned convolution engine" ) +endif( ) + +if( NOT DEFINED ITA_CONVOLUTION_NUPCONV_WITH_PERFORMANCE_LOGGER ) + set( ITA_CONVOLUTION_NUPCONV_WITH_PERFORMANCE_LOGGER OFF CACHE BOOL "Include performance logger for non-uniform partitioned convolution" ) +endif( ) + +if( NOT DEFINED ITA_CONVOLUTION_NUPCONV_WITH_XML_READER ) + set( ITA_CONVOLUTION_NUPCONV_WITH_XML_READER OFF CACHE BOOL "Include XML read/write file format for non-uniform partitioned convolution filter segmentation" ) +endif( ) + # dependencies vista_use_package( ITABase REQUIRED FIND_DEPENDENCIES ) vista_use_package( ITAFFT REQUIRED FIND_DEPENDENCIES ) @@ -34,8 +46,12 @@ set( ITAConvolutionSources "src/ITADirectConvolution.cpp" "src/ITADirectConvolutionImpl.cpp" "src/ITADirectConvolutionImpl.h" - ) + ) +if( ITA_CONVOLUTION_WITH_NUPCONV ) + list( APPEND ITAConvolutionHeader "include/LLC.h" "include/LLCDefinitions.h" "include/LLCFilter.h" ) + include( "src/LLC/_SourceFiles.cmake" ) +endif( ) # compiler settings if( ITA_VISTA_BUILD_STATIC ) @@ -51,13 +67,17 @@ if( NOT WIN32 ) add_definitions( -std=gnu++11) endif( ) -if( ITA_CONVOLUTION_UPCONV_WITH_POWER_SAVER ) - add_definitions( -DITA_CONVOLUTION_UPCONV_WITH_POWER_SAVER ) +if( ITA_CONVOLUTION_NUPCONV_WITH_PERFORMANCE_LOGGER ) + add_definitions( -DITA_CONVOLUTION_NUPCONV_WITH_PERFORMANCE_LOGGER ) +endif( ) + +if( ITA_CONVOLUTION_NUPCONV_WITH_XML_READER ) + add_definitions( -DITA_CONVOLUTION_NUPCONV_WITH_XML_READER ) endif( ) # linker -add_library( ITAConvolution ${ITAConvolutionHeader} ${ITAConvolutionSources} ) +add_library( ITAConvolution ${ITAConvolutionHeader} ${ITAConvolutionSources} ${ProjectSources} ) target_link_libraries( ITAConvolution ${VISTA_USE_PACKAGE_LIBRARIES} )